积分购买 添加邮件通知

This commit is contained in:
2024-12-31 11:38:12 +08:00
parent ca4d75c63f
commit 1157b41730
2 changed files with 47 additions and 0 deletions

View File

@@ -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");
}
}
}

View File

@@ -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();