Sfoglia il codice sorgente

Merge branch 'system-165' of uskycloud/usky-cloud into master

gez 11 mesi fa
parent
commit
ce59eef223
18 ha cambiato i file con 373 aggiunte e 7 eliminazioni
  1. 14 0
      base-modules/service-system/service-system-api/src/main/java/com/usky/system/RemoteUserService.java
  2. 10 0
      base-modules/service-system/service-system-api/src/main/java/com/usky/system/factory/RemoteUserFallbackFactory.java
  3. 6 0
      base-modules/service-system/service-system-biz/pom.xml
  4. 8 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/api/SysUserControllerApi.java
  5. 21 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/MceMbuserController.java
  6. 59 4
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/TokenController.java
  7. 68 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/MceMbuser.java
  8. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/MceMbuserMapper.java
  9. 11 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserMapper.java
  10. 3 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysUserService.java
  11. 16 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/MceMbuserService.java
  12. 20 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/MceMbuserServiceImpl.java
  13. 16 1
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysNoticeServiceImpl.java
  14. 19 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java
  15. 30 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/LoginBody.java
  16. 18 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/MceMbuserMapper.xml
  17. 9 2
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysNoticeMapper.xml
  18. 29 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml

+ 14 - 0
base-modules/service-system/service-system-api/src/main/java/com/usky/system/RemoteUserService.java

@@ -46,4 +46,18 @@ public interface RemoteUserService
      */
     @GetMapping("/user/userList")
     public ApiResult<List<SysUser>> userList();
+
+    /**
+     * 根据ID集合查询用户列表
+     * @return
+     */
+    @PostMapping("/user/userByIdList")
+    public ApiResult<List<SysUser>> userByIdList(List<Integer> userIds);
+
+    /**
+     * 所有用户列表查询
+     * @return
+     */
+    @GetMapping("/user/userAllList")
+    public ApiResult<List<SysUser>> userAllList();
 }

+ 10 - 0
base-modules/service-system/service-system-api/src/main/java/com/usky/system/factory/RemoteUserFallbackFactory.java

@@ -45,6 +45,16 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
             public ApiResult<List<SysUser>> userList() {
                 return ApiResult.error("500","获取用户信息:" + throwable.getMessage());
             }
+
+            @Override
+            public ApiResult<List<SysUser>> userByIdList(List<Integer> userIds) {
+                return ApiResult.error("500","获取用户信息:" + throwable.getMessage());
+            }
+
+            @Override
+            public ApiResult<List<SysUser>> userAllList() {
+                return ApiResult.error("500","获取所有用户信息:" + throwable.getMessage());
+            }
         };
     }
 }

+ 6 - 0
base-modules/service-system/service-system-biz/pom.xml

@@ -48,6 +48,12 @@
             <artifactId>ruoyi-common-swagger</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.usky</groupId>
+            <artifactId>service-iot-api</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 8 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/api/SysUserControllerApi.java

@@ -32,4 +32,12 @@ public class SysUserControllerApi implements RemoteUserService {
     public ApiResult<List<SysUser>>userList(){
         return ApiResult.success(iSysUserService.userList());
     }
+
+    public ApiResult<List<SysUser>>userByIdList(List<Integer> userIds){
+        return ApiResult.success(iSysUserService.userByIdList(userIds));
+    }
+
+    public ApiResult<List<SysUser>>userAllList(){
+        return ApiResult.success(iSysUserService.userAllList());
+    }
 }

+ 21 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/MceMbuserController.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-05-06
+ */
+@Controller
+@RequestMapping("/mceMbuser")
+public class MceMbuserController {
+
+}
+

+ 59 - 4
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/TokenController.java

@@ -1,6 +1,10 @@
 package com.usky.system.controller.web;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.exception.BusinessException;
 import com.usky.common.core.util.BeanMapperUtils;
 import com.usky.common.core.util.JwtUtils;
 import com.usky.common.core.util.StringUtils;
@@ -8,19 +12,21 @@ import com.usky.common.redis.core.RedisHelper;
 import com.usky.common.security.auth.AuthUtil;
 import com.usky.common.security.service.TokenService;
 import com.usky.common.security.utils.SecurityUtils;
+import com.usky.system.domain.MceMbuser;
 import com.usky.system.domain.SysPerson;
 import com.usky.system.domain.SysUser;
 import com.usky.system.domain.SysUserVO;
+import com.usky.system.mapper.SysUserMapper;
 import com.usky.system.model.LoginUser;
-import com.usky.system.service.ISysPermissionService;
-import com.usky.system.service.ISysUserService;
-import com.usky.system.service.SysLoginService;
-import com.usky.system.service.SysPersonService;
+import com.usky.system.service.*;
 import com.usky.system.service.vo.LoginBody;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
