瀏覽代碼

Merge branch 'dev/2024/0604/update-business-Y' of feifan/mall-backend-business into master

修改发送给用户接收的微信模板信息的url
Yangzw 8 月之前
父節點
當前提交
de6c723a17

+ 6 - 25
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/utils/wechat/WcChatMessageUtils.java

@@ -28,8 +28,6 @@ import java.util.List;
 import java.util.UUID;
 
 import static cn.newfeifan.mall.module.system.constant.SystemConstants.WX_TICK_KEY_APPID;
-import static cn.newfeifan.mall.module.trade.enums.MessageTemplateConstants.AFTER_SALE_NO_CHECK_List;
-import static cn.newfeifan.mall.module.trade.enums.MessageTemplateConstants.ORDER_NO_DELIVERY_List;
 
 /**
  * 发送微信消息的工具类
@@ -100,7 +98,7 @@ public class WcChatMessageUtils {
     private void sendWxgMessage(Long userId, JsonObject data, String wechatMsgTemplateId, Long systemUserId, Long memberUserId, Long objectId) {
 
         // 组装消息内容
-        String userOpenId = null;
+        String userOpenId;
         if (wechatMsgTemplateId.equals(WcChatMessageTemplateIdEnum.AFTER_SALE_NO_CHECK2.getTemplateId()) ||
                 wechatMsgTemplateId.equals(WcChatMessageTemplateIdEnum.ORDER_NO_DELIVERY2.getTemplateId())) {
             userOpenId = getOpenIdBySysTemUserId(systemUserId);
@@ -114,7 +112,7 @@ public class WcChatMessageUtils {
         }
 
         String templateId = getTemplateId(wechatMsgTemplateId).getWechatMsgTemplateId(); // 模板id
-        String url = getDoMain(wechatMsgTemplateId, objectId);       // 跳转路径(小程序之外)
+        String url = getDoMain(wechatMsgTemplateId, objectId, memberUserId);       // 跳转路径(小程序之外)
         String client_msg_id = UUID.randomUUID().toString();  // 防重入id
 
 
@@ -201,38 +199,21 @@ public class WcChatMessageUtils {
         sendWxgMessage(userId, templateData, templateId, systemUserId, memberUserId, objectId);
     }
 
-    /**
-     * 判断用户是否有接收者调消息的权限
-     *
-     * @param userId     用户id
-     * @param templateId 自定义的模板id
-     * @return 是否有权限
-     */
-    public Boolean isHavePermission(Long userId, String templateId) {
-        if (templateId.equals(WcChatMessageTemplateIdEnum.AFTER_SALE_NO_CHECK2.getTemplateId())) {
-            // 售后待审核
-            return permissionService.hasAnyPermissions(userId, AFTER_SALE_NO_CHECK_List);
-        } else if (templateId.equals(WcChatMessageTemplateIdEnum.ORDER_NO_DELIVERY2.getTemplateId())) {
-            // 订单待发货
-            return permissionService.hasAnyPermissions(userId, ORDER_NO_DELIVERY_List);
-        }
-        return false;
-    }
-
     /**
      * 获取不同端域名(不同的端的代码略有不同)
      *
      * @param templateId 自定义模板id
      * @return 域名加路径
      */
-    public String getDoMain(String templateId, Long objectId) {
+    public String getDoMain(String templateId, Long objectId, Long memberUserId) {
         SystemConfigDO redisConfig = configService.getRedisConfig();
+        String username = memberUserService.getUsernameByUserId(memberUserId);
         if (templateId.equals(WcChatMessageTemplateIdEnum.ORDER_DELIVERY2.getTemplateId())) {
             //订单已发货
-            return redisConfig.getMallDomain() + "/#/pages/order/detail?id=" + objectId;
+            return redisConfig.getMallDomain() + "/#/pages/order/detail?id=" + objectId + "&username=" + username;
         } else if (templateId.equals(WcChatMessageTemplateIdEnum.AFTER_SALE_CHECK2.getTemplateId())) {
             //售后订单审核完成
-            return redisConfig.getMallDomain() + "/#/pages/order/aftersale/detail?id=" + objectId;
+            return redisConfig.getMallDomain() + "/#/pages/order/aftersale/detail?id=" + objectId + "&username=" + username;
         } else if (templateId.equals(WcChatMessageTemplateIdEnum.AFTER_SALE_NO_CHECK2.getTemplateId())) {
             //售后订单待审核
             return redisConfig.getMerchantDomain() + "/after-sale";

+ 4 - 7
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/dal/dataobject/user/MemberUserDO.java

@@ -20,7 +20,6 @@ import java.util.List;
 
 /**
  * 会员用户 DO
- *
  * uk_mobile 索引:基于 {@link #mobile} 字段
  *
  * @author 非繁源码
@@ -47,13 +46,11 @@ public class MemberUserDO extends TenantBaseDO {
     private String mobile;
     /**
      * 加密后的密码
-     *
      * 因为目前使用 {@link BCryptPasswordEncoder} 加密器,所以无需自己处理 salt 盐
      */
     private String password;
     /**
      * 帐号状态
-     *
      * 枚举 {@link CommonStatusEnum}
      */
     private Integer status;
@@ -92,7 +89,6 @@ public class MemberUserDO extends TenantBaseDO {
     private String name;
     /**
      * 性别
-     *
      * 枚举 {@link SexEnum}
      */
     private Integer sex;
@@ -102,7 +98,6 @@ public class MemberUserDO extends TenantBaseDO {
     private LocalDateTime birthday;
     /**
      * 所在地
-     *
      * 关联 {@link Area#getId()} 字段
      */
     private Integer areaId;
@@ -127,7 +122,6 @@ public class MemberUserDO extends TenantBaseDO {
 
     /**
      * 会员级别编号
-     *
      * 关联 {@link MemberLevelDO#getId()} 字段
      */
     private Long levelId;
@@ -137,7 +131,6 @@ public class MemberUserDO extends TenantBaseDO {
     private Integer experience;
     /**
      * 用户分组编号
-     *
      * 关联 {@link MemberGroupDO#getId()} 字段
      */
     private Long groupId;
@@ -192,4 +185,8 @@ public class MemberUserDO extends TenantBaseDO {
      * 关联系统用户ID
      */
     private Long systemUsersId;
+    /**
+     * 登录用的用户名
+     */
+    private String username;
 }

+ 7 - 0
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/user/MemberUserService.java

@@ -190,4 +190,11 @@ public interface MemberUserService {
     void updateUserByMobile(Long id, String mobile);
 
     Long getUserIdBySystemUserId(Long systemUserId);
+
+    /**
+     * 根据用户ID获取用户名
+     * @param userId 用户ID
+     * @return 用户名
+     */
+    String getUsernameByUserId(Long userId);
 }

+ 8 - 0
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/user/MemberUserServiceImpl.java

@@ -335,4 +335,12 @@ public class MemberUserServiceImpl implements MemberUserService {
         return memberUserDO == null ? null : memberUserDO.getId();
     }
 
+    @Override
+    public String getUsernameByUserId(Long userId) {
+        if(userId != null){
+            return memberUserMapper.selectOne(MemberUserDO::getId, userId).getUsername();
+        }
+        return null;
+    }
+
 }