Просмотр исходного кода

Merge remote-tracking branch 'origin/dev' into dev

zk 2 лет назад
Родитель
Сommit
034ee59e56

+ 56 - 11
sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/enums/MessageEnum.java

@@ -15,58 +15,103 @@ public enum MessageEnum {
      * 上架商品
      */
     PRODUCT_ON_SHELVES("SYSTEM", "SYSTEM_PRODUCT_ON_SHELVES", "商品已上架",
-            "贵司的商品:${productName},已上架至商城中,请确认相关信息","terminal,ios,android"),
+            "贵司的商品:${productName},已上架至商城中,请确认相关信息", "terminal,ios,android"),
     /**
      * 下架商品
      */
     PRODUCT_REMOVED_SHELVES("SYSTEM", "SYSTEM_PRODUCT_REMOVED_SHELVES", "商品已下架",
-            "贵司的商品:${productName},已从商城中下架了,请确认相关信息","terminal,ios,android"),
+            "贵司的商品:${productName},已从商城中下架了,请确认相关信息", "terminal,ios,android"),
     /**
      * 采发起采购下单
      */
     ORDER_INITIATE_PURCHASE("BUSINESS", "BUSINESS_ORDER_INITIATE_PURCHASE", "发起采购下单",
-            "贵司发起了对【${firmName}】的商品采购申请,请留意后续消息;订单号:${orderNo}","terminal,ios,android"),
+            "贵司发起了对【${firmName}】的商品采购申请,请留意后续消息;订单号:${orderNo}", "terminal,ios,android"),
     /**
      * 有新的待受理订单
      */
     ORDER_NEW_PENDING("BUSINESS", "BUSINESS_ORDER_NEW_PENDING", "有新的待受理订单",
-                                   "【${firmName}】发起采购申请,请及时进行受理;订单号:${orderNo}","terminal,ios,android"),
+            "【${firmName}】发起采购申请,请及时进行受理;订单号:${orderNo}", "terminal,ios,android"),
     /**
      * 发起代客下单
      */
     ORDER_INITIATE_SALE("BUSINESS", "BUSINESS_ORDER_INITIATE_SALE", "发起代客下单",
-                           "贵司已代【${firmName}】发起了商品采购,请及时联系往来单位;订单号:${orderNo}","terminal,ios,android"),
+            "贵司已代【${firmName}】发起了商品采购,请及时联系往来单位;订单号:${orderNo}", "terminal,ios,android"),
     /**
      * 有新的代客下单信息
      */
     ORDER_NEW_VALET_MSG("BUSINESS", "BUSINESS_ORDER_NEW_VALET_MSG", "有新的代客下单信息",
-            "【${firmName}】代您发起了商品采购,请确认;订单号:${orderNo}","terminal,ios,android"),
+            "【${firmName}】代您发起了商品采购,请确认;订单号:${orderNo}", "terminal,ios,android"),
     /**
      * 驳回采购订单
      */
     ORDER_REJECT_VALET("BUSINESS", "BUSINESS_ORDER_REJECT_VALET", "驳回采购订单",
-            "贵司驳回了【${firmName}】的采购申请,请及时通知采购单位;订单号:${orderNo}","terminal,ios,android"),
+            "贵司驳回了【${firmName}】的采购申请,请及时通知采购单位;订单号:${orderNo}", "terminal,ios,android"),
     /**
      * 采购订单被驳回
      */
     ORDER_REJECT_PURCHASE("BUSINESS", "BUSINESS_ORDER_REJECT_PURCHASE", "采购订单被驳回",
-            "您的采购申请被【${firmName}】驳回,请及时查看;订单号:${orderNo}","terminal,ios,android"),
+            "您的采购申请被【${firmName}】驳回,请及时查看;订单号:${orderNo}", "terminal,ios,android"),
     /**
      * 司机拒绝接单
      */
     WAYBILL_REFUSE_SENDCAR_TRIP("BUSINESS", "BUSINESS_WAYBILL_REFUSE_SENDCAR_TRIP", "司机拒绝接单",
-            "贵司指派的运单被拒绝接单了,请及时确认;运单号:${orderNo},司机:${driverName}","terminal,ios,android"),
+            "贵司指派的运单被拒绝接单了,请及时确认;运单号:${orderNo},司机:${driverName}", "terminal,ios,android"),
     /**
      * 司机拒绝接单
      */
     WAYBILL_REFUSE_SENDCAR_CIRCULATE("BUSINESS", "BUSINESS_WAYBILL_REFUSE_SENDCAR_CIRCULATE", "司机拒绝接单",
-            "贵司指派的运单被拒绝接单了,请及时确认;承运单号:${orderNo},司机:${driverName}","terminal,ios,android"),
+            "贵司指派的运单被拒绝接单了,请及时确认;承运单号:${orderNo},司机:${driverName}", "terminal,ios,android"),
 
     /**
      * 司机拒绝出车
      */
     WAYBIL_CONFIRM_DEPARTURE("BUSINESS", "BUSINESS_WAYBIL_CONFIRM_DEPARTURE", "司机拒绝出车",
-            "贵司的运单被拒绝出车了,请及时确认;运单号:${orderNo},司机:${driverName}","terminal,ios,android"),
+            "贵司的运单被拒绝出车了,请及时确认;运单号:${orderNo},司机:${driverName}", "terminal,ios,android"),
+
+
+    /**
+     * 发起企业资质审核
+     */
+    ENT_CERTIFICATE("BUSINESS", "ENT_CERTIFICATE", "发起企业资质审核", "贵司发起了针对【${entName}】的资质认证,已提交至审核部门,请留意后续消息;发起人:${createByName}", "terminal,ios,android"),
+
+    /**
+     * 资质审核通过
+     */
+    ENT_CERTIFICATE_PASS("BUSINESS", "ENT_CERTIFICATE_PASS", "企业资质审核通过", "贵司提交的【${entName}】资质认证,已审核通过;审核人员:${createByName}", "terminal,ios,android"),
+
+    /**
+     * 资质审核驳回
+     */
+    ENT_CERTIFICATE_REFUSED("BUSINESS", "ENT_CERTIFICATE_REFUSED", "企业资质审核驳回", "贵司提交的【${entName}】资质认证,已被审核驳回,请查看驳回原因并及时修改;审核人员:${createByName}", "terminal,ios,android"),
+
+    /**
+     * 发起主体单位资质审核
+     */
+    ENT_DEPT_CERTIFICATE("BUSINESS", "ENT_DEPT_CERTIFICATE", "发起主体单位资质审核", "贵司发起了针对【${entName}】的资质认证,已提交至审核部门,请留意后续消息;发起人:${createByName}", "terminal,ios,android"),
+
+    /**
+     * 主体单位资质审核通过
+     */
+    ENT_DEPT_CERTIFICATE_PASS("BUSINESS", "ENT_DEPT_CERTIFICATE_PASS", "主体单位资质审核通过", "贵司提交的【${entName}】资质认证,已审核通过;审核人员:${createByName}", "terminal,ios,android"),
+
+    /**
+     * 主体单位资质审核驳回
+     */
+    ENT_DEPT_CERTIFICATE_REFUSED("BUSINESS", "ENT_DEPT_CERTIFICATE_REFUSED", "主体单位资质审核驳回", "贵司提交的【${entName}】资质认证,已被审核驳回,请查看驳回原因并及时修改;审核人员:${createByName}", "terminal,ios,android"),
+
+
+    /**
+     * 发起合作申请
+     */
+    SUBMIT_COOPERATE("BUSINESS", "SUBMIT_COOPERATE", "发起合作申请", "贵司发起了与【${entName}】的合作申请,请留意后续消息;发起人:${createByName}", "terminal,ios,android"),
+
+    /**
+     * 合作申请待审核
+     */
+    COOPERATE_WAIT_APPROVAL("BUSINESS", "COOPERATE_WAIT_APPROVAL", "合作申请待审核", "【${entName}】对贵司发起了企业合作申请,请前往确认", "terminal,ios,android"),
+
+
+
     ;
 
     /**

+ 2 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/ManageApplication.java

@@ -2,6 +2,7 @@ package com.sckw.manage;
 
 import com.sckw.remote.annotation.SckwRemoteApplication;
 import com.sckw.startup.annotation.SckwCloudApplication;
+import io.seata.spring.annotation.datasource.EnableAutoDataSourceProxy;
 import org.springframework.boot.SpringApplication;
 
 /**
@@ -11,6 +12,7 @@ import org.springframework.boot.SpringApplication;
  */
 @SckwRemoteApplication
 @SckwCloudApplication
