From 85d79601323db0ed9ab235e3648cc781719be58f Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 30 Apr 2025 15:56:31 +0800
Subject: [PATCH] refactor(febs): 修改活动更新接口参数
---
src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 49 insertions(+), 5 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java
index 5a2774e..56ddd88 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java
@@ -52,6 +52,12 @@
public class XcxPayServiceImpl implements IXcxPayService {
@Autowired
+ private HappyActivityOrderMapper happyActivityOrderMapper;
+
+ @Autowired
+ private HappyActivityMapper happyActivityMapper;
+
+ @Autowired
private MallOrderInfoMapper mallOrderInfoMapper;
@Autowired
private MallMemberMapper mallMemberMapper;
@@ -206,6 +212,27 @@
}
@Override
+ public BrandWCPayRequestData startPaymentActivity(HappyActivityOrder dto) throws Exception {
+ BigDecimal unit = new BigDecimal("100");
+ BigDecimal money = new BigDecimal(dto.getAmount().toString());
+ BrandWCPayRequestData payData;
+ HappyActivity happyActivity = happyActivityMapper.selectById(dto.getActivityId());
+ String productNames = getActivityNames(happyActivity.getId(),dto.getNumCnt());
+ MallMember mallMember = mallMemberMapper.selectById(dto.getMemberId());
+ Boolean debug = xcxProperties.getDebug();
+ if (debug) {
+ payData = weixinServiceUtil.createActivityOrder("[测试]" + productNames, dto.getOrderNo(),
+ 1, mallMember.getOpenId(), String.valueOf(dto.getId()));
+ } else {
+ payData = weixinServiceUtil.createActivityOrder(productNames, dto.getOrderNo(),
+ unit.multiply(money).intValue(),mallMember.getOpenId(), String.valueOf(dto.getId()));
+ }
+ dto.setWxOrderNo(payData.getPrepay_id());
+ happyActivityOrderMapper.updateById(dto);
+ return payData;
+ }
+
+ @Override
public void pushOrderToAddress(OrderStateDto info) {
RestTemplate restTemplate = new RestTemplate();
String url = WechatConfigure.SEND_INFO_URL + redisUtils.get(WechatConfigure.WX_ACCESS_TOKEN_REDIS_KEY);
@@ -320,8 +347,8 @@
}
if (type == 3) {
- String openId = wxGenerateQrCodeDto.getTypeParam();
- MallMember member = mallMemberMapper.selectMemberByOpenId(openId);
+ String inviteId = wxGenerateQrCodeDto.getTypeParam();
+ MallMember member = mallMemberMapper.selectInfoByInviteId(inviteId);
if(ObjectUtil.isNotNull(member)){
String wxCodeImg = member.getInviteImg();
if(StrUtil.isNotBlank(wxCodeImg)){
@@ -347,8 +374,8 @@
}
if (type == 3) {
- String openId = wxGenerateQrCodeDto.getTypeParam();
- MallMember member = mallMemberMapper.selectMemberByOpenId(openId);
+ String inviteId = wxGenerateQrCodeDto.getTypeParam();
+ MallMember member = mallMemberMapper.selectInfoByInviteId(inviteId);
if(ObjectUtil.isNotNull(member)){
member.setInviteImg(codeImgPath);
mallMemberMapper.updateById(member);
@@ -414,7 +441,7 @@
//图片上传路径
public static final String IMG_UPLOAD_PATH="/mnt/sdc/webresource/blnka/wxcode";
public String generateAcode(String scene,String path,String imgName,String width, Integer type){
- String urlPrefix="https://hwfile.csxuncong.com/blnka/wxcode";
+ String urlPrefix="https://file.blnka.cn/blnka/wxcode";
String imgPath=IMG_UPLOAD_PATH+imgName;
if(!FileUtil.exist(imgPath)){
@@ -509,4 +536,21 @@
}
return productNames;
}
+
+ /**
+ * 根据用户ID和订单ID获取所购买商品名称
+ * @return 所含商品名称(多个以","隔开)
+ */
+ public String getActivityNames(Long activityId,Integer numCnt) {
+ HappyActivity happyActivity = happyActivityMapper.selectById(activityId);
+ StringBuffer productNameBuffer = new StringBuffer();
+ Integer maxLength = 25;
+ String goodsName = happyActivity.getName();
+ if (goodsName.length() > maxLength) {
+ productNameBuffer.append(goodsName.substring(0, maxLength) + "*"+numCnt);
+ }else{
+ productNameBuffer.append(goodsName+"*"+numCnt);
+ }
+ return productNameBuffer.toString();
+ }
}
--
Gitblit v1.9.1