Browse Source

Merge branch 'server-165' of uskycloud/usky-modules into master

gez 11 months ago
parent
commit
876a36749c
22 changed files with 984 additions and 30 deletions
  1. 2 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/constant/constant.java
  2. 22 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/MceContentController.java
  3. 105 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/MceReceiveController.java
  4. 66 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/MceSettingController.java
  5. 11 11
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/WeChatController.java
  6. 76 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/MceContent.java
  7. 91 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/MceReceive.java
  8. 76 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/MceSetting.java
  9. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/MceContentMapper.java
  10. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/MceReceiveMapper.java
  11. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/MceSettingMapper.java
  12. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/MceContentService.java
  13. 32 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/MceReceiveService.java
  14. 24 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/MceSettingService.java
  15. 23 19
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAlarmServiceImpl.java
  16. 20 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/MceContentServiceImpl.java
  17. 210 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/MceReceiveServiceImpl.java
  18. 97 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/MceSettingServiceImpl.java
  19. 5 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/vo/BaseAlarmListVO.java
  20. 19 0
      service-iot/service-iot-biz/src/main/resources/mapper/iot/MceContentMapper.xml
  21. 22 0
      service-iot/service-iot-biz/src/main/resources/mapper/iot/MceReceiveMapper.xml
  22. 19 0
      service-iot/service-iot-biz/src/main/resources/mapper/iot/MceSettingMapper.xml

+ 2 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/constant/constant.java