+@EnableAutoDataSourceProxy
 public class ManageApplication {
 
     public static void main(String[] args) {

+ 27 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/CommonBusinessService.java

@@ -6,6 +6,7 @@ import com.sckw.core.model.enums.CooperateStatusEnum;
 import com.sckw.core.model.enums.CooperateTypeEnum;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.StringUtils;
+import com.sckw.core.utils.UUIDUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.manage.dao.KwmCooperateMapper;
@@ -14,13 +15,20 @@ import com.sckw.manage.model.dto.res.CooperateManageQueryResDto;
 import com.sckw.manage.model.entity.KwmCooperate;
 import com.sckw.manage.model.vo.res.CooperateManageQueryResVo;
 import com.sckw.manage.model.vo.res.FindListGroupResVo;
+import com.sckw.stream.enums.MessageEnum;
+import com.sckw.stream.model.SckwMessage;
+import com.sckw.stream.model.UserInfo;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
+import jakarta.annotation.Resource;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -32,6 +40,7 @@ import java.util.stream.Collectors;
  * @date 2023/7/12
  */
 @Service
+@Slf4j
 public class CommonBusinessService {
 
     @DubboReference(version = "1.0.0", group = "design", check = false)
@@ -43,6 +52,10 @@ public class CommonBusinessService {
     @Autowired
     private KwmCooperateMapper kwmCooperateMapper;
 
+    @Resource
+    private StreamBridge streamBridge;
+
+
     /**
      * @param keywords 关键字 resDto查询结果集
      * @desc: 是否匹配到关键字
@@ -328,4 +341,18 @@ public class CommonBusinessService {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
     }
+
+
+    public void sendSystemMessage(List<UserInfo> userInfos, MessageEnum messageEnum, Map<String, Object> map, String msgUrl) {
+        SckwMessage msg = new SckwMessage();
+        msg.setRequestId(UUIDUtils.get32UUID())
+                .setMessageEnum(messageEnum)
+                .setParams(map)
+                .setMsgUrl(msgUrl)
+                .setUserInfos(userInfos)
+                .setCreateBy(LoginUserHolder.getUserId());
+        log.info("合作申请:{}", com.alibaba.fastjson2.JSON.toJSONString(msg));
+        streamBridge.send("sckw-message", com.alibaba.fastjson2.JSON.toJSONString(msg));
+    }
+
 }

+ 12 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateApplyService.java

@@ -31,6 +31,8 @@ import com.sckw.manage.model.vo.req.IdsReqVo;
 import com.sckw.manage.model.vo.req.InitiateReqVo;
 import com.sckw.manage.model.vo.res.CooperateManageQueryResVo;
 import com.sckw.manage.model.vo.res.FindListGroupResVo;
+import com.sckw.stream.enums.MessageEnum;
+import com.sckw.stream.model.UserInfo;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
@@ -264,6 +266,16 @@ public class KwmCooperateApplyService {
         }
         //保存发起申请
         saveInitiate(reqVo, currentEntId, chooseCooperateTypes);
+
+
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(reqVo.getTargetEntId());
+        Map<String, Object> map = new HashMap<>();
+        map.put("entName", entCacheResDto.getFirmName());
+        map.put("createByName", LoginUserHolder.getUserName());
+        commonBusinessService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(LoginUserHolder.getUserId()).setEntId(LoginUserHolder.getEntId())),
+                MessageEnum.SUBMIT_COOPERATE,
+                map,
+                "testUrl");
     }
 
 

+ 25 - 9
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/CommonService.java

@@ -1,17 +1,18 @@
 package com.sckw.system.service;
-import java.util.Date;
+import java.util.*;
 
 import com.alibaba.fastjson.JSON;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.core.utils.IdWorker;
-import com.sckw.core.utils.RegularUtils;
-import com.sckw.core.utils.StringUtils;
+import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.model.EntCertificateInfo;
 import com.sckw.core.web.model.LoginEntInfo;
 import com.sckw.redis.utils.RedissonUtils;
+import com.sckw.stream.enums.MessageEnum;
+import com.sckw.stream.model.SckwMessage;
+import com.sckw.stream.model.UserInfo;
 import com.sckw.system.dao.KwsEnterpriseDao;
 import com.sckw.system.dao.KwsMenuDao;
 import com.sckw.system.dao.KwsMenuRightsDao;
@@ -19,19 +20,18 @@ import com.sckw.system.model.KwsEnterprise;
 import com.sckw.system.model.KwsMenu;
 import com.sckw.system.model.KwsMenuRights;
 import com.sckw.system.model.vo.res.FindEntListResVo;
+import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
 /**
  * @author czh
  * @desc 公共方法
  * @date 2023/6/30
  */
 @Service
+@RequiredArgsConstructor
 public class CommonService {
 
     @Autowired
@@ -43,6 +43,9 @@ public class CommonService {
     @Autowired
     private KwsMenuDao kwsMenuDao;
 
+    private final StreamBridge streamBridge;
+
+
     /**
      * @desc: 更新资质
      * @param: entId 企业id entCertificateInfoList 资质信息
@@ -130,4 +133,17 @@ public class CommonService {
             kwsMenuRightsDao.saveBatch(kwsMenuRightsList);
         }
     }
+
+
+    public void sendSystemMessage(List<UserInfo> userInfos, MessageEnum messageEnum, Map<String, Object> map, String msgUrl) {
+        SckwMessage msg = new SckwMessage();
+        msg.setRequestId(UUIDUtils.get32UUID())
+                .setMessageEnum(messageEnum)
+                .setParams(map)
+                .setMsgUrl(msgUrl)
+                .setUserInfos(userInfos)
+                .setCreateBy(LoginUserHolder.getUserId());
+        streamBridge.send("sckw-message", com.alibaba.fastjson2.JSON.toJSONString(msg));
+    }
+
 }

+ 10 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -1,6 +1,7 @@
 package com.sckw.system.service;
 
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.net.URLEncoder;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.core.exception.SystemException;
@@ -12,6 +13,8 @@ import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.model.EntCertificateInfo;
+import com.sckw.stream.enums.MessageEnum;
+import com.sckw.stream.model.UserInfo;
 import com.sckw.system.api.model.dto.req.RegisterReqDto;
 import com.sckw.system.api.model.dto.res.REnterpriseVo;
 import com.sckw.system.api.model.dto.res.*;
@@ -361,6 +364,13 @@ public class KwsEnterpriseService {
             }
         }
 
+        Map<String, Object> map = new HashMap<>();
+        map.put("entName", kwsEnterprise.getFirmName());
+        map.put("createByName", kwsEnterprise.getContacts());
+        commonService.sendSystemMessage(Collections.singletonList(new UserInfo().setUserId(userId).setEntId(entId)),
+                                        MessageEnum.ENT_CERTIFICATE,
+                                        map,
+                                        "testUrl");
     }
 
     /**

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -431,7 +431,7 @@ public class KwsUserService {
         KwsUser kwsUser = checkUserBase(reqVo.getAccount(), reqVo.getSystemType());
 
         //从缓存中取出验证码,校验
-        String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, DictEnum.SMS_REGISTER.getValue(), reqVo.getAccount());
+        String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, DictEnum.SMS_UPDATE_PASSWORD.getValue(), reqVo.getAccount());
         String sms = RedissonUtils.getString(key);
         if (!reqVo.getCaptcha().equals(sms)) {
             throw new SystemException(HttpStatus.CODE_10301, HttpStatus.CAPTCHA_ERROR);