浏览代码

解决消息管理BUG、调整发送APP消息体、调整账号新增时账号名称、手机号、邮箱全局唯一判断

hanzhengyi 7 月之前
父节点
当前提交
b1dd12e0c6
共有 13 个文件被更改,包括 193 次插入19 次删除
  1. 5 2
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserController.java
  2. 9 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserMapper.java
  3. 9 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysUserService.java
  4. 4 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceContentServiceImpl.java
  5. 20 17
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceReceiveServiceImpl.java
  6. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java
  7. 8 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml
  8. 21 0
      service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysTenantPlatformController.java
  9. 37 0
      service-system/service-system-biz/src/main/java/com/usky/system/domain/SysTenantPlatform.java
  10. 16 0
      service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysTenantPlatformMapper.java
  11. 16 0
      service-system/service-system-biz/src/main/java/com/usky/system/service/SysTenantPlatformService.java
  12. 20 0
      service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantPlatformServiceImpl.java
  13. 12 0
      service-system/service-system-biz/src/main/resources/mapper/system/SysTenantPlatformMapper.xml

+ 5 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserController.java

@@ -84,13 +84,16 @@ public class SysUserController extends BaseController
     @PostMapping
     public ApiResult<Void> add(@Validated @RequestBody SysUser user)
     {
-        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName(),SecurityUtils.getTenantId())))
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName(),0)))
         {
             return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增用户'" + user.getUserName() + "'失败,登录账号已存在");
         }
-        if(UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique1(user.getPhonenumber(),SecurityUtils.getTenantId()))){
+        if(UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique1(user.getPhonenumber(),0))){
             return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增手机号'" + user.getPhonenumber() + "'失败,手机号已存在");
         }
+        if(UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique1(user.getEmail(),0))){
+            return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增邮箱'" + user.getEmail() + "'失败,邮箱已存在");
+        }
         user.setUserType("00");
         user.setTenantId(SecurityUtils.getTenantId());
         user.setCreateBy(SecurityUtils.getUsername());

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserMapper.java

