Переглянути джерело

fixed 余额积分变更短信通知功能

fushengqian 1 рік тому
батько
коміт
85761b83bf

+ 25 - 0
fuint-application/src/main/java/com/fuint/common/service/impl/BalanceServiceImpl.java

@@ -9,6 +9,7 @@ import com.fuint.common.enums.StatusEnum;
 import com.fuint.common.enums.WxMessageEnum;
 import com.fuint.common.service.BalanceService;
 import com.fuint.common.service.MemberService;
+import com.fuint.common.service.SendSmsService;
 import com.fuint.common.service.WeixinService;
 import com.fuint.common.util.CommonUtil;
 import com.fuint.common.util.DateUtil;
@@ -27,6 +28,8 @@ import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Service;
@@ -44,6 +47,8 @@ import java.util.*;
 @AllArgsConstructor
 public class BalanceServiceImpl extends ServiceImpl<MtBalanceMapper, MtBalance> implements BalanceService {
 
+    private static final Logger logger = LoggerFactory.getLogger(BalanceServiceImpl.class);
+
     private MtBalanceMapper mtBalanceMapper;
 
     private MtUserMapper mtUserMapper;
@@ -58,6 +63,11 @@ public class BalanceServiceImpl extends ServiceImpl<MtBalanceMapper, MtBalance>
      * */
     private MemberService memberService;
 
+    /**
+     * 短信发送服务接口
+     * */
+    private SendSmsService sendSmsService;
+
     /**
      * 分页查询余额列表
      *
@@ -175,6 +185,21 @@ public class BalanceServiceImpl extends ServiceImpl<MtBalanceMapper, MtBalance>
         }
         mtBalanceMapper.insert(mtBalance);
 
+        try {
+            List<String> mobileList = new ArrayList<>();
+            mobileList.add(mtUser.getMobile());
+            Map<String, String> params = new HashMap<>();
+            String action = "";
+            if (mtBalance.getAmount().compareTo(new BigDecimal("0")) > 0) {
+                action = "+";
+            }
+            params.put("amount", action + String.format("%.2f", mtBalance.getAmount()));
+            params.put("balance", String.format("%.2f", mtUser.getBalance()));
+            sendSmsService.sendSms(mtUser.getMerchantId(), "balance-change", mobileList, params);
+        } catch (Exception e) {
+            logger.error("余额变动短信发送失败:{}", e.getMessage());
+        }
+
         // 发送小程序订阅消息
         Date nowTime = new Date();
         Date sendTime = new Date(nowTime.getTime() + 60000);

+ 1 - 2
fuint-application/src/main/java/com/fuint/common/service/impl/MerchantServiceImpl.java

@@ -166,7 +166,7 @@ public class MerchantServiceImpl extends ServiceImpl<MtMerchantMapper, MtMerchan
     /**
      * 根据商户号获取商户信息
      *
-     * @param  merchantNo 商户号
+     * @param merchantNo 商户号
      * @return
      */
     @Override
@@ -189,7 +189,6 @@ public class MerchantServiceImpl extends ServiceImpl<MtMerchantMapper, MtMerchan
        if (mtMerchant != null) {
            return  mtMerchant.getId();
        } else {
-           logger.error("根据商户号获取商户ID,该商户不存在!");
            return 0;
        }
     }

+ 27 - 0
fuint-application/src/main/java/com/fuint/common/service/impl/PointServiceImpl.java

@@ -8,6 +8,7 @@ import com.fuint.common.enums.StatusEnum;
 import com.fuint.common.enums.WxMessageEnum;
 import com.fuint.common.service.MemberService;
 import com.fuint.common.service.PointService;
+import com.fuint.common.service.SendSmsService;
 import com.fuint.common.service.WeixinService;
 import com.fuint.common.util.DateUtil;
 import com.fuint.framework.annoation.OperationServiceLog;
@@ -23,10 +24,14 @@ import com.github.pagehelper.PageHelper;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
 import com.github.pagehelper.Page;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
 import java.util.*;
 
 /**
@@ -39,10 +44,17 @@ import java.util.*;
 @AllArgsConstructor
 public class PointServiceImpl extends ServiceImpl<MtPointMapper, MtPoint> implements PointService {
 
+    private static final Logger logger = LoggerFactory.getLogger(PointServiceImpl.class);
+
     private MtPointMapper mtPointMapper;
 
     private MtUserMapper mtUserMapper;
 
+    /**
+     * 短信发送服务接口
+     * */
+    private SendSmsService sendSmsService;
+
     /**
      * 会员服务接口
      * */
@@ -163,6 +175,21 @@ public class PointServiceImpl extends ServiceImpl<MtPointMapper, MtPoint> implem
         mtUserMapper.updateById(mtUser);
         mtPointMapper.insert(mtPoint);
 
+        try {
+            List<String> mobileList = new ArrayList<>();
+            mobileList.add(mtUser.getMobile());
+            Map<String, String> params = new HashMap<>();
+            String action = "";
+            if (mtPoint.getAmount() > 0) {
+                action = "+";
+            }
+            params.put("amount", action + mtPoint.getAmount().toString());
+            params.put("balance", mtUser.getPoint().toString());
+            sendSmsService.sendSms(mtUser.getMerchantId(), "points-change", mobileList, params);
+        } catch (Exception e) {
+            logger.error("积分变动短信发送失败:{}", e.getMessage());
+        }
+
         // 发送小程序订阅消息
         Date nowTime = new Date();
         Date sendTime = new Date(nowTime.getTime() + 60000);

+ 1 - 1
fuint-application/src/main/java/com/fuint/module/clientApi/controller/ClientUserController.java

@@ -149,7 +149,7 @@ public class ClientUserController extends BaseController {
         outParams.put("isMerchant", isMerchant);
 
         // 是否开通微信会员卡
-        if (StringUtil.isNotEmpty(mtUser.getOpenId())) {
+        if (mtUser != null && StringUtil.isNotEmpty(mtUser.getOpenId())) {
             MtSetting cardSetting = settingService.querySettingByName(mtUser.getMerchantId(), UserSettingEnum.OPEN_WX_CARD.getKey());
             if (cardSetting != null && cardSetting.getValue().equals(YesOrNoEnum.TRUE.getKey())) {
                 MtSetting cardIdSetting = settingService.querySettingByName(mtUser.getMerchantId(), UserSettingEnum.WX_MEMBER_CARD_ID.getKey());