@@ -11,6 +11,8 @@ public class constant {
     public static final String WE_CHAT_CODE_URL = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=STATE#wechat_redirect";
     // 回调地址,获取open_id
     public static final String WE_CHAT_CALL_BACK_DOMAIN_URL = "http://localhost:9887/weChat/getWeChatOpenId";
+    // 回调域名
+    public static final String call_back_domain = "aiot.usky.cn";
     // 微信公众号的token获取地址
     public static final String WE_CHAT_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s";
     // 微信公众号消息推送地址

+ 22 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/MceContentController.java

@@ -0,0 +1,22 @@
+package com.usky.iot.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 消息内容表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+@RestController
+@RequestMapping("/mceContent")
+public class MceContentController {
+
+}
+

+ 105 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/MceReceiveController.java

@@ -0,0 +1,105 @@
+package com.usky.iot.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.MceReceive;
+import com.usky.iot.service.MceReceiveService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 消息接收表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+@RestController
+@RequestMapping("/mceReceive")
+public class MceReceiveController {
+
+    @Autowired
+    private MceReceiveService mceReceiveService;
+
+    /**
+     * 消息列表分页
+     * @param infoTitle  消息标题
+     * @param infoType  消息标题
+     * @param startTime  开始时间
+     * @param endTime  开始时间
+     * @param current      当前页
+     * @param size     每页条数
+     * @return
+     */
+    @GetMapping("/mceList")
+    public ApiResult<CommonPage<Object>> mceList(@RequestParam(value = "infoTitle", required = false) String infoTitle,
+                                                 @RequestParam(value = "infoType", required = false) String infoType,
+                                                        @RequestParam(value = "startTime", required = false) String startTime,
+                                                        @RequestParam(value = "endTime", required = false) String endTime,
+                                                        @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
+                                                        @RequestParam(value = "size", required = false, defaultValue = "10") Integer size)
+    {
+        return ApiResult.success(mceReceiveService.mceList(infoTitle, infoType,startTime, endTime, current, size));
+    }
+
+    /**
+     * 消息管理
+     * @param infoTitle  消息标题
+     * @param infoType  消息标题
+     * @param startTime  开始时间
+     * @param endTime  开始时间
+     * @param current      当前页
+     * @param size     每页条数
+     * @return
+     */
+    @GetMapping("/mceManageList")
+    public ApiResult<CommonPage<Object>> mceManageList(@RequestParam(value = "infoTitle", required = false) String infoTitle,
+                                                 @RequestParam(value = "infoType", required = false) String infoType,
+                                                 @RequestParam(value = "startTime", required = false) String startTime,
+                                                 @RequestParam(value = "endTime", required = false) String endTime,
+                                                 @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
+                                                 @RequestParam(value = "size", required = false, defaultValue = "10") Integer size)
+    {
+        return ApiResult.success(mceReceiveService.mceManageList(infoTitle, infoType,startTime, endTime, current, size));
+    }
+
+    /**
+     * 消息管理通过ID查询接口
+     * @param id  消息内容主键ID
+     * @param current      当前页
+     * @param size     每页条数
+     * @return
+     */
+    @GetMapping("/mceManageById")
+    public ApiResult<CommonPage<MceReceive>> mceManageById(@RequestParam(value = "id") Integer id,
+                                                           @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
+                                                           @RequestParam(value = "size", required = false, defaultValue = "10") Integer size)
+    {
+        return ApiResult.success(mceReceiveService.mceManageById(id,current,size));
+    }
+
+    /**
+     * 消息接收分类统计接口
+     * @return
+     */
+    @GetMapping("/mceReceiveStatic")
+    public ApiResult<Map<String, Object>> mceReceiveStatic()
+    {
+        return ApiResult.success(mceReceiveService.mceReceiveStatic());
+    }
+
+    /**
+     * 已读
+     * @return
+     */
+    @PutMapping
+    ApiResult<Void> updateMceReceive(@RequestBody MceReceive mceReceive){
+        mceReceiveService.updateMceReceive(mceReceive);
+        return ApiResult.success();
+    }
+}
+

+ 66 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/MceSettingController.java

@@ -0,0 +1,66 @@
+package com.usky.iot.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.BaseAlarm;
+import com.usky.iot.domain.MceSetting;
+import com.usky.iot.service.MceSettingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import org.springframework.stereotype.Controller;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 消息设置表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+@RestController
+@RequestMapping("/mceSetting")
+public class MceSettingController {
+
+    @Autowired
+    private MceSettingService mceSettingService;
+
+    /**
+     * 消息设置回显
+     * @return
+     */
+    @GetMapping("/mceSettingInfo")
+    public ApiResult<Map<String, Object>> mceSettingInfo(){
+        return ApiResult.success(mceSettingService.mceSettingInfo());
+    }
+
+    /**
+     * 消息设置列表
+     * @param createBy     创建人
+     * @param current      当前页
+     * @param size     每页条数
+     * @return
+     */
+    @GetMapping("/mceSettingList")
+    public ApiResult<CommonPage<Map<String, Object>>> mceSettingList(@RequestParam(value = "createBy", required = false) String createBy,
+                                                                     @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
+                                                                     @RequestParam(value = "size", required = false, defaultValue = "10") Integer size){
+        return ApiResult.success(mceSettingService.mceSettingList(createBy,current,size));
+    }
+
+    /**
+     * 新增、修改
+     * @param mceSetting
+     * @return
+     */
+    @PostMapping("/addMceSetting")
+    public ApiResult<Void> add(@RequestBody MceSetting mceSetting){
+        mceSettingService.add(mceSetting);
+        return ApiResult.success();
+    }
+}
+

+ 11 - 11
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/WeChatController.java

@@ -34,7 +34,7 @@ import java.util.Map;
 import java.util.Objects;
 
 @RestController
-@RequestMapping("weChat")
+@RequestMapping("/weChat")
 public class WeChatController {
     @Autowired
     private WxMpService wxMpService;
@@ -59,7 +59,7 @@ public class WeChatController {
         if(userAgent.contains("MicroMessenger")){ //wx
             request.getSession().setAttribute("type","wx");
             if(StringUtils.isBlank(code)){
-                String url = URLDecoder.decode(http+request.getServerName()+request.getRequestURI());
+                String url = URLDecoder.decode(http+constant.call_back_domain+request.getRequestURI());
                 String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
                 try{
                     System.out.println("sendUrl: "+sendUrl);
@@ -106,7 +106,7 @@ public class WeChatController {
     /**
      * 跳转首页权限
      */
-    @GetMapping("getPageAuthorization")
+    @GetMapping("/getPageAuthorization")
     public void getPageAuthorization(){
         String http = "https://";
         String code = request.getParameter("code");
@@ -118,7 +118,7 @@ public class WeChatController {
                     .eq(SysWxOpuser::getType,"app");
             SysWxOpuser one = sysWxOpuserService.getOne(queryWrapper);
             if(one != null){
-                String sendUrl = "https://aiot.usky.cn/work/#/?op="+one.getOpenid();
+                String sendUrl = "https://aiot.usky.cn/work/#/pages/index?op="+one.getOpenid();
                 try{
                     System.out.println("sendUrl: "+sendUrl);
                     response.sendRedirect(sendUrl);
@@ -130,7 +130,7 @@ public class WeChatController {
         }else{
             if(!userAgent.contains("MicroMessenger")){
                 try{
-                    response.sendRedirect("https://aiot.usky.cn/work/index.html#/pages/login/login");
+                    response.sendRedirect("https://aiot.usky.cn/work/#/pages/login");
                 }catch (IOException e){
                     throw new BusinessException(e.getMessage());
                 }
@@ -138,7 +138,7 @@ public class WeChatController {
             }else{
                 if((null == request.getSession().getAttribute("openid")) && (StringUtils.isBlank(request.getSession().getAttribute("openid").toString()))){
                     if(StringUtils.isBlank(code)){
-                        String url = URLDecoder.decode(http+request.getServerName()+request.getRequestURI());
+                        String url = URLDecoder.decode(http+constant.call_back_domain+request.getRequestURI());
                         String sendUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+constant.WE_CHAT_APP_ID+"&redirect_uri="+url+"&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect";
                         try{
                             System.out.println("sendUrl: "+sendUrl);
@@ -163,13 +163,13 @@ public class WeChatController {
                             if(one != null){
                                 request.getSession().setAttribute("phone",one.getPhone());
 
-                                String sendUrl = "https://aiot.usky.cn/work/#/?op="+one.getOpenid();
+                                String sendUrl = "https://aiot.usky.cn/work/#/pages/index?op="+one.getOpenid();
                                 response.sendRedirect(sendUrl);
                             }else{
                                 request.getSession().removeAttribute("openid");
                                 request.getSession().removeAttribute("phone");
 
-                                response.sendRedirect("https://aiot.usky.cn/work/index.html#/pages/login/login");
+                                response.sendRedirect("https://aiot.usky.cn/work/#/pages/login");
                             }
 
 
@@ -186,13 +186,13 @@ public class WeChatController {
                         SysWxOpuser one = sysWxOpuserService.getOne(queryWrapper);
                         if(one != null){
                             request.getSession().setAttribute("phone",one.getPhone());
-                            String sendUrl = "https://aiot.usky.cn/work/#/?op="+one.getOpenid();
+                            String sendUrl = "https://aiot.usky.cn/work/#/pages/index?op="+one.getOpenid();
                             response.sendRedirect(sendUrl);
                         }else{
                             request.getSession().removeAttribute("openid");
                             request.getSession().removeAttribute("phone");
 
-                            response.sendRedirect("https://aiot.usky.cn/work/index.html#/pages/login/login");
+                            response.sendRedirect("https://aiot.usky.cn/work/#/pages/login");
                         }
                     }catch (IOException e){
                         throw new BusinessException(e.getMessage());
@@ -208,7 +208,7 @@ public class WeChatController {
     /**
      * 登录并注册
      */
-    @PostMapping("signUp")
+    @PostMapping("/signUp")
     public Map<String,Object> signUp(@RequestBody SignUpRequestVO requestVO){
         String phone = requestVO.getPhone();
         String verify = requestVO.getVerify();

+ 76 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/MceContent.java

@@ -0,0 +1,76 @@
+package com.usky.iot.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-04-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class MceContent implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 消息标题
+     */
+    private String infoTitle;
+
+    /**
+     * 消息内容
+     */
+    private String infoContent;
+
+    /**
+     * 消息类型
+     */
+    private String infoType;
+
+    /**
+     * 租户号
+     */
+    private Integer tenantId;
+
+    /**
+     * 组织机构ID
+     */
+    private Integer deptId;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+
+}

+ 91 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/MceReceive.java

@@ -0,0 +1,91 @@
+package com.usky.iot.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-04-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class MceReceive implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 接收人ID
+     */
+    private Integer receiverId;
+
+    /**
+     * 接收人
+     */
+    private String receiverName;
+
+    /**
+     * 消息类型
+     */
+    private String infoType;
+
+    /**
+     * 是否已读;0、未读,1、已读
+     */
+    private Integer readFlag;
+
+    /**
+     * 消息内容ID
+     */
+    private Integer contentId;
+
+    /**
+     * 子模块记录ID
+     */
+    private Integer moduleId;
+
+    /**
+     * 租户号
+     */
+    private Integer tenantId;
+
+    /**
+     * 组织机构ID
+     */
+    private Integer deptId;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+
+}

+ 76 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/MceSetting.java

@@ -0,0 +1,76 @@
+package com.usky.iot.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-04-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class MceSetting implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * APP通知方式
+     */
+    private String appMode;
+
+    /**
+     * PC端通知方式
+     */
+    private String pcMode;
+
+    /**
+     * 微信端通知方式
+     */
+    private String wcMode;
+
+    /**
+     * 租户号
+     */
+    private Integer tenantId;
+
+    /**
+     * 组织机构ID
+     */
+    private Integer deptId;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/MceContentMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.MceContent;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 消息内容表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+public interface MceContentMapper extends CrudMapper<MceContent> {
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/MceReceiveMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.MceReceive;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 消息接收表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+public interface MceReceiveMapper extends CrudMapper<MceReceive> {
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/MceSettingMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.MceSetting;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 消息设置表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+public interface MceSettingMapper extends CrudMapper<MceSetting> {
+
+}

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/MceContentService.java

@@ -0,0 +1,16 @@
+package com.usky.iot.service;
+
+import com.usky.iot.domain.MceContent;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 消息内容表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+public interface MceContentService extends CrudService<MceContent> {
+
+}

+ 32 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/MceReceiveService.java

@@ -0,0 +1,32 @@
+package com.usky.iot.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.BaseBuild;
+import com.usky.iot.domain.DmpDeviceInfo;
+import com.usky.iot.domain.MceReceive;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 消息接收表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+public interface MceReceiveService extends CrudService<MceReceive> {
+
+    CommonPage<Object> mceList(String infoTitle, String infoType, String startTime, String endTime, Integer current, Integer size);
+
+    CommonPage<Object> mceManageList(String infoTitle, String infoType, String startTime, String endTime, Integer current, Integer size);
+
+    CommonPage<MceReceive> mceManageById(Integer id, Integer current, Integer size);
+
+    Map<String, Object> mceReceiveStatic();
+
+    void updateMceReceive(MceReceive mceReceive);
+}

+ 24 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/MceSettingService.java

@@ -0,0 +1,24 @@
+package com.usky.iot.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.MceSetting;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 消息设置表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+public interface MceSettingService extends CrudService<MceSetting> {
+    void add(MceSetting mceSetting);
+
+    Map<String, Object> mceSettingInfo();
+
+    CommonPage<Map<String, Object>> mceSettingList(String createBy,Integer current, Integer size);
+}

+ 23 - 19
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAlarmServiceImpl.java

@@ -3,9 +3,11 @@ package com.usky.iot.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.backend.client.DataQueryClient;
 import com.usky.backend.domain.StatusVO;
 import com.usky.common.core.bean.ApiResult;
@@ -187,7 +189,7 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
 
     public CommonPage<BaseAlarm> page(BaseAlarmListVO baseAlarmListVO){
         List<BaseAlarm> list = new ArrayList<>();
-
+        IPage<BaseAlarm> page = new Page<>(baseAlarmListVO.getCurrent(), baseAlarmListVO.getSize());
         LambdaQueryWrapper<BaseAlarm> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(StringUtils.isNotBlank(baseAlarmListVO.getDeviceId()),BaseAlarm::getDeviceId,baseAlarmListVO.getDeviceId())
                 .eq(StringUtils.isNotBlank(baseAlarmListVO.getProductCode()),BaseAlarm::getProductCode,baseAlarmListVO.getProductCode())
@@ -195,7 +197,8 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
                         baseAlarmListVO.getAlarmType())
                 .eq(null != baseAlarmListVO.getHandleStatus(),BaseAlarm::getHandleStatus,baseAlarmListVO.getHandleStatus())
                 .between(StringUtils.isNotBlank(baseAlarmListVO.getStartTime()) && StringUtils.isNotBlank(baseAlarmListVO.getEndTime()),BaseAlarm::getAlarmTime,baseAlarmListVO.getStartTime(),baseAlarmListVO.getEndTime())
-                .eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId());
+                .eq(BaseAlarm::getTenantId,SecurityUtils.getTenantId())
+                .eq(Objects.nonNull(baseAlarmListVO.getId()),BaseAlarm::getId,baseAlarmListVO.getId());
         if (StringUtils.isNotBlank(baseAlarmListVO.getTypeCode())){
             if (baseAlarmListVO.getTypeCode().equals("1")){
                 queryWrapper.eq(BaseAlarm::getAlarmGrade,1)
@@ -207,11 +210,12 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
         }else {
             queryWrapper.orderByDesc(BaseAlarm::getId);
         }
-        List<BaseAlarm> records = this.list(queryWrapper);
-        if(records.size()>0){
+        page = this.page(page,queryWrapper);
+//        List<BaseAlarm> records = this.list(queryWrapper);
+        if(page.getRecords().size()>0){
             List<String> devList = new ArrayList<>();
-            for(int i=0;i<records.size();i++){
-                devList.add(records.get(i).getDeviceId());
+            for(int i=0;i<page.getRecords().size();i++){
+                devList.add(page.getRecords().get(i).getDeviceId());
             }
 
             if(devList.size() > 0){
@@ -224,17 +228,17 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
                 lambdaQuery1.in(BaseFacilityDevice::getDeviceId,devList);
                 List<BaseFacilityDevice> records1 = baseFacilityDeviceService.list(lambdaQuery1);
                 if(CollectionUtils.isNotEmpty(deviceInfo)){
-                    for(int i=0;i<records.size();i++){
+                    for(int i=0;i<page.getRecords().size();i++){
                         for(int j=0;j<deviceInfo.size();j++){
-                            if(records.get(i).getDeviceId().equals(deviceInfo.get(j).getDeviceId())){
-                                records.get(i).setDeviceName(deviceInfo.get(j).getDeviceName());
-                                records.get(i).setDeviceType(deviceInfo.get(j).getDeviceType());
+                            if(page.getRecords().get(i).getDeviceId().equals(deviceInfo.get(j).getDeviceId())){
+                                page.getRecords().get(i).setDeviceName(deviceInfo.get(j).getDeviceName());
+                                page.getRecords().get(i).setDeviceType(deviceInfo.get(j).getDeviceType());
                                 break;
                             }
                         }
                         for(int k=0;k<records1.size();k++){
-                            if(records.get(i).getDeviceId().equals(records1.get(k).getDeviceId())){
-                                records.get(i).setFacilityId(records1.get(k).getFacilityId());
+                            if(page.getRecords().get(i).getDeviceId().equals(records1.get(k).getDeviceId())){
+                                page.getRecords().get(i).setFacilityId(records1.get(k).getFacilityId());
                                 break;
                             }
                         }
@@ -244,10 +248,10 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
 
             List<BaseAlarmType> alarmTypeList = baseMapper.getAlarmTypeList();
             if(CollectionUtils.isNotEmpty(alarmTypeList)){
-                for(int i=0;i<records.size();i++){
+                for(int i=0;i<page.getRecords().size();i++){
                     for(int j=0;j<alarmTypeList.size();j++){
-                        if(records.get(i).getAlarmType().equals(alarmTypeList.get(j).getTypeCode())){
-                            records.get(i).setTypeImg(alarmTypeList.get(j).getTypeImg());
+                        if(page.getRecords().get(i).getAlarmType().equals(alarmTypeList.get(j).getTypeCode())){
+                            page.getRecords().get(i).setTypeImg(alarmTypeList.get(j).getTypeImg());
                             break;
                         }
                     }
@@ -257,11 +261,11 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
         }
 
         if(StringUtils.isNotBlank(baseAlarmListVO.getDeviceName())){
-            list = records.stream().filter(e -> baseAlarmListVO.getDeviceName().equals(e.getDeviceName())).collect(Collectors.toList());
+            list = page.getRecords().stream().filter(e -> baseAlarmListVO.getDeviceName().equals(e.getDeviceName())).collect(Collectors.toList());
         }else {
-            if(records.size()>0){
-                for(int k=0;k<records.size();k++){
-                    list.add(records.get(k));
+            if(page.getRecords().size()>0){
+                for(int k=0;k<page.getRecords().size();k++){
+                    list.add(page.getRecords().get(k));
                 }
             }
 

+ 20 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/MceContentServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.iot.service.impl;
+
+import com.usky.iot.domain.MceContent;
+import com.usky.iot.mapper.MceContentMapper;
+import com.usky.iot.service.MceContentService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 消息内容表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+@Service
+public class MceContentServiceImpl extends AbstractCrudService<MceContentMapper, MceContent> implements MceContentService {
+
+}

+ 210 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/MceReceiveServiceImpl.java

@@ -0,0 +1,210 @@
+package com.usky.iot.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.iot.domain.BaseBuild;
+import com.usky.iot.domain.MceContent;
+import com.usky.iot.domain.MceReceive;
+import com.usky.iot.mapper.MceReceiveMapper;
+import com.usky.iot.service.MceContentService;
+import com.usky.iot.service.MceReceiveService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.system.RemoteUserService;
+import com.usky.system.domain.SysUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 消息接收表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+@Service
+public class MceReceiveServiceImpl extends AbstractCrudService<MceReceiveMapper, MceReceive> implements MceReceiveService {
+
+    @Autowired
+    private MceContentService mceContentService;
+
+    @Autowired
+    private RemoteUserService remoteUserService;
+
+    @Override
+    public CommonPage<Object> mceList(String infoTitle, String infoType, String startTime, String endTime, Integer current, Integer size) {
+        List<Object> list = new ArrayList<>();
+        LambdaQueryWrapper<MceContent> lambdaQuery1 = Wrappers.lambdaQuery();
+        lambdaQuery1.select(MceContent::getId, MceContent::getInfoTitle, MceContent::getInfoContent)
+                .like(StringUtils.isNotBlank(infoTitle),MceContent::getInfoTitle,infoTitle);
+        List<MceContent> list1 = mceContentService.list(lambdaQuery1);
+        IPage<MceReceive> page = new Page<>(current, size);
+        List<Integer> contentIds = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(list1)){
+            for(int i=0;i<list1.size();i++){
+                contentIds.add(list1.get(i).getId());
+            }
+            LambdaQueryWrapper<MceReceive> lambdaQuery = Wrappers.lambdaQuery();
+            lambdaQuery.select(MceReceive::getId, MceReceive::getInfoType,
+                    MceReceive::getContentId, MceReceive::getReadFlag, MceReceive::getCreateTime,
+                    MceReceive::getReceiverId,MceReceive::getModuleId)
+                    .between(StringUtils.isNotBlank(startTime)&&StringUtils.isNotBlank(endTime),MceReceive::getCreateTime,
+                            startTime,endTime)
+                    .eq(StringUtils.isNotBlank(infoType),MceReceive::getInfoType, infoType)
+//                .eq(MceReceive::getReceiverId, SecurityUtils.getUserId())
+                    .in(CollectionUtils.isNotEmpty(contentIds),MceReceive::getContentId,contentIds);
+//                .inSql(StringUtils.isNotBlank(infoTitle),MceReceive::getContentId,"SELECT id FROM mce_content WHERE " +
+//                        "info_title like '%" + infoTitle + "%' AND tenant_id = "+SecurityUtils.getTenantId()+"");
+            page = this.page(page,lambdaQuery);
+            if (CollectionUtils.isNotEmpty(page.getRecords())) {
+                for (int i = 0; i < page.getRecords().size(); i++) {
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("id", page.getRecords().get(i).getId());
+                    map.put("infoType", page.getRecords().get(i).getInfoType());
+                    map.put("readFlag", page.getRecords().get(i).getReadFlag());
+                    map.put("moduleId", page.getRecords().get(i).getModuleId());
+                    map.put("createTime", page.getRecords().get(i).getCreateTime());
+                    if (CollectionUtils.isNotEmpty(list1)) {
+                        for (int j = 0; j < list1.size(); j++) {
+                            if (page.getRecords().get(i).getContentId().equals(list1.get(j).getId())) {
+                                map.put("infoTitle", list1.get(j).getInfoTitle());
+                                map.put("infoContent", list1.get(j).getInfoContent());
+                            }
+                        }
+                    }
+                    list.add(map);
+                }
+            }
+        }
+        return new CommonPage<>(list,page.getTotal(),page.getCurrent(),page.getSize());
+    }
+
+    @Override
+    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);
+        LambdaQueryWrapper<MceContent> lambdaQuery1 = Wrappers.lambdaQuery();
+        lambdaQuery1.select(MceContent::getId, MceContent::getInfoTitle, MceContent::getInfoContent,
+                MceContent::getCreateTime,MceContent::getInfoType)
+                .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)
+                .eq(MceContent::getCreateBy,SecurityUtils.getUsername())
+                .eq(MceContent::getTenantId,SecurityUtils.getTenantId());
+        page = mceContentService.page(page,lambdaQuery1);
+        if (CollectionUtils.isNotEmpty(page.getRecords())) {
+            List<Integer> contentIds = new ArrayList<>();
+            for (int i = 0; i < page.getRecords().size(); i++) {
+                contentIds.add(page.getRecords().get(i).getId());
+            }
+            QueryWrapper<MceReceive> queryWrapper = Wrappers.query();
+            queryWrapper.select("content_id AS contentId","COUNT(read_flag=0 or null) as notReadCount","COUNT(read_flag=1 or null) as readCount")
+                    .in("content_id",contentIds)
+                    .groupBy("content_id");
+            List<Map<String,Object>> readStatisticList = this.listMaps(queryWrapper);
+            for (int i = 0; i < page.getRecords().size(); i++) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("id", page.getRecords().get(i).getId());
+                map.put("infoTitle", page.getRecords().get(i).getInfoTitle());
+                map.put("infoContent", page.getRecords().get(i).getInfoContent());
+                map.put("infoType", page.getRecords().get(i).getInfoType());
+                map.put("createTime", page.getRecords().get(i).getCreateTime());
+                for (int j = 0; j < readStatisticList.size(); j++) {
+                    if (page.getRecords().get(i).getId().equals(readStatisticList.get(j).get("contentId"))){
+                        map.put("notReadCount", readStatisticList.get(j).get("notReadCount"));
+                        map.put("readCount", readStatisticList.get(j).get("readCount"));
+                    }
+                }
+                list.add(map);
+            }
+        }
+        return new CommonPage<>(list,page.getTotal(),page.getCurrent(),page.getSize());
+    }
+
+    @Override
+    public CommonPage<MceReceive> mceManageById(Integer id, Integer current, Integer size) {
+        IPage<MceReceive> page = new Page<>(current, size);
+        LambdaQueryWrapper<MceReceive> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(MceReceive::getContentId,id);
+        page = this.page(page,lambdaQuery);
+//        if (CollectionUtils.isNotEmpty(page.getRecords())) {
+//            List<Integer> userIds = new ArrayList<>();
+//            for (int i = 0; i < page.getRecords().size(); i++) {
+//                userIds.add(page.getRecords().get(i).getReceiverId());
+//            }
+//            List<Integer> distinctUserIds = userIds.stream()
+//                    .distinct()
+//                    .collect(Collectors.toList());
+//            ApiResult<List<SysUser>> userApi = remoteUserService.userByIdList(distinctUserIds);
+//            List<SysUser> list1 = userApi.getData();
+//            for (int j = 0; j < page.getRecords().size(); j++) {
+//                if (CollectionUtils.isNotEmpty(list1)){
+//                    for (int k = 0; k < list1.size(); k++) {
+//                        long longValue = list1.get(k).getUserId();
+//                        Integer intValue = (int) longValue;
+//                        if (page.getRecords().get(j).getReceiverId().equals(intValue)){
+//                            page.getRecords().get(j).setUpdateBy(list1.get(k).getUserName());
+//                        }
+//                    }
+//                }
+//            }
+//        }
+        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
+    }
+
+    @Override
+    public Map<String, Object> mceReceiveStatic() {
+        LocalDateTime currentDate = LocalDateTime.now();
+        LocalDateTime oneYearAgo = currentDate.minusYears(1);
+        LocalDateTime zeroTime = oneYearAgo.withHour(0).withMinute(0).withSecond(0);
+        QueryWrapper<MceReceive> queryWrapper = Wrappers.query();
+        queryWrapper.select("COUNT(read_flag=0 or null) as notReadCount","COUNT(read_flag=1 or null) as readCount"
+                ,"info_type AS infoType")
+                .eq("receiver_id",SecurityUtils.getUserId())
+                .between("create_time",zeroTime,currentDate)
+                .groupBy("info_type");
+        List<Map<String,Object>> readStatisticList = this.listMaps(queryWrapper);
+        LambdaQueryWrapper<MceReceive> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(MceReceive::getReceiverId,SecurityUtils.getUserId())
+                .eq(MceReceive::getReadFlag,0);
+        Integer notReadCount = this.count(lambdaQuery);
+        Map<String, Object> map = new HashMap<>();
+        map.put("notReadCount", notReadCount);
+        map.put("infoTypeStatic", readStatisticList);
+        return map;
+    }
+
+    @Override
+    public void updateMceReceive(MceReceive mceReceive){
+        LambdaUpdateWrapper<MceReceive> updateWrapper = new UpdateWrapper<MceReceive>().lambda();
+        if (Objects.nonNull(mceReceive.getId())&&!mceReceive.getId().equals(0)){
+            updateWrapper.eq(MceReceive::getId,mceReceive.getId())
+                    .set(MceReceive::getReadFlag,1)
+                    .set(MceReceive::getUpdateBy,SecurityUtils.getUsername())
+                    .set(MceReceive::getUpdateTime,LocalDateTime.now());
+        }else {
+            updateWrapper.eq(MceReceive::getReceiverId,SecurityUtils.getUserId())
+                    .eq(MceReceive::getReadFlag,0)
+                    .set(MceReceive::getReadFlag,1)
+                    .set(MceReceive::getUpdateBy,SecurityUtils.getUsername())
+                    .set(MceReceive::getUpdateTime,LocalDateTime.now());
+        }
+        this.update(updateWrapper);
+    }
+}

+ 97 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/MceSettingServiceImpl.java

@@ -0,0 +1,97 @@
+package com.usky.iot.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.iot.domain.MceContent;
+import com.usky.iot.domain.MceReceive;
+import com.usky.iot.domain.MceSetting;
+import com.usky.iot.mapper.MceSettingMapper;
+import com.usky.iot.service.MceSettingService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 消息设置表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2024-04-19
+ */
+@Service
+public class MceSettingServiceImpl extends AbstractCrudService<MceSettingMapper, MceSetting> implements MceSettingService {
+    @Override
+    public void add(MceSetting mceSetting){
+        if (mceSetting.getId().equals(0)){
+            mceSetting.setCreateBy(SecurityUtils.getUsername());
+            mceSetting.setCreateTime(LocalDateTime.now());
+            mceSetting.setTenantId(SecurityUtils.getTenantId());
+            long longValue = SecurityUtils.getLoginUser().getSysUser().getDeptId();
+            Integer intValue = (int) longValue;
+            mceSetting.setDeptId(intValue);
+            this.save(mceSetting);
+        }else {
+            mceSetting.setUpdateBy(SecurityUtils.getUsername());
+            mceSetting.setUpdateTime(LocalDateTime.now());
+            this.updateById(mceSetting);
+        }
+    }
+    @Override
+    public Map<String, Object> mceSettingInfo() {
+        LambdaQueryWrapper<MceSetting> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(MceSetting::getCreateBy, SecurityUtils.getUsername())
+                .eq(MceSetting::getTenantId,SecurityUtils.getTenantId());
+        List<MceSetting> list1 = this.list(lambdaQuery);
+        Map<String, Object> map = new HashMap<>();
+        if (CollectionUtils.isEmpty(list1)) {
+            Map<String, Integer> map1 = new HashMap<>();
+            map1.put("meetingNotice", 1);
+            map1.put("noticeBulletin", 1);
+            map1.put("inspectionSystem", 1);
+            map1.put("deviceAlarm", 1);
+            map.put("appMode",map1);
+            map.put("pcMode",map1);
+            map.put("wcMode",map1);
+        }else {
+            map.put("appMode",JSONObject.parseObject(list1.get(0).getAppMode()));
+            map.put("pcMode",JSONObject.parseObject(list1.get(0).getPcMode()));
+            map.put("wcMode",JSONObject.parseObject(list1.get(0).getWcMode()));
+        }
+        return map;
+    }
+
+    @Override
+    public CommonPage<Map<String, Object>> mceSettingList(String createBy,Integer current, Integer size) {
+        IPage<MceSetting> page = new Page<>(current, size);
+        List<Map<String, Object>> list = new ArrayList<>();
+        LambdaQueryWrapper<MceSetting> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(MceSetting::getTenantId,SecurityUtils.getTenantId())
+                .like(StringUtils.isNotBlank(createBy),MceSetting::getCreateBy,createBy);
+        page = this.page(page,lambdaQuery);
+        if (CollectionUtils.isNotEmpty(page.getRecords())) {
+            for (int i = 0; i < page.getRecords().size(); i++) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("id",page.getRecords().get(i).getId());
+                map.put("createBy",page.getRecords().get(i).getCreateBy());
+                map.put("appMode",JSONObject.parseObject(page.getRecords().get(i).getAppMode()));
+                map.put("pcMode",JSONObject.parseObject(page.getRecords().get(i).getPcMode()));
+                map.put("wcMode",JSONObject.parseObject(page.getRecords().get(i).getWcMode()));
+                list.add(map);
+            }
+        }
+        return new CommonPage<>(list,page.getTotal(),page.getCurrent(),page.getSize());
+    }
+}

+ 5 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/vo/BaseAlarmListVO.java

@@ -15,6 +15,11 @@ public class BaseAlarmListVO {
      */
     private Integer size;
 
+    /**
+     * 主键ID
+     */
+    private Integer id;
+
     /**
      * 产品编码
      */

+ 19 - 0
service-iot/service-iot-biz/src/main/resources/mapper/iot/MceContentMapper.xml

@@ -0,0 +1,19 @@
+<?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.iot.mapper.MceContentMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.iot.domain.MceContent">
+        <id column="id" property="id" />
+        <result column="info_title" property="infoTitle" />
+        <result column="info_content" property="infoContent" />
+        <result column="info_type" property="infoType" />
+        <result column="tenant_id" property="tenantId" />
+        <result column="dept_id" property="deptId" />
+        <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>

+ 22 - 0
service-iot/service-iot-biz/src/main/resources/mapper/iot/MceReceiveMapper.xml

@@ -0,0 +1,22 @@
+<?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.iot.mapper.MceReceiveMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.iot.domain.MceReceive">
+        <id column="id" property="id" />
+        <result column="receiver_id" property="receiverId" />
+        <result column="receiver_name" property="receiverName" />
+        <result column="info_type" property="infoType" />
+        <result column="read_flag" property="readFlag" />
+        <result column="content_id" property="contentId" />
+        <result column="module_id" property="moduleId" />
+        <result column="tenant_id" property="tenantId" />
+        <result column="dept_id" property="deptId" />
+        <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>

+ 19 - 0
service-iot/service-iot-biz/src/main/resources/mapper/iot/MceSettingMapper.xml

@@ -0,0 +1,19 @@
+<?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.iot.mapper.MceSettingMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.iot.domain.MceSetting">
+        <id column="id" property="id" />
+        <result column="app_mode" property="appMode" />
+        <result column="pc_mode" property="pcMode" />
+        <result column="wc_mode" property="wcMode" />
+        <result column="tenant_id" property="tenantId" />
+        <result column="dept_id" property="deptId" />
+        <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>