@@ -143,6 +143,15 @@ public interface SysUserMapper extends CrudMapper<SysUser> {
      */
     public SysUser checkEmailUnique(String email);
 
+    /**
+     * 校验email是否唯一
+     *
+     * @param email 用户邮箱
+     * @param tenantId 租户ID
+     * @return 结果
+     */
+    public int checkEmailUnique1(@Param("email") String email, @Param("tenantId") Integer tenantId);
+
     public int resetUserPwdOne(@Param("userId") Long userId, @Param("password") String password);
 
     public List<SysUser> getUserData(@Param("tenantId") Integer tenantId,

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysUserService.java

@@ -114,6 +114,15 @@ public interface ISysUserService extends CrudService<SysUser> {
      */
     public String checkEmailUnique(SysUser user);
 
+    /**
+     * 校验email是否唯一
+     *
+     * @param email 用户邮箱
+     * @param tenantId 租户ID
+     * @return 结果
+     */
+    public String checkEmailUnique1(String email, Integer tenantId);
+
     /**
      * 校验用户是否允许操作
      *

+ 4 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceContentServiceImpl.java

@@ -35,9 +35,13 @@ public class MceContentServiceImpl extends AbstractCrudService<MceContentMapper,
         if (sendType.equals(0)){
             String appUrl = "https://fc-mp-85a26092-1305-4bf1-998f-b609512c8f7b.next.bspapp.com/uniPushMessage";
             JsonObject jsonObject = new JsonObject();
+            JsonObject jsonObject1 = new JsonObject();
+            jsonObject1.addProperty("infoType", mceReceiveVO.get("infoType").toString());
+            jsonObject1.addProperty("moduleId", (int)mceReceiveVO.get("id"));
             jsonObject.addProperty("cids", cids);
             jsonObject.addProperty("title", mceReceiveVO.get("infoTitle").toString());
             jsonObject.addProperty("content", mceReceiveVO.get("infoContent").toString());
+            jsonObject.add("payload",jsonObject1);
             String resultString = HttpClientUtils.doPostJson(appUrl,jsonObject.toString());
         }else if (sendType.equals(1)){
             SendWeChatMessageRequestVO sendWeChatMessageRequestVO = new SendWeChatMessageRequestVO();

+ 20 - 17
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceReceiveServiceImpl.java

@@ -104,7 +104,7 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
     }
 
     @Override
-    @DataScope
+//    @DataScope
     public CommonPage<Object> mceManageList(String infoTitle, String infoType, String startTime, String endTime, Integer current, Integer size) {
         List<Object> list = new ArrayList<>();
         IPage<MceContent> page = new Page<>(current, size);
@@ -114,9 +114,8 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
                 .like(StringUtils.isNotBlank(infoTitle),MceContent::getInfoTitle,infoTitle)
                 .between(StringUtils.isNotBlank(startTime)&&StringUtils.isNotBlank(endTime),MceContent::getCreateTime, startTime,endTime)
                 .eq(StringUtils.isNotBlank(infoType),MceContent::getInfoType, infoType)
-                .apply(DataScopeContextHolder.getDataScopeSql())
-//              .eq(MceContent::getCreateBy,SecurityUtils.getUsername())
-//              .eq(MceContent::getTenantId,SecurityUtils.getTenantId())
+//                .apply(DataScopeContextHolder.getDataScopeSql())
+                .eq(MceContent::getTenantId,SecurityUtils.getTenantId())
                 .orderByDesc(MceContent::getId);
         page = mceContentService.page(page,lambdaQuery1);
 
@@ -240,22 +239,24 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
         if (!mceReceiveVO.containsKey("infoTypeName")) {
             mceReceiveVO.put("infoTypeName",infoTypeName);
         }
-        MceContent mceContent = new MceContent();
-        mceContent.setInfoTitle(mceReceiveVO.get("infoTitle").toString());
-        mceContent.setInfoContent(mceReceiveVO.get("infoContent").toString());
-        mceContent.setInfoType(mceReceiveVO.get("infoType").toString());
-        mceContent.setCreateBy(SecurityUtils.getUsername());
-        mceContent.setCreateTime(LocalDateTime.now());
-//        mceContent.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId().intValue());
-
-        mceContent.setTenantId(SecurityUtils.getTenantId());
-        mceContentService.save(mceContent);
-        Integer contentId = mceContent.getId();
         List<SysUser> list = iSysUserService.userAllList();
+        MceContent mceContent = new MceContent();
+        Integer contentId = 0;
         if (CollectionUtils.isNotEmpty(list)) {
             List<Integer> userIds = new ArrayList<>();
             for (int g = 0; g < list.size(); g++) {
                 userIds.add(list.get(g).getUserId().intValue());
+                if (mceReceiveVO.get("userName").equals(list.get(g).getUserName())){
+                    mceContent.setInfoTitle(mceReceiveVO.get("infoTitle").toString());
+                    mceContent.setInfoContent(mceReceiveVO.get("infoContent").toString());
+                    mceContent.setInfoType(mceReceiveVO.get("infoType").toString());
+                    mceContent.setCreateBy(list.get(g).getUserName());
+                    mceContent.setCreateTime(LocalDateTime.now());
+                    mceContent.setDeptId(list.get(g).getDeptId().intValue());
+                    mceContent.setTenantId(list.get(g).getTenantId());
+                    mceContentService.save(mceContent);
+                    contentId = mceContent.getId();
+                }
             }
             List<Integer> userIds1;
             if (mceReceiveVO.containsKey("userIds")) {
@@ -279,10 +280,12 @@ public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper,
                                 mceReceive1.setIssuerName(mceReceiveVO.get("userName").toString());
                             }
                             mceReceive1.setReceiverName(list.get(i).getUserName());
-                            mceReceive1.setCreateBy(SecurityUtils.getUsername());
+                            mceReceive1.setCreateBy(mceReceiveVO.get("userName").toString());
                             mceReceive1.setCreateTime(LocalDateTime.now());
                             mceReceive1.setTenantId(list.get(i).getTenantId());
-//                mceReceive1.setDeptId(list.get(i).getDeptId().intValue());
+                            if (mceReceiveVO.get("userName").equals(list.get(i).getUserName())){
+                                mceReceive1.setDeptId(list.get(i).getDeptId().intValue());
+                            }
                             this.save(mceReceive1);
                             Integer mceReceiveId = mceReceive1.getId();
                             LambdaQueryWrapper<MceSetting> lambdaQuery = Wrappers.lambdaQuery();

+ 16 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java

@@ -243,6 +243,22 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
         return UserConstants.UNIQUE;
     }
 
+    /**
+     * 校验email是否唯一
+     *
+     * @param email 用户邮箱
+     * @param tenantId 租户ID
+     * @return
+     */
+    @Override
+    public String checkEmailUnique1(String email, Integer tenantId) {
+        int count = userMapper.checkEmailUnique1(email, tenantId);
+        if (count > 0) {
+            return UserConstants.NOT_UNIQUE;
+        }
+        return UserConstants.UNIQUE;
+    }
+
     /**
      * 校验用户是否允许操作
      *

+ 8 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml

@@ -180,6 +180,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, email from sys_user where email = #{email} and del_flag = '2' limit 1
 	</select>
+
+	<select id="checkEmailUnique1" resultType="int">
+		select count(1) from sys_user where email = #{email} and del_flag != '2'
+		<if test="tenantId != null and tenantId != 0">
+			and tenant_id = #{tenantId}
+		</if>
+		limit 1
+	</select>
 	
 	<insert id="insertUser" parameterType="com.usky.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
  		insert into sys_user(

+ 21 - 0
service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysTenantPlatformController.java

@@ -0,0 +1,21 @@
+package com.usky.system.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 租户和应用关联表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+@Controller
+@RequestMapping("/sysTenantPlatform")
+public class SysTenantPlatformController {
+
+}
+

+ 37 - 0
service-system/service-system-biz/src/main/java/com/usky/system/domain/SysTenantPlatform.java

@@ -0,0 +1,37 @@
+package com.usky.system.domain;
+
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 租户和应用关联表
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SysTenantPlatform implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+    /**
+     * 应用ID
+     */
+    private Integer platformId;
+
+    /**
+     * 是否为默认应用(默认0; 0:否,1:是)
+     */
+    private Boolean isDefault;
+
+
+}

+ 16 - 0
service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysTenantPlatformMapper.java

@@ -0,0 +1,16 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.SysTenantPlatform;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 租户和应用关联表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+public interface SysTenantPlatformMapper extends CrudMapper<SysTenantPlatform> {
+
+}

+ 16 - 0
service-system/service-system-biz/src/main/java/com/usky/system/service/SysTenantPlatformService.java

@@ -0,0 +1,16 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.SysTenantPlatform;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 租户和应用关联表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+public interface SysTenantPlatformService extends CrudService<SysTenantPlatform> {
+
+}

+ 20 - 0
service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantPlatformServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.system.service.impl;
+
+import com.usky.system.domain.SysTenantPlatform;
+import com.usky.system.mapper.SysTenantPlatformMapper;
+import com.usky.system.service.SysTenantPlatformService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 租户和应用关联表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+@Service
+public class SysTenantPlatformServiceImpl extends AbstractCrudService<SysTenantPlatformMapper, SysTenantPlatform> implements SysTenantPlatformService {
+
+}

+ 12 - 0
service-system/service-system-biz/src/main/resources/mapper/system/SysTenantPlatformMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.SysTenantPlatformMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.SysTenantPlatform">
+        <id column="tenant_id" property="tenantId" />
+        <result column="platform_id" property="platformId" />
+        <result column="is_default" property="isDefault" />
+    </resultMap>
+
+</mapper>