谭斌 1 жил өмнө
parent
commit
7ac6d199db

+ 14 - 0
sys-api-service/src/main/java/com/xy/service/AliSmsServiceImpl.java

@@ -41,6 +41,20 @@ public class AliSmsServiceImpl implements AliSmsService {
         return R.ok();
     }
 
+    @Override
+    public R sendCodeByUserInfo(SmsSendDTO smsSendDTO) {
+        String mobile = smsSendDTO.getMobile();
+        Integer scene = smsSendDTO.getScene();
+        Long userInfoId = smsSendDTO.getUserInfoId();
+        SmsSceneEnum smsSceneEnum = SmsSceneEnum.getCodeByScene(scene);
+        if (smsSceneEnum == null) {
+            throw new CommRuntimeException("发送场景有误!");
+        }
+        //发短信验证码
+        smsUtil.sendSmsCode(mobile, smsSceneEnum, String.valueOf(userInfoId));
+        return R.ok();
+    }
+
     @Override
     public R<Boolean> verifyCode(SmsDTO.Validation smsDTO) {
 

+ 6 - 0
sys-api-service/src/main/java/com/xy/service/MsgSysMonitorNoticeServiceImpl.java

@@ -76,7 +76,13 @@ public class MsgSysMonitorNoticeServiceImpl extends ServiceImpl<MsgSysMonitorNot
         save(saveInfo);
         Long userId = save.getUserId();
         if (userId != null) {
+            String channelType = save.getChannelType();
+
             MsgUserMessageDto.Save mum = new MsgUserMessageDto.Save();
+            if ("ORDER_CUT".equals(channelType)) {
+                //补扣设置为已读
+                mum.setReadState("2");
+            }
             mum.setMsgId(saveInfo.getMsgId());
             mum.setMsgType(saveInfo.getMsgType());
             mum.setPriority(saveInfo.getPriority());

+ 21 - 1
sys-api-service/src/main/java/com/xy/service/MsgUserMessageServiceImpl.java

@@ -10,6 +10,7 @@ import com.xy.dto.MsgUserMessageDto;
 import com.xy.entity.MsgSysMonitorNotice;
 import com.xy.entity.MsgUserMessage;
 import com.xy.enums.MsgReadStatus;
+import com.xy.enums.MsgType;
 import com.xy.mapper.MsgUserMessageMapper;
 import com.xy.utils.*;
 import io.swagger.annotations.Api;
@@ -19,6 +20,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -102,12 +104,30 @@ public class MsgUserMessageServiceImpl extends ServiceImpl<MsgUserMessageMapper,
     @ApiOperation("我的消息")
     @Override
     public R<PageBean<MsgUserMessageDto.PageVO>> myMsgPage(MsgUserMessageDto.Page page) {
+        //类型 1故障通知、2交易通知、3其他通知
+        String type = page.getType();
+        Integer msgType = null;
+        List<Integer> msgTypes = new ArrayList<>();
+        List<Integer> msgTypesNotIn = new ArrayList<>();
+        if ("1".equals(type)) {
+            msgTypes.add(MsgType.TYPE6.getCode());
+        }
+        if ("2".equals(type)) {
+            msgTypes.add(MsgType.TYPE8.getCode());
+        }
+        if ("3".equals(type)) {
+            msgTypesNotIn.add(MsgType.TYPE6.getCode());
+            msgTypesNotIn.add(MsgType.TYPE8.getCode());
+        }
         page.setUserId(AuthorizeUtils.getLoginId(Long.class));
         PageBean pageBean = page.getPage();
         LambdaQueryWrapper<MsgUserMessage> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, MsgUserMessage.class)
                 .ge(MsgUserMessage::getCreateTime, page.getBeginCreateTime())
                 .le(MsgUserMessage::getCreateTime, page.getEndCreateTime())
-                .build().orderByDesc(MsgUserMessage::getCreateTime);
+                .build()
+                .in(CollUtil.isNotEmpty(msgTypes), MsgUserMessage::getMsgType, msgTypes)
+                .notIn(CollUtil.isNotEmpty(msgTypesNotIn), MsgUserMessage::getMsgType, msgTypesNotIn)
+                .orderByDesc(MsgUserMessage::getCreateTime);
         IPage<MsgUserMessage> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
         PageBean<MsgUserMessageDto.PageVO> pageVo = toPageBean(MsgUserMessageDto.PageVO.class, iPage);
         List<MsgUserMessageDto.PageVO> records = pageVo.getRecords();

+ 2 - 1
sys-api-service/src/main/java/com/xy/service/SmsUtilAliImplService.java

@@ -7,6 +7,7 @@ import cn.hutool.json.JSONUtil;
 import com.xy.dto.MsgConfigDto;
 import com.xy.dto.MsgConfigTestDto;
 import com.xy.enums.ChannelType;
+import com.xy.enums.MsgConfigId;
 import com.xy.enums.SmsSceneEnum;
 import com.xy.utils.R;
 import com.xy.utils.RedisService;
@@ -79,7 +80,7 @@ public class SmsUtilAliImplService implements SmsUtil {
     public void sendSmsCode(String mobile, SmsSceneEnum smsSceneEnum, String uid) {
         //验证码
         String code = getRandomNum();
-        Long configId = 15L;
+        Long configId = MsgConfigId.SMS_CODE.getId();
         MsgConfigDto.Vo msgConfig = R.feignCheckData(msgSendApiService.getMsgConfig(new MsgConfigDto.Vo().setId(configId)));
         List<MsgConfigTestDto.BizParam> bizParams = R.feignCheckData(msgSendApiService.getBizParamByMsgConfig(new MsgConfigTestDto.MsgConfig().setConfigId(configId)));
         if (CollUtil.isNotEmpty(bizParams) && msgConfig != null) {

+ 3 - 0
sys-api/src/main/java/com/xy/dto/MsgUserMessageDto.java

@@ -29,6 +29,9 @@ public class MsgUserMessageDto {
     @Accessors(chain = true)
     public static class Page extends Vo {
 
+        @ApiModelProperty(value = "类型(1故障通知、2交易通知、3其他通知)", required = false)
+        private String type;
+
         @ApiModelProperty(value = "分页对象", required = true)
         private PageBean page;
 

+ 3 - 0
sys-api/src/main/java/com/xy/dto/SmsSendDTO.java

@@ -17,5 +17,8 @@ public class SmsSendDTO {
     @NotNull(message = "发送场景不能为空")
     private Integer scene;
 
+    @ApiModelProperty(value = "用户ID")
+    private Long userInfoId;
+
 
 }

+ 2 - 1
sys-api/src/main/java/com/xy/enums/MsgConfigId.java

@@ -18,7 +18,8 @@ public enum MsgConfigId {
 
     RISK_ORDER(14L, "异常订单通知"),
     CUT_ORDER(13L, "补扣成功通知"),
-    DEVICE_EXCEPTION(12L, "设备故障提醒");
+    DEVICE_EXCEPTION(12L, "设备故障提醒"),
+    SMS_CODE(15L, "短信验证码");
 
     /**
      * 编码值

+ 4 - 1
sys-api/src/main/java/com/xy/enums/SmsSceneEnum.java

@@ -16,7 +16,10 @@ public enum SmsSceneEnum {
 
     B_WX_MINI_BIND(1, "B端设置 - 绑定微信小程序"),
     B_WX_MP_BIND(2, "B端设置 - 绑定微信公众号"),
-    B_ALIPAY_BIND(3, "B端设置 - 绑定支付宝");
+    B_ALIPAY_BIND(3, "B端设置 - 绑定支付宝"),
+    B_PAY_ACCOUNT_WX_CONFIG(4, "商户信息修改 - 微信收款号配置"),
+    B_PAY_ACCOUNT_ALIPAY_SCAN_CONFIG(5, "商户信息修改 - 支付宝扫码收款号配置"),
+    B_PAY_ACCOUNT_ALIPAY_FACE_CONFIG(6, "商户信息修改 - 支付刷脸收款号配置");
 
 
     /**

+ 4 - 0
sys-api/src/main/java/com/xy/service/AliSmsService.java

@@ -15,6 +15,10 @@ public interface AliSmsService {
     @PostMapping("sendCode")
     R sendCode(@RequestBody @Validated SmsSendDTO smsSendDTO);
 
+
+    @PostMapping("sendCodeByUserInfo")
+    R sendCodeByUserInfo(@RequestBody @Validated SmsSendDTO smsSendDTO);
+
     /**
      * 验证码验证
      *

+ 1 - 1
sys-sdk/src/main/java/com/xy/utils/LogUtils.java

@@ -114,7 +114,7 @@ public class LogUtils {
      *
      * @return
      */
-    private static String getIp() {
+    public static String getIp() {
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
         String ipAddress;
         try {