diff --git a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java index 048f65af..712cffc8 100644 --- a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java +++ b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java @@ -985,4 +985,44 @@ public class SendEmailUtil { } } + private final static Long CREDITS_PURCHASE_MERCHANT = 133275L; + + public static void creditsPurchaseReminder(String username, String quantity, String amount) { + try { + Credential cred = new Credential(SECRET_ID, SECRET_KEy); + // 实例化一个http选项,可选的,没有特殊需求可以跳过 + HttpProfile httpProfile = new HttpProfile(); + httpProfile.setEndpoint("ses.tencentcloudapi.com"); + // 实例化一个client选项,可选的,没有特殊需求可以跳过 + ClientProfile clientProfile = new ClientProfile(); + clientProfile.setHttpProfile(httpProfile); + // 实例化要请求产品的client对象,clientProfile是可选的 + SesClient client = new SesClient(cred, "ap-hongkong", clientProfile); + // 实例化一个请求对象,每个接口都会对应一个request对象 + SendEmailRequest req = new SendEmailRequest(); + req.setFromEmailAddress(SEND_ADDRESS); + String merchantEmail = "kimwong@code-create.com.hk"; + String developerEmail = "xupei@code-create.com.hk"; + req.setDestination(new String[]{merchantEmail, developerEmail}); + Template template = new Template(); + req.setSubject("New Credit Purchase Order"); + template.setTemplateID(CREDITS_PURCHASE_MERCHANT); + JSONObject jsonObject = new JSONObject(); + // 设置试用订单相关数据 + jsonObject.put("userName", username); + jsonObject.put("quantity", quantity); + jsonObject.put("totalFee", amount); + + template.setTemplateData(JSON.toJSONString(jsonObject)); + req.setTemplate(template); + + // 返回的resp是一个SendEmailResponse的实例,与请求对象对应 + SendEmailResponse resp = client.SendEmail(req); + log.info("短信发送结果res###{}", SendEmailResponse.toJsonString(resp)); + } catch (TencentCloudSDKException e) { + log.info("邮件发送失败###{}", e.toString()); + throw new BusinessException("failed.to.send.mail"); + } + } + } diff --git a/src/main/java/com/ai/da/service/impl/AlipayHKServiceImpl.java b/src/main/java/com/ai/da/service/impl/AlipayHKServiceImpl.java index 417a03bd..910129ef 100644 --- a/src/main/java/com/ai/da/service/impl/AlipayHKServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AlipayHKServiceImpl.java @@ -6,6 +6,8 @@ import com.ai.da.common.enums.OrderStatusEnum; import com.ai.da.common.enums.PayTypeEnum; import com.ai.da.common.utils.AlipayHKEncryptionUtil; import com.ai.da.common.utils.AlipayHKRequestUtil; +import com.ai.da.common.utils.SendEmailUtil; +import com.ai.da.mapper.primary.AccountMapper; import com.ai.da.mapper.primary.entity.OrderInfo; import com.ai.da.model.dto.AlipayHKCallbackDTO; import com.ai.da.model.dto.AlipayHKRequestDTO; @@ -54,6 +56,8 @@ public class AlipayHKServiceImpl implements AlipayHKService { private AlipayHKEncryptionUtil alipayHKEncryptionUtil; @Resource private AlipayHKRequestUtil alipayHKRequestUtil; + @Resource + private AccountMapper accountMapper; /** @@ -251,6 +255,9 @@ public class AlipayHKServiceImpl implements AlipayHKService { "positive", orderByOrderNo.getOrderNo()); log.info("用户:{} 积分信息更新成功",orderByOrderNo.getAccountId()); + // 邮件通知Kim + String username = accountMapper.selectById(orderByOrderNo.getAccountId()).getUserName(); + SendEmailUtil.creditsPurchaseReminder(username, String.valueOf(quantity), totalAmount); } finally { //要主动释放锁 lock.unlock();