@@ -46,6 +52,16 @@ public class TokenController {
     @Autowired
     private SysPersonService sysPersonService;
 
+    @Autowired
+    private SysUserMapper userMapper;
+
+    @Autowired
+    private MceMbuserService mceMbuserService;
+    @Resource
+    private HttpServletRequest request;
+    @Resource
+    private HttpServletResponse response;
+
     @PostMapping("login")
     public ApiResult<?> login(@RequestBody LoginBody form) {
         // 用户登录
@@ -67,6 +83,45 @@ public class TokenController {
         sysUser.setRoles(rolePermission);
         SysPerson sysPerson = sysPersonService.getsysPerson(userInfo.getUserId());
         sysUser.setSysPerson(sysPerson);
+
+        String type = form.getType();
+        if(type.equals("app")){   //app登录
+            //插入或更新mce_mbuser消息中心_移动端注册表表记录cids,通过userId去这个表中查询,有记录则更新对应的cids,没有就插入
+            String cids = form.getCids();
+            Long userId = userInfo.getUserId();
+            int count = userMapper.selectMbUserCount(userId);
+            if(count > 0){
+                userMapper.updateMbUser(userId,cids, userInfo.getUserName());
+            }else{
+                userMapper.insertMbUser(userId,cids, userInfo.getUserName());
+            }
+        }
+        if(type.equals("wx")){
+            String phone = form.getPhone();
+            LambdaQueryWrapper<MceMbuser> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.eq(MceMbuser::getPhone,phone);
+            List<MceMbuser> list = mceMbuserService.list(queryWrapper);
+            if(CollectionUtils.isEmpty(list)){
+                MceMbuser one = new MceMbuser();
+                one.setPhone(phone);
+                one.setOpenid(request.getSession().getAttribute("openid").toString());
+                one.setCreateBy(SecurityUtils.getUsername());
+                one.setUserId(SecurityUtils.getUserId());
+                one.setCreateTime(LocalDateTime.now());
+
+                if(mceMbuserService.save(one)){
+
+                }else{
+                    throw new BusinessException("注册失败,重新注册");
+                }
+            }else {
+                request.getSession().setAttribute("openid",list.get(0).getOpenid());
+            }
+
+            request.getSession().setAttribute("phone",phone);
+        }
+
+
         // 获取登录token
         return ApiResult.success(tokenService.createToken(sysUser));
     }

+ 68 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/MceMbuser.java

@@ -0,0 +1,68 @@
+package com.usky.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 消息中心_移动端注册表
+ * </p>
+ *
+ * @author han
+ * @since 2024-05-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class MceMbuser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 电话号码
+     */
+    private String phone;
+
+    /**
+     * 微信用户id
+     */
+    private String openid;
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 应用ID
+     */
+    private String cids;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+
+}

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

@@ -0,0 +1,16 @@
+package com.usky.system.mapper;
+
+import com.usky.system.domain.MceMbuser;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 消息中心_移动端注册表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2024-05-06
+ */
+public interface MceMbuserMapper extends CrudMapper<MceMbuser> {
+
+}

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

@@ -159,4 +159,15 @@ public interface SysUserMapper extends CrudMapper<SysUser> {
 
     SysUser selectUserDataOne(@Param("tenantId") Integer tenantId,
                               @Param("phone") String phone);
+
+    public List<SysUser> userAllList();
+
+    /**
+     * 查询mce_mbuser消息中心_移动端注册表对应的userId记录
+     */
+    public int selectMbUserCount(@Param("userId") Long userId);
+
+    public void insertMbUser(@Param("userId") Long userId,@Param("cids") String cids,@Param("createBy") String createBy);
+
+    public void updateMbUser(@Param("userId") Long userId,@Param("cids") String cids,@Param("updateBy") String updateBy);
 }

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

@@ -233,6 +233,9 @@ public interface ISysUserService extends CrudService<SysUser> {
 
     public List<SysUser> userList();
 
+    public List<SysUser> userByIdList(List<Integer> userIds);
+
+    public List<SysUser> userAllList();
 
 
 }

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

@@ -0,0 +1,16 @@
+package com.usky.system.service;
+
+import com.usky.system.domain.MceMbuser;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 消息中心_移动端注册表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2024-05-06
+ */
+public interface MceMbuserService extends CrudService<MceMbuser> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.usky.system.service.impl;
+
+import com.usky.system.domain.MceMbuser;
+import com.usky.system.mapper.MceMbuserMapper;
+import com.usky.system.service.MceMbuserService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 消息中心_移动端注册表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2024-05-06
+ */
+@Service
+public class MceMbuserServiceImpl extends AbstractCrudService<MceMbuserMapper, MceMbuser> implements MceMbuserService {
+
+}

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

@@ -1,14 +1,19 @@
 package com.usky.system.service.impl;
 
 
+import com.google.gson.JsonObject;
+import com.usky.common.core.bean.ApiResult;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.iot.RemoteMceService;
 import com.usky.system.domain.SysNotice;
 import com.usky.system.mapper.SysNoticeMapper;
 import com.usky.system.service.ISysNoticeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 公告 服务层实现
@@ -21,6 +26,9 @@ public class SysNoticeServiceImpl extends AbstractCrudService<SysNoticeMapper, S
     @Autowired
     private SysNoticeMapper noticeMapper;
 
+    @Autowired
+    private RemoteMceService remoteMceService;
+
     /**
      * 查询公告信息
      * 
@@ -54,7 +62,14 @@ public class SysNoticeServiceImpl extends AbstractCrudService<SysNoticeMapper, S
     @Override
     public int insertNotice(SysNotice notice)
     {
-        return noticeMapper.insertNotice(notice);
+        int insertId = noticeMapper.insertNotice(notice);
+        JsonObject jsonObject = new JsonObject();
+        jsonObject.addProperty("infoTitle", notice.getNoticeTitle());
+        jsonObject.addProperty("infoContent",notice.getNoticeContent());
+        jsonObject.addProperty("infoType",1);
+        jsonObject.addProperty("id",insertId);
+        ApiResult<Void> resultMce = remoteMceService.addMce(jsonObject.toString());
+        return insertId;
     }
 
     /**

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

@@ -602,4 +602,23 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
         List<SysUser> list = userMapper.userList(SecurityUtils.getTenantId(), userName);
         return list;
     }
+
+    public List<SysUser> userByIdList(List<Integer> userIds) {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        String userType = null;
+        if (loginUser != null && !"".equals(loginUser)) {
+            userType = loginUser.getSysUser().getUserType();
+        }
+        String userName = null;
+        if ("00".equals(userType)) {
+            userName = SecurityUtils.getUsername();
+        }
+        List<SysUser> list = userMapper.userList(SecurityUtils.getTenantId(), userName);
+        return list;
+    }
+
+    public List<SysUser> userAllList() {
+        List<SysUser> list = userMapper.userAllList();
+        return list;
+    }
 }

+ 30 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/LoginBody.java

@@ -32,6 +32,36 @@ public class LoginBody
      */
     private String phone;
 
+    /**
+     * 应用Id
+     */
+    private String cids;
+
+    /**
+     * 登录类型 app; wx;
+     */
+    private String type;
+
+    public String getType()
+    {
+        return type;
+    }
+
+    public void setType(String type)
+    {
+        this.type = type;
+    }
+
+    public String getCids()
+    {
+        return cids;
+    }
+
+    public void setCids(String cids)
+    {
+        this.cids = cids;
+    }
+
     public String getPhone()
     {
         return phone;

+ 18 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/MceMbuserMapper.xml

@@ -0,0 +1,18 @@
+<?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.MceMbuserMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.MceMbuser">
+        <id column="id" property="id" />
+        <result column="phone" property="phone" />
+        <result column="openid" property="openid" />
+        <result column="user_id" property="userId" />
+        <result column="cids" property="cids" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+</mapper>

+ 9 - 2
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysNoticeMapper.xml

@@ -39,7 +39,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<if test="createBy != null and createBy != ''">
 				AND create_by like concat('%', #{createBy}, '%')
 			</if>
+			<if test="1 == 1">
+                and status = 0
+            </if>
+            <if test="noticeId != null and noticeId != ''">
+                AND notice_id = #{noticeId}
+            </if>
 		</where>
+        order by notice_id desc
     </select>
     
     <insert id="insertNotice" parameterType="com.usky.system.domain.SysNotice">
@@ -81,8 +88,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     
     <delete id="deleteNoticeByIds" parameterType="Long">
         delete from sys_notice where notice_id in 
-        <foreach item="noticeId" collection="array" open="(" separator="," close=")">
-            #{noticeId}
+        <foreach item="noticeIds" collection="param1" open="(" separator="," close=")">
+            #{noticeIds}
         </foreach>
     </delete>
     

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

@@ -298,6 +298,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		order by user_id desc
 	</select>
 
+	<select id="userAllList" resultType="com.usky.system.domain.SysUser">
+		SELECT * FROM sys_user
+		where
+		del_flag=0 and status=0
+		order by user_id desc
+	</select>
+
 	<select id="selectUserData" resultMap="SysUserResult">
 		select * from sys_user
 		where
@@ -318,4 +325,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		</if>
 
 	</select>
+
+	<select id="selectMbUserCount" parameterType="Long" resultType="int">
+		select count(*) from mce_mbuser where user_id = #{userId}
+	</select>
+
+	<insert id="insertMbUser">
+		insert into mce_mbuser(
+		<if test="userId != null and userId != 0">user_id,</if>
+		<if test="cids != null and cids != ''">cids,</if>
+		<if test="createBy != null and createBy != ''">create_by,</if>
+		create_time
+		)values(
+		<if test="userId != null and userId != ''">#{userId},</if>
+		<if test="cids != null and cids != ''">#{cids},</if>
+		<if test="createBy != null and createBy != ''">#{createBy},</if>
+		sysdate()
+		)
+	</insert>
+
+	<update id="updateMbUser">
+		update mce_mbuser set cids = #{cids},update_by=#{updateBy},update_time=sysdate() where user_id = #{userId}
+	</update>
 </mapper>