From 5dedf6c30f0864ae7c4fd3c47c74b057f2360156 Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Tue, 03 Sep 2024 10:07:54 +0800
Subject: [PATCH] 小程序开发
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeApplyMapper.xml | 208 ++
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUnit.java | 30
dyh-service/dyh-cust/src/main/java/cn/huge/module/wechat/miniapp/service/WeixinMaService.java | 14
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeJoinMapper.xml | 196 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticePartyMapper.xml | 184 +
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/HotNewsMapper.java | 72
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeJoin.json | 15
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeParty.json | 13
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatPersonalDTO.java | 58
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/controller/wechat/PaHotNewsWechatController.java | 146 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeHandle.json | 15
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeParty.java | 108 +
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatLoginDTO.java | 63
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/PaAccountMapper.java | 8
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/json/HotVideo.json | 9
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeModeBO.java | 17
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/HotVideoMapper.java | 64
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUnitWeChatCountDTO.java | 19
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/xml/HotVideoMapper.xml | 161 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeJoin.java | 120 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeSysMapper.xml | 178 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeShortMapper.xml | 175 +
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/bo/HotNewsBO.java | 17
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml | 23
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeMode.java | 89
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeApply.java | 132 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeApplyMapper.java | 64
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeApply.json | 17
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeSysMapper.java | 64
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeApplyBO.java | 17
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java | 87
dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/dto/WechatBindCaseDTO.java | 40
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticePartyMapper.java | 64
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/po/HotVideo.java | 84
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeModeMapper.java | 64
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeMode.json | 11
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/service/HotVideoService.java | 133 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeSysBO.java | 17
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java | 1
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeHandle.java | 120 +
dyh-service/dyh-cust/src/main/java/cn/huge/module/aop/LogAop.java | 57
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeShortBO.java | 17
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/wechat/CtUnitWechatController.java | 176 +
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/bo/HotVideoBO.java | 17
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/service/NoticePartyService.java | 133 +
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/json/HotNews.json | 12
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/xml/HotNewsMapper.xml | 203 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeHandleMapper.xml | 196 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeHandleMapper.java | 64
dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/NoticeBaseConsts.java | 51
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java | 140 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/dto/NoticeHandleDTO.java | 40
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeJoinMapper.java | 64
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeShort.json | 13
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatEmpowerDTO.java | 46
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/controller/wechat/NoticePartyWechatController.java | 178 +
dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/IdUtils.java | 23
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/service/HotNewsService.java | 144 +
dyh-service/dyh-base/src/main/java/cn/huge/module/oper/dto/SeCustWechatDTO.java | 83
dyh-service/dyh-sys/src/main/java/cn/huge/module/aop/LogAop.java | 57
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUnitMapper.xml | 31
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java | 115
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeShort.java | 101 +
dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/po/HotNews.java | 102 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeJoinBO.java | 17
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaAccountWechatController.java | 150 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeShortMapper.java | 64
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java | 30
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeModeMapper.xml | 163 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticePartyBO.java | 17
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeSys.json | 12
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeHandleBO.java | 17
dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeSys.java | 102 +
73 files changed, 5,475 insertions(+), 77 deletions(-)
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/IdUtils.java b/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/IdUtils.java
index 644eac2..5b44650 100644
--- a/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/IdUtils.java
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/IdUtils.java
@@ -100,6 +100,29 @@
return false;
}
}
+
+ /**
+ * 获取时间Id,后四位常量
+ * @return String
+ */
+ public synchronized static String getNewTimeId(){
+ String timeId = getNowTime() + (COUNT_NUM++);
+ if(COUNT_NUM > 99999){
+ COUNT_NUM = 10000;
+ }
+ timeId=timeId.substring(2, timeId.length());
+ return timeId;
+ }
+
+ /**
+ * 获取时间Id,后四位常量
+ * @return String
+ */
+ public synchronized static String getNowTime(){
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+ String nowTime = sdf.format(new Date());
+ return nowTime;
+ }
}
/**
* -------------------_ooOoo_-------------------
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/NoticeBaseConsts.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/NoticeBaseConsts.java
new file mode 100644
index 0000000..85e2878
--- /dev/null
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/NoticeBaseConsts.java
@@ -0,0 +1,51 @@
+package cn.huge.module.mediate.constant;
+
+/**
+ * @title: 消息通知相关常量类
+ * @description: 消息通知相关常量类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2021-11-05 16:51:48
+ * @version: 1.0.0
+ */
+public class NoticeBaseConsts {
+
+ /**
+ * 消息类型,1:系统通知,2:平台公告
+ */
+ public static final String NOTICE_TYPE_1 = "1";
+ public static final String NOTICE_TYPE_2 = "2";
+
+ /**
+ * 已读状态,1:未读(默认值),2:已读
+ */
+ public static final String READ_STATUS_1 = "1";
+ public static final String READ_STATUS_2 = "2";
+
+ /**
+ * 模板类型,1:调解预约模板
+ */
+ public static final String MODE_TYPE_1 = "1";
+}
+/**
+ * -------------------_ooOoo_-------------------
+ * ------------------o8888888o------------------
+ * ------------------88" . "88------------------
+ * ------------------(| -_- |)------------------
+ * ------------------O\ = /O------------------
+ * ---------------____/`---'\____---------------
+ * -------------.' \\| |// `.-------------
+ * ------------/ \\||| : |||// \------------
+ * -----------/ _||||| -:- |||||- \-----------
+ * -----------| | \\\ - /// | |-----------
+ * -----------| \_| ''\---/'' | |-----------
+ * -----------\ .-\__ `-` ___/-. /-----------
+ * ---------___`. .' /--.--\ `. . __----------
+ * ------."" '< `.___\_<|>_/___.' >'"".-------
+ * -----| | : `- \`.;`\ _ /`;.`/ - ` : | |-----
+ * -----\ \ `-. \_ __\ /__ _/ .-` / /-----
+ * ======`-.____`-.___\_____/___.-`____.-'======
+ * -------------------`=---='
+ * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ * ---------佛祖保佑---hugeinfo---永无BUG----------
+ */
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/dto/WechatBindCaseDTO.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/dto/WechatBindCaseDTO.java
new file mode 100644
index 0000000..804c65c
--- /dev/null
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/dto/WechatBindCaseDTO.java
@@ -0,0 +1,40 @@
+package cn.huge.module.mediate.dto;
+
+import lombok.Data;
+
+/**
+ * @title: 当事人小程序-注册绑定已有案件数据传输对象
+ * @description: 当事人小程序-注册绑定已有案件数据传输对象
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-03-11 11:43:25
+ * @version: 1.0.0
+ */
+@Data
+public class WechatBindCaseDTO {
+
+ /**
+ * 用户编号
+ */
+ private String userId;
+
+ /**
+ * 用户姓名
+ */
+ private String trueName;
+
+ /**
+ * 用户手机号码
+ */
+ private String mobile;
+
+ /**
+ * 用户身份证号码
+ */
+ private String idcard;
+
+ /**
+ * 客户编号
+ */
+ private String custId;
+}
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/oper/dto/SeCustWechatDTO.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/oper/dto/SeCustWechatDTO.java
new file mode 100644
index 0000000..110f0a8
--- /dev/null
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/oper/dto/SeCustWechatDTO.java
@@ -0,0 +1,83 @@
+package cn.huge.module.oper.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 客户微信小程序配置数据传输对象
+ * @description: 客户微信小程序配置数据传输对象
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-04-12 15:28:22
+ * @version 1.0.0
+ */
+@Data
+public class SeCustWechatDTO {
+
+ /**
+ * 客户微信小程序信息编号
+ */
+ private String id;
+
+ /**
+ * 客户编号
+ */
+ private String custId;
+
+ /**
+ * 小程序主体id
+ */
+ private String mainId;
+
+ /**
+ * 小程序主体名称
+ */
+ private String mainName;
+
+ /**
+ * 小程序主体登录账号
+ */
+ private String mainAcc;
+
+ /**
+ * 小程序主体登录密码
+ */
+ private String mainPower;
+
+ /**
+ * 小程序appid
+ */
+ private String appid;
+
+ /**
+ * 小程序secret
+ */
+ private String secret;
+
+ /**
+ * 小程序token
+ */
+ private String token;
+
+ /**
+ * 小程序aeskey
+ */
+ private String aeskey;
+
+ /**
+ * 小程序msgDataFormat
+ */
+ private String msgDataFormat;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 状态时间
+ */
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/aop/LogAop.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/aop/LogAop.java
new file mode 100644
index 0000000..55f5771
--- /dev/null
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/aop/LogAop.java
@@ -0,0 +1,57 @@
+package cn.huge.module.aop;
+
+import cn.huge.base.common.utils.ObjectUtils;
+import com.alibaba.fastjson.JSON;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author zhouxiantao
+ * @create 2024-08-30 11:46
+ */
+@Component
+@Aspect
+@Slf4j
+public class LogAop {
+ @Around("execution(* cn.huge.module.*.controller.*.*.*(..))")
+ public Object aroundAdvice(ProceedingJoinPoint joinPoint) throws Throwable {
+ long starttime = System.currentTimeMillis();
+ Object[] objs = joinPoint.getArgs();
+ try{
+ log.info("start to {} {}", joinPoint.getSignature().getName(), JSON.toJSONString(objs));
+ }catch (Exception e){
+ log.info("start to {} 参数不能转成字符串,忽略不处理", joinPoint.getSignature().getName());
+ }
+ Object result = joinPoint.proceed(objs);
+ long endtime = System.currentTimeMillis();
+ try {
+ String resultJson = JSON.toJSONString(result);
+ if(ObjectUtils.isNotEmpty(result) && resultJson.length() > 1000) {
+ log.info("finish to {} 日志过长不打印 {}ms", joinPoint.getSignature().getName(),endtime-starttime);
+ }else {
+ log.info("finish to {} {} {}ms", joinPoint.getSignature().getName(), resultJson,endtime-starttime);
+ }
+ }catch (Exception e){
+ log.info("finish to {} 不能转成字符串,忽略不处理 {}ms", joinPoint.getSignature().getName(),endtime-starttime);
+ }
+ return result;
+ }
+
+ @Around("execution(* cn.huge.module.*.dao.mapper.*.*(..))")
+ public Object aroundAdviceDao(ProceedingJoinPoint joinPoint) throws Throwable {
+ long starttime = System.currentTimeMillis();
+ Object[] objs = joinPoint.getArgs();
+ Object result = joinPoint.proceed(objs);
+ long endtime = System.currentTimeMillis();
+ Long times = endtime-starttime;
+ if(times > 2000){
+ log.info("Executing sql consumes time more than 1s {} ,{}ms", joinPoint.getSignature().getName(),endtime-starttime);
+ }else{
+ log.info("Executing sql consumes time {} ,{}ms", joinPoint.getSignature().getName(),endtime-starttime);
+ }
+ return result;
+ }
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java
index 3b2cd74..2abecc2 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java
@@ -21,6 +21,7 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/wechat/CtUnitWechatController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/wechat/CtUnitWechatController.java
new file mode 100644
index 0000000..dc669fd
--- /dev/null
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/wechat/CtUnitWechatController.java
@@ -0,0 +1,176 @@
+package cn.huge.module.ctuser.controller.wechat;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.ctuser.domain.po.CtUnit;
+import cn.huge.module.ctuser.service.CtUnitService;
+import cn.huge.module.ctuser.service.CtUserService;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 客户组织信息表接口api-微服务调用
+ * @description: 客户组织信息表接口api-微服务调用
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2024-08-19 20:04:19
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/wechat/ctUnit")
+public class CtUnitWechatController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private CtUnitService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter() {
+ Map<String, Object> terms = Maps.newHashMap();
+ String keyword = request.getParameter("keyword");
+ if (StringUtils.isNotBlank(keyword)){
+ terms.put("keyword", keyword);
+ }
+ // 组织地址省
+ String prov = request.getParameter("prov");
+ if (StringUtils.isNotBlank(prov)){
+ terms.put("prov", prov);
+ }
+ // 组织地址省名称
+ String provName = request.getParameter("provName");
+ if (StringUtils.isNotBlank(provName)){
+ terms.put("provName", provName);
+ }
+ // 组织地址市
+ String city = request.getParameter("city");
+ if (StringUtils.isNotBlank(city)){
+ terms.put("city", city);
+ }
+ // 组织地址市名称
+ String cityName = request.getParameter("cityName");
+ if (StringUtils.isNotBlank(cityName)){
+ terms.put("cityName", cityName);
+ }
+ // 组织地址区
+ String area = request.getParameter("area");
+ if (StringUtils.isNotBlank(area)){
+ terms.put("area", area);
+ }
+ // 组织地址区名称
+ String areaName = request.getParameter("areaName");
+ if (StringUtils.isNotBlank(areaName)){
+ terms.put("areaName", areaName);
+ }
+ // 组织地址街道
+ String road = request.getParameter("road");
+ if (StringUtils.isNotBlank(road)){
+ terms.put("road", road);
+ }
+ // 组织地址街道名称
+ String roadName = request.getParameter("roadName");
+ if (StringUtils.isNotBlank(roadName)){
+ terms.put("roadName", roadName);
+ }
+ // 组织地址社区
+ String village = request.getParameter("village");
+ if (StringUtils.isNotBlank(village)){
+ terms.put("village", village);
+ }
+ // 组织地址社区名称
+ String villageName = request.getParameter("villageName");
+ if (StringUtils.isNotBlank(villageName)){
+ terms.put("villageName", villageName);
+ }
+ return terms;
+ }
+
+ /**
+ * 统计机构数量
+ * @url {ctx}/api/wechat/ctUnit/countUnit
+ * @return Object
+ */
+ @GetMapping("/countUnit")
+ public Object countUnit() {
+ try {
+ return ReturnSucUtils.getRepInfo(service.wechatCountUnit());
+ } catch (Exception e) {
+ log.error("Controller接口[CtUnitWechatController.countUnit]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 综治中心查询
+ * @url {ctx}/api/wechat/ctUnit/pageZzQuery
+ * @return Object
+ */
+ @GetMapping("/pageZzQuery")
+ public Object pageZzQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ try {
+ Map<String, Object> terms = getParameter();
+ terms.put("unitType",1);
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<CtUnit> ctUnitPage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", ctUnitPage);
+ } catch (Exception e) {
+ log.error("Controller接口[CtUnitWechatController.pageZzQuery]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+
+ /**
+ * 调解组织查询
+ * @url {ctx}/api/wechat/ctUnit/pageZzQuery
+ * @return Object
+ */
+ @GetMapping("/pageTjQuery")
+ public Object pageTjQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ try {
+ Map<String, Object> terms = getParameter();
+ List<Integer> unitTypes = Arrays.asList(2,3,4,5);
+ terms.put("unitTypes",unitTypes);
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<CtUnit> ctUnitPage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", ctUnitPage);
+ } catch (Exception e) {
+ log.error("Controller接口[CtUnitWechatController.pageTjQuery]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 组织详情
+ * @url {ctx}/api/wechat/ctUnit/getById
+ * @return Object
+ */
+ @GetMapping("/getById")
+ public Object getById(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.getById(id));
+ } catch (Exception e) {
+ log.error("Controller接口[CtUnitWechatController.getById]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUnitMapper.xml b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUnitMapper.xml
index 98833ad..6c6718d 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUnitMapper.xml
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUnitMapper.xml
@@ -46,6 +46,12 @@
<result property="custId" column="cust_id"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
+ <result property="postalCode" column="postal_code"/>
+ <result property="telephone" column="telephone"/>
+ <result property="workTimeWeek" column="work_time_week"/>
+ <result property="workTimeAm" column="work_time_am"/>
+ <result property="workTimePm" column="work_time_pm"/>
+
</resultMap>
<!-- 表 -->
<sql id='table-name'>dyh_ct_unit</sql>
@@ -85,7 +91,12 @@
delete_status,
cust_id,
create_time,
- update_time
+ update_time,
+ postal_code,
+ telephone,
+ work_time_week,
+ work_time_am,
+ work_time_pm
</sql>
<!-- 更新实体字段 -->
<sql id="set-part">
@@ -122,12 +133,22 @@
<if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
<if test="entity.custId != null">cust_id = #{entity.custId},</if>
<if test="entity.createTime != null">create_time = #{entity.createTime},</if>
- <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime},</if>
+ <if test="entity.postalCode != null">postal_code = #{entity.postalCode},</if>
+ <if test="entity.telephone != null">telephone = #{entity.telephone},</if>
+ <if test="entity.workTimeWeek != null">work_time_week = #{entity.workTimeWeek},</if>
+ <if test="entity.workTimeAm != null">work_time_am = #{entity.workTimeAm},</if>
+ <if test="entity.workTimePm != null">work_time_pm = #{entity.workTimePm},</if>
+
+
</sql>
<!-- 条件 -->
<sql id="where-part">
<if test="terms != null">
<where>
+ <if test="terms.keyword != null and terms.keyword !=''">
+ and unit_name like CONCAT('%', #{terms.keyword}, '%')
+ </if>
<if test="terms.id != null and terms.id !=''">
and id = #{terms.id}
</if>
@@ -146,6 +167,12 @@
<if test="terms.unitType != null and terms.unitType !=''">
and unit_type = #{terms.unitType}
</if>
+ <if test="terms.unitTypes != null and terms.unitTypes.size > 0 ">
+ and unit_type in
+ <foreach item="unitType" collection="terms.unitTypes" separator="," open="(" close=")" index="">
+ #{unitType}
+ </foreach>
+ </if>
<if test="terms.unitCode != null and terms.unitCode !=''">
and unit_code = #{terms.unitCode}
</if>
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUnit.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUnit.java
index d5f1cd2..895a3d5 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUnit.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUnit.java
@@ -233,6 +233,36 @@
private Date updateTime;
/**
+ * 邮政编码
+ */
+ @TableField(value = "postal_code")
+ private String postalCode;
+
+ /**
+ * 联系电话
+ */
+ @TableField(value = "telephone")
+ private String telephone;
+
+ /**
+ * 办公时间,周
+ */
+ @TableField(value = "work_time_week")
+ private String workTimeWeek;
+
+ /**
+ * 办公时间,上午
+ */
+ @TableField(value = "work_time_am")
+ private String workTimeAm;
+
+ /**
+ * 办公时间,下午
+ */
+ @TableField(value = "work_time_pm")
+ private String workTimePm;
+
+ /**
* 子部门
*/
@TableField(exist = false)
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUnitWeChatCountDTO.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUnitWeChatCountDTO.java
new file mode 100644
index 0000000..5403d3c
--- /dev/null
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUnitWeChatCountDTO.java
@@ -0,0 +1,19 @@
+package cn.huge.module.ctuser.dto;
+
+import lombok.Data;
+
+/**
+ * @author zhouxiantao
+ * @create 2024-08-30 9:25
+ */
+@Data
+public class CtUnitWeChatCountDTO {
+ /**
+ * 综治数量
+ */
+ private Integer zzUnitNum;
+ /**
+ * 调解组织数量
+ */
+ private Integer tzUnitNum;
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
index 617011c..6f83f64 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
@@ -3,12 +3,14 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.constant.BaseConsts;
import cn.huge.module.ctuser.dao.mapper.CtUnitMapper;
import cn.huge.module.ctuser.domain.po.CtDept;
import cn.huge.module.ctuser.domain.po.CtUnit;
import cn.huge.module.ctuser.domain.po.CtUser;
+import cn.huge.module.ctuser.dto.CtUnitWeChatCountDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils;
@@ -21,10 +23,7 @@
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -271,4 +270,27 @@
public void updateTerms(CtUnit ctUnit) {
mapper.updateTerms(ctUnit);
}
+
+ /**
+ * 小程序统计机构数量
+ * */
+ public CtUnitWeChatCountDTO wechatCountUnit(){
+ CtUnitWeChatCountDTO ctUnitWeChatCountDTO = new CtUnitWeChatCountDTO();
+ QueryWrapper<CtUnit> unitQueryWrapper = new QueryWrapper<>();
+ unitQueryWrapper.eq("unit_type", 1);
+ Integer zzUnitNum = mapper.selectCount(unitQueryWrapper);
+ if(ObjectUtils.isEmpty(zzUnitNum)){
+ zzUnitNum = 0;
+ }
+ ctUnitWeChatCountDTO.setZzUnitNum(zzUnitNum);
+ List<Integer> unitTypeList = Arrays.asList(2,3,4,5);
+ QueryWrapper<CtUnit> unitQueryWrapper1 = new QueryWrapper<>();
+ unitQueryWrapper1.in("unit_type", unitTypeList);
+ Integer tzUnitNum = mapper.selectCount(unitQueryWrapper1);
+ if(ObjectUtils.isEmpty(tzUnitNum)){
+ tzUnitNum = 0;
+ }
+ ctUnitWeChatCountDTO.setTzUnitNum(tzUnitNum);
+ return ctUnitWeChatCountDTO;
+ }
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaAccountWechatController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaAccountWechatController.java
new file mode 100644
index 0000000..857491d
--- /dev/null
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaAccountWechatController.java
@@ -0,0 +1,150 @@
+package cn.huge.module.pauser.controller.wechat;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.pauser.dto.WeChatEmpowerDTO;
+import cn.huge.module.pauser.service.PaAccountService;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * @title: 公众用户账号表接口api-wechat端
+ * @description: 公众用户账号表接口api-wechat端
+ * @company: hugeinfo
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/wechat/paAccount")
+public class PaAccountWechatController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private PaAccountService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 账号编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 当事人编号
+ String userId = request.getParameter("userId");
+ if (StringUtils.isNotBlank(userId)){
+ terms.put("userId", userId);
+ }
+ // 帐号类型,1:平台web端,2:平台小程序
+ String accType = request.getParameter("accType");
+ if (StringUtils.isNotBlank(accType)){
+ terms.put("accType", accType);
+ }
+ // 身份唯一标识(存储唯一标识,比如账号、邮箱、手机号、第三方获取的唯一标识等)
+ String acc = request.getParameter("acc");
+ if (StringUtils.isNotBlank(acc)){
+ terms.put("acc", acc);
+ }
+ // 授权凭证(比如密码 、第三方登录的token、授权账号等)
+ String cipher = request.getParameter("cipher");
+ if (StringUtils.isNotBlank(cipher)){
+ terms.put("cipher", cipher);
+ }
+ // 授权凭证明文
+ String cipherOpen = request.getParameter("cipherOpen");
+ if (StringUtils.isNotBlank(cipherOpen)){
+ terms.put("cipherOpen", cipherOpen);
+ }
+ // 密码最新更新时间
+ String cipherTime = request.getParameter("cipherTime");
+ if (StringUtils.isNotBlank(cipherTime)){
+ terms.put("cipherTime", cipherTime);
+ }
+ // 最新登录时间
+ String loginTime = request.getParameter("loginTime");
+ if (StringUtils.isNotBlank(loginTime)){
+ terms.put("loginTime", loginTime);
+ }
+ // 限制登录时间(密码错误次数超过限制,默认30分钟)
+ String limitTime = request.getParameter("limitTime");
+ if (StringUtils.isNotBlank(limitTime)){
+ terms.put("limitTime", limitTime);
+ }
+ // 删除状态,0:未删除,1:已删除
+ String deleteStatus = request.getParameter("deleteStatus");
+ if (StringUtils.isNotBlank(deleteStatus)){
+ terms.put("deleteStatus", deleteStatus);
+ }
+ // 客户编号
+ String custId = request.getParameter("custId");
+ if (StringUtils.isNotBlank(custId)){
+ terms.put("custId", custId);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+
+ /**
+ * 当事人小程序-微信用户授权
+ * url: {ctx}/api/weChat/paAccount/empower
+ * type: post
+ */
+ @PostMapping(value = "/empower")
+ public Object empower(@RequestBody WeChatEmpowerDTO weChatEmpowerDTO) {
+ if (StringUtils.isBlank(weChatEmpowerDTO.getCode())) {
+ return ReturnSucUtils.getRepInfo("code不能为空!");
+ }
+ try {
+ return ReturnSucUtils.getRepInfo(service.wechatEmpower(weChatEmpowerDTO));
+ } catch (Exception e) {
+ log.error("Controller接口[PaAccountWechatController.empower]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
+
+ /**
+ * 当事人小程序-微信用户授权获取手机号码
+ * url: {ctx}/api/wechat/paAccount/getUserPhone
+ * type: post
+ */
+ @PostMapping(value = "/getUserPhone")
+ public Object getUserPhone(@RequestBody WeChatEmpowerDTO weChatEmpowerDTO) {
+ if (StringUtils.isBlank(weChatEmpowerDTO.getCode())) {
+ return ReturnSucUtils.getRepInfo("code不能为空!");
+ }
+ try {
+ return ReturnSucUtils.getRepInfo(service.wechatGetPhone(weChatEmpowerDTO));
+ } catch (Exception e) {
+ log.error("Controller接口[WeChatPaAccountController.wechatGetPhone]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java
index 8af644b..f364bdb 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java
@@ -1,7 +1,8 @@
-package cn.huge.module.pauser.controller.web;
+package cn.huge.module.pauser.controller.wechat;
import cn.huge.base.common.utils.ReturnFailUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.base.config.CurrentUser;
import cn.huge.module.pauser.domain.po.PaUser;
import cn.huge.module.pauser.service.PaUserService;
import com.google.common.collect.Maps;
@@ -15,16 +16,11 @@
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
/**
- * @title: 公众用户表接口api-web端
- * @description: 公众用户表接口api-web端
+ * @title: 公众用户表接口api-wechat端
+ * @description: 公众用户表接口api-wechat端
* @company: hugeinfo
- * @author: liyj
- * @time: 2024-08-19 20:04:19
- * @version: 1.0.0
*/
@Slf4j
@RestController
@@ -190,85 +186,74 @@
return terms;
}
+
/**
- * 条件查询多个
- * @url {ctx}/api/web/paUser/listQuery
- * @return Object
- */
- @GetMapping("/listQuery")
- public Object listQuery() {
+ * 当事人小程序-个人中心
+ * url: {ctx}/api/wechat/paUser/personal
+ * type: post
+ */
+ @GetMapping(value = "/personal")
+ public Object personal(@CurrentUser String userId) {
try {
- Map<String, Object> terms = getParameter();
- return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+ return ReturnSucUtils.getRepInfo(service.wechatPersonal(userId));
} catch (Exception e) {
- return ReturnFailUtils.getRepInfo();
+ log.error("Controller接口[PaUserWechatController.personal]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo(e.getMessage());
}
}
/**
- * 条件分页查询
- * @url {ctx}/api/web/paUser/pageQuery
- * @param page 页码
- * @param size 每页数量
- * @return Object
- */
- @GetMapping("/pageQuery")
- public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ * 当事人小程序-查询当前登录人个人信息
+ * url: {ctx}/api/wechat/paUser/getUserInfo
+ * type: post
+ */
+ @GetMapping(value = "/getUserInfo")
+ public Object getUserInfo(@CurrentUser String userId) {
try {
- Map<String, Object> terms = getParameter();
- Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
- PageRequest pageRequest = PageRequest.of(page-1, size, sort);
- Page<PaUser> paUserPage = service.pageQuery(pageRequest, terms);
- return ReturnSucUtils.getRepInfo( "处理成功", paUserPage);
+ PaUser paUser = service.getById(userId);
+ return ReturnSucUtils.getRepInfo(paUser);
} catch (Exception e) {
- return ReturnFailUtils.getRepInfo();
+ log.error("Controller接口[PaUserWechatController.getUserInfo]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo(e.getMessage());
}
}
/**
- * 根据编号查询单个
- * @url {ctx}/api/web/paUser/getById
- * @param id 主键编号
- * @return Object
- */
- @GetMapping("/getById")
- public Object getById(@RequestParam(value = "id") String id) {
+ * 当事人小程序-完善资料
+ * url: {ctx}/api/wechat/paUser/perfectInfo
+ * type: post
+ */
+ @PostMapping(value = "/perfectInfo")
+ public Object perfectInfo(@CurrentUser String userId, @RequestBody PaUser paUser) {
try {
- return ReturnSucUtils.getRepInfo(service.getById(id));
- } catch (Exception e) {
- return ReturnFailUtils.getRepInfo();
- }
- }
-
- /**
- * 根据主键单个
- * @url {ctx}/api/web/paUser/deleteById
- * @param id 主键编号
- * @return Object
- */
- @GetMapping("/deleteById")
- public Object deleteById(@RequestParam(value = "id") String id) {
- try {
- service.removeById(id);
+ paUser.setId(userId);
+ service.perfectInfo(paUser);
return ReturnSucUtils.getRepInfo();
} catch (Exception e) {
- return ReturnFailUtils.getRepInfo();
+ log.error("Controller接口[PaUserWechatController.perfectInfo]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo(e.getMessage());
}
}
/**
- * 新增或更新对象
- * @url {ctx}/api/web/paUser/savePaUser
- * @param paUser 实体对象
- * @return Object
- */
- @PostMapping("/savePaUser")
- public Object savePaUser(@RequestBody PaUser paUser) {
+ * 当事人小程序-实名认证
+ * url: {ctx}/api/weChat/paUser/realAuth
+ * type: post
+ */
+ @PostMapping(value = "/realAuth")
+ public Object realAuth(@CurrentUser String userId, @RequestBody PaUser paUser) {
try {
- service.savePaUser(paUser);
- return ReturnSucUtils.getRepInfo();
+ paUser.setId(userId);
+ service.wechatRealAuth(paUser);
+ Map<String, Object> result = Maps.newHashMap();
+ result.put("userId", paUser.getId());
+ result.put("trueName", paUser.getTrueName());
+ result.put("realStatus", paUser.getRealStatus());
+// result.put("faceStatus", paUser.getFaceStatus());
+ return ReturnSucUtils.getRepInfo(result);
} catch (Exception e) {
- return ReturnFailUtils.getRepInfo();
+ log.error("Controller接口[PaUserWechatController.realAuth]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo(e.getMessage());
}
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/PaAccountMapper.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/PaAccountMapper.java
index c3b8429..ea6a6da 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/PaAccountMapper.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/PaAccountMapper.java
@@ -1,6 +1,7 @@
package cn.huge.module.pauser.dao.mapper;
import cn.huge.module.pauser.domain.po.PaAccount;
+import cn.huge.module.oper.dto.SeCustWechatDTO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.PageRequest;
@@ -61,4 +62,11 @@
*/
List<PaAccount> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+ /**
+ * 根据appid查询小程序配置
+ * @param appid 小程序appid
+ * @return SeCustWechatDTO
+ */
+ SeCustWechatDTO getSeCustWechatByAppid(@Param("appid") String appid);
+
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml
index 31c9463..6e45fad 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dao/mapper/xml/PaAccountMapper.xml
@@ -175,4 +175,27 @@
limit #{page.offset}, #{page.size}
</select>
+ <!-- SeCustWechatDTO结果集 -->
+ <resultMap id="seCustWechatDTO" type="cn.huge.module.oper.dto.SeCustWechatDTO">
+ <result property="id" column="id"/>
+ <result property="custId" column="cust_id"/>
+ <result property="mainId" column="main_id"/>
+ <result property="mainName" column="main_name"/>
+ <result property="mainAcc" column="main_acc"/>
+ <result property="mainPower" column="main_power"/>
+ <result property="appid" column="appid"/>
+ <result property="secret" column="secret"/>
+ <result property="token" column="token"/>
+ <result property="aeskey" column="aeskey"/>
+ <result property="msgDataFormat" column="msg_data_format"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 根据appid查询小程序配置 -->
+ <select id="getSeCustWechatByAppid" resultMap="seCustWechatDTO">
+ SELECT
+ *
+ FROM dyh_se_cust_wechat
+ WHERE appid = #{appid}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatEmpowerDTO.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatEmpowerDTO.java
new file mode 100644
index 0000000..616e56b
--- /dev/null
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatEmpowerDTO.java
@@ -0,0 +1,46 @@
+package cn.huge.module.pauser.dto;
+
+import lombok.Data;
+
+/**
+ * @title: 微信授权登录数据传输类
+ * @description: 微信授权登录数据传输类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-02-22 15:24:51
+ * @version: 1.0.0
+ */
+@Data
+public class WeChatEmpowerDTO {
+
+ /**
+ * 小程序appid
+ */
+ private String appid;
+
+ /**
+ * 小程序code
+ */
+ private String code;
+
+ /**
+ * 手机号码
+ */
+ private String mobile;
+
+ /**
+ * 用户头像
+ */
+ private String avatar;
+
+ /**
+ * 用户加密信息
+ */
+ String encryptedData;
+
+ /**
+ * 加密算法的初始向量
+ */
+ String ivStr;
+
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatLoginDTO.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatLoginDTO.java
new file mode 100644
index 0000000..789f3ac
--- /dev/null
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatLoginDTO.java
@@ -0,0 +1,63 @@
+package cn.huge.module.pauser.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 微信小程序登录后返回前端用户实体类
+ * @description: 微信小程序登录后返回前端用户实体类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-02-22 15:24:51
+ * @version: 1.0.0
+ */
+@Data
+public class WeChatLoginDTO {
+
+ /**
+ * JWT token
+ */
+ private String token;
+
+ /**
+ * 微信sessionKey
+ */
+ private String sessionKey;
+
+ /**
+ * 微信openId
+ */
+ private String openId;
+
+ /**
+ * 用户编号
+ */
+ private String userId;
+
+ /**
+ * 用户名称
+ */
+ private String trueName;
+
+ /**
+ * 上一次登录时间
+ */
+ private Date lastLoginTime;
+
+ /**
+ * 实名认证状态,1:通过,0:未通过(默认)
+ */
+ private Integer realStatus;
+
+ /**
+ * 人脸认证状态,1:已认证,0:未认证(默认)
+ */
+ private Integer faceStatus;
+
+ /**
+ * 多码合一,用户注册状态,0:未注册,1:已注册
+ */
+ private String state;
+
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatPersonalDTO.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatPersonalDTO.java
new file mode 100644
index 0000000..8705928
--- /dev/null
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/dto/WeChatPersonalDTO.java
@@ -0,0 +1,58 @@
+package cn.huge.module.pauser.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 微信小程序个人中心数据传输类
+ * @description: 微信小程序个人中心数据传输类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-02-22 15:24:51
+ * @version: 1.0.0
+ */
+@Data
+public class WeChatPersonalDTO {
+
+ /**
+ * 用户编号
+ */
+ private String userId;
+
+ /**
+ * 用户名称
+ */
+ private String trueName;
+
+ /**
+ * 用户头像
+ */
+ private String avatar;
+
+ /**
+ * 实名认证状态,1:通过,99:未通过(默认)
+ */
+ private Integer realStatus;
+
+ /**
+ * 人脸认证状态,1:已认证,99:未认证(默认)
+ */
+ private Integer faceStatus;
+
+ /**
+ * 我的消息数量
+ */
+ private Integer msgCount;
+
+ /**
+ * 反馈意见数量
+ */
+ private Integer opinionCount;
+ /**
+ * 最新登录时间
+ */
+ private Date loginTime;
+
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java
index 20a6a8a..7d261fc 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java
@@ -1,22 +1,33 @@
package cn.huge.module.pauser.service;
+import cn.binarywang.wx.miniapp.api.WxMaService;
+import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.huge.base.common.exception.ServiceException;
-import cn.huge.base.common.utils.DateUtils;
-import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.*;
import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.constant.BaseConsts;
+import cn.huge.module.cust.constant.UserBaseConsts;
import cn.huge.module.pauser.dao.mapper.PaAccountMapper;
import cn.huge.module.pauser.domain.po.PaAccount;
+import cn.huge.module.pauser.domain.po.PaUser;
+import cn.huge.module.oper.dto.SeCustWechatDTO;
+import cn.huge.module.pauser.dto.WeChatEmpowerDTO;
+import cn.huge.module.pauser.dto.WeChatLoginDTO;
+import cn.huge.module.utils.JwtUtils;
+import cn.huge.module.wechat.miniapp.service.WeixinMaService;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Maps;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.DigestUtils;
-import javax.annotation.PostConstruct;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -39,6 +50,15 @@
@Autowired
private UtilsClientImpl utilsClient;
+
+ @Autowired
+ private WeixinMaService weixinMaService;
+
+ @Autowired
+ private WxMaService wxMaService;
+
+ @Autowired
+ private PaUserService paUserService;
/**
* 更新对象
@@ -130,4 +150,116 @@
}
}
+ /**
+ * 当事人小程序-微信用户授权
+ * @param weChatEmpowerDTO 微信用户授权信息
+ * @return WeChatLoginDTO
+ */
+ public WeChatLoginDTO wechatEmpower(WeChatEmpowerDTO weChatEmpowerDTO) {
+ try{
+ Date nowDate = new Date();
+ WeChatLoginDTO weChatLoginDTO = new WeChatLoginDTO();
+ SeCustWechatDTO seCustWechatDTO = mapper.getSeCustWechatByAppid(weChatEmpowerDTO.getAppid());
+ weixinMaService.createConfig(seCustWechatDTO);
+ WxMaJscode2SessionResult session = wxMaService.getUserService().getSessionInfo(weChatEmpowerDTO.getCode());
+ weChatLoginDTO.setSessionKey(session.getSessionKey());
+ weChatLoginDTO.setOpenId(session.getOpenid());
+ PaUser paUser = null;
+ PaAccount account = this.getByTypeAndAcc(UserBaseConsts.ACC_TYPE_2, session.getOpenid(), seCustWechatDTO.getCustId());
+ // 是否新注册
+ if (ObjectUtils.isEmpty(account)) {
+ weChatLoginDTO.setLastLoginTime(nowDate);
+ // 新建用户信息
+ paUser = new PaUser();
+ paUser.setId(utilsClient.getNewTimeId());
+ paUser.setAvatar(weChatEmpowerDTO.getAvatar());
+ paUser.setRealStatus(UserBaseConsts.REAL_STATUS_0);
+// paUser.setFaceStatus(UserBaseConsts.REAL_STATUS_0);
+ paUser.setStatus(UserBaseConsts.USER_STATUS_1);
+ paUser.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+ paUser.setCustId(seCustWechatDTO.getCustId());
+ paUser.setCreateTime(nowDate);
+ paUser.setUpdateTime(nowDate);
+ paUserService.save(paUser);
+ // 新增账号信息
+ account = new PaAccount();
+ account.setId(utilsClient.getNewTimeId());
+ account.setUserId(paUser.getId());
+ account.setAccType(UserBaseConsts.ACC_TYPE_2);
+ account.setAcc(session.getOpenid());
+ account.setCipher(DigestUtils.md5DigestAsHex(session.getOpenid().getBytes()));
+ account.setCipherOpen(session.getOpenid());
+ account.setLoginTime(nowDate);
+ account.setCustId(seCustWechatDTO.getCustId());
+ account.setCreateTime(nowDate);
+ account.setUpdateTime(nowDate);
+ mapper.insert(account);
+ }else {
+ weChatLoginDTO.setLastLoginTime(account.getLoginTime());
+ // 更新登录时间
+ account.setLoginTime(nowDate);
+ mapper.updatePaAccount(account);
+ // 获取用户信息
+ paUser = paUserService.getById(account.getUserId());
+ }
+ // 封装用户信息
+ weChatLoginDTO.setUserId(paUser.getId());
+ weChatLoginDTO.setTrueName(paUser.getTrueName());
+ weChatLoginDTO.setRealStatus(paUser.getRealStatus());
+// weChatLoginDTO.setFaceStatus(paUser.getFaceStatus());
+ //生成JWT
+ String token = JwtUtils.buildJWT(account.getCustId(), account.getUserId());
+ weChatLoginDTO.setToken(token);
+ return weChatLoginDTO;
+ }catch (Exception e){
+ log.error("service方法[PaAccountService.wechatEmpower]调用异常:"+e, e);
+ throw new ServiceException("PaAccountService.wechatEmpower", e);
+ }
+ }
+
+ /**
+ * 通过账号类型和授权凭证查询
+ * @param accType 账户类型
+ * @param acc 账号
+ * @param custId 客户编号
+ * @return PaAccount
+ */
+ public PaAccount getByTypeAndAcc(Integer accType, String acc, String custId){
+ QueryWrapper<PaAccount> paAccountQueryWrapper = new QueryWrapper<>();
+ paAccountQueryWrapper.eq("acc_type", accType).eq("acc", acc).eq("cust_id", custId);
+ PaAccount paAccount = mapper.selectOne(paAccountQueryWrapper);
+ return paAccount;
+ }
+
+ /**
+ * 当事人小程序-获取手机号码
+ * @param weChatEmpowerDTO 请求信息
+ * @return String
+ */
+ public String wechatGetPhone(WeChatEmpowerDTO weChatEmpowerDTO) {
+ try{
+ SeCustWechatDTO seCustWechatDTO = mapper.getSeCustWechatByAppid(weChatEmpowerDTO.getAppid());
+ weixinMaService.createConfig(seCustWechatDTO);
+ String accessToken = wxMaService.getAccessToken();
+ String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token="+accessToken;
+ Map<String, String> map = Maps.newHashMap();
+ map.put("code", weChatEmpowerDTO.getCode());
+ JsonMapper jsonMapper = new JsonMapper();
+ String jsonStr = jsonMapper.toJson(map);
+ String result = HttpClientUtils.httpPostRaw(url, jsonStr, null, null);
+ JSONObject resultJson = JSONObject.parseObject(new String(result));
+ int errcode = resultJson.getIntValue("errcode");
+ if (errcode == 0){
+ JSONObject phoneInfoJson = resultJson.getJSONObject("phone_info");
+ String phoneNumber = phoneInfoJson.getString("phoneNumber");
+ return phoneNumber;
+ }else {
+ throw new ServiceException("errcode:"+errcode+";errmsg:"+resultJson.getIntValue("errmsg"));
+ }
+ }catch (Exception e){
+ log.error("service方法[PaAccountService.wechatGetPhone]调用异常:"+e, e);
+ throw new ServiceException("PaAccountService.wechatGetPhone", e);
+ }
+ }
+
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java
index fc692a4..598c800 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java
@@ -3,10 +3,18 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.cust.constant.UserBaseConsts;
+import cn.huge.module.mediate.dto.WechatBindCaseDTO;
+import cn.huge.module.pauser.dao.mapper.PaAccountMapper;
import cn.huge.module.pauser.dao.mapper.PaUserMapper;
+import cn.huge.module.pauser.domain.po.PaAccount;
import cn.huge.module.pauser.domain.po.PaUser;
+import cn.huge.module.pauser.dto.WeChatPersonalDTO;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
@@ -39,6 +47,9 @@
@Autowired
private UtilsClientImpl utilsClient;
+
+ @Autowired
+ private PaAccountMapper paAccountMapper;
/**
* 更新对象
@@ -130,4 +141,80 @@
}
}
+ /**
+ * 当事人小程序-个人中心
+ * @param userId 用户编号
+ * @return WeChatPersonalDTO
+ */
+ public WeChatPersonalDTO wechatPersonal(String userId){
+ WeChatPersonalDTO weChatPersonalDTO = new WeChatPersonalDTO();
+ PaUser paUser = this.getById(userId);
+ BeanUtils.copyProperties(paUser, weChatPersonalDTO);
+ weChatPersonalDTO.setUserId(paUser.getId());
+ // TODO: 2022/4/13 我的消息
+ weChatPersonalDTO.setMsgCount(0);
+ // TODO: 2022/4/13 反馈意见
+ weChatPersonalDTO.setOpinionCount(0);
+
+ QueryWrapper<PaAccount> paAccountWrapper = new QueryWrapper<>();
+ paAccountWrapper.eq("user_id", userId);
+ PaAccount paAccount = paAccountMapper.selectOne(paAccountWrapper);
+ if(ObjectUtils.isNotEmpty(paAccount)){
+ weChatPersonalDTO.setLoginTime(paAccount.getLoginTime());
+ }
+
+ return weChatPersonalDTO;
+ }
+
+ /**
+ * 当事人小程序-完善资料
+ * @param paUser 用户信息
+ */
+ public void perfectInfo(PaUser paUser){
+ try{
+ Date nowDate = new Date();
+ paUser.setStatus(UserBaseConsts.USER_STATUS_1);
+ paUser.setUpdateTime(nowDate);
+ mapper.updatePaUser(paUser);
+ // 绑定案件
+// WechatBindCaseDTO wechatBindCaseDTO = new WechatBindCaseDTO();
+// wechatBindCaseDTO.setUserId(paUser.getId());
+// wechatBindCaseDTO.setMobile(paUser.getMobile());
+// wechatBindCaseDTO.setTrueName(paUser.getTrueName());
+// wechatBindCaseDTO.setIdcard(paUser.getIdcard());
+// wechatBindCaseDTO.setCustId(paUser.getCustId());
+// mediateClient.bindCase(wechatBindCaseDTO);
+ }catch (Exception e){
+ log.error("service方法[PaUserService.perfectInfo]调用异常:"+e, e);
+ throw new ServiceException("PaUserService.perfectInfo", e);
+ }
+ }
+
+ /**
+ * 当事人小程序-实名认证
+ * @param paUser 用户信息
+ */
+ public void wechatRealAuth(PaUser paUser){
+ try{
+ Date nowDate = new Date();
+ paUser.setRealStatus(UserBaseConsts.REAL_STATUS_1);
+// paUser.setFaceStatus(UserBaseConsts.FACE_STATUS_1);
+ paUser.setStatus(UserBaseConsts.USER_STATUS_1);
+ paUser.setUpdateTime(nowDate);
+ mapper.updatePaUser(paUser);
+ // 绑定案件
+// WechatBindCaseDTO wechatBindCaseDTO = new WechatBindCaseDTO();
+// wechatBindCaseDTO.setUserId(paUser.getId());
+// wechatBindCaseDTO.setMobile(paUser.getMobile());
+// wechatBindCaseDTO.setTrueName(paUser.getTrueName());
+// wechatBindCaseDTO.setIdcard(paUser.getIdcard());
+// wechatBindCaseDTO.setCustId(paUser.getCustId());
+// mediateClient.bindCase(wechatBindCaseDTO);
+ }catch (Exception e){
+ log.error("service方法[PaUserService.wechatRealAuth]调用异常:"+e, e);
+ throw new ServiceException("PaUserService.wechatRealAuth", e);
+ }
+ }
+
+
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/wechat/miniapp/service/WeixinMaService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/wechat/miniapp/service/WeixinMaService.java
index dc7f284..63dc303 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/wechat/miniapp/service/WeixinMaService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/wechat/miniapp/service/WeixinMaService.java
@@ -4,13 +4,12 @@
import cn.binarywang.wx.miniapp.bean.WxMaMessage;
import cn.binarywang.wx.miniapp.config.WxMaInMemoryConfig;
import cn.binarywang.wx.miniapp.message.WxMaMessageRouter;
+import cn.huge.module.oper.dto.SeCustWechatDTO;
import cn.huge.module.wechat.miniapp.handler.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-
-import javax.annotation.PostConstruct;
/**
* @title: 小程序服务
@@ -65,6 +64,17 @@
// this.refreshRouter();
// }
+ public void createConfig(SeCustWechatDTO seCustWechatDTO) {
+ final WxMaInMemoryConfig config = new WxMaInMemoryConfig();
+ config.setAppid(seCustWechatDTO.getAppid());// 设置微信公众号的appid
+ config.setSecret(seCustWechatDTO.getSecret());// 设置微信公众号的app corpSecret
+ config.setToken(seCustWechatDTO.getToken());// 设置微信公众号的token
+ config.setAesKey(seCustWechatDTO.getAeskey());// 设置消息加解密密钥
+ super.setWxMaConfig(config);
+
+ this.refreshRouter();
+ }
+
private void refreshRouter() {
final WxMaMessageRouter newRouter = new WxMaMessageRouter(this);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/controller/wechat/NoticePartyWechatController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/controller/wechat/NoticePartyWechatController.java
new file mode 100644
index 0000000..8670b45
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/controller/wechat/NoticePartyWechatController.java
@@ -0,0 +1,178 @@
+package cn.huge.module.notice.controller.wechat;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.base.config.CurrentUser;
+import cn.huge.module.mediate.constant.NoticeBaseConsts;
+import cn.huge.module.notice.domain.po.NoticeParty;
+import cn.huge.module.notice.service.NoticePartyService;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @title: 当事人消息通知表接口api
+ * @description: 当事人消息通知表接口api
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:34
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/wechat/noticeParty")
+public class NoticePartyWechatController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private NoticePartyService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 我申请的消息通知编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 纠纷编号
+ String caseId = request.getParameter("caseId");
+ if (StringUtils.isNotBlank(caseId)){
+ terms.put("caseId", caseId);
+ }
+ // 消息类型,1:系统通知,2:平台公告
+ String noticeType = request.getParameter("noticeType");
+ if (StringUtils.isNotBlank(noticeType)){
+ terms.put("noticeType", noticeType);
+ }
+ // 标题
+ String title = request.getParameter("title");
+ if (StringUtils.isNotBlank(title)){
+ terms.put("title", title);
+ }
+ // 消息内容
+ String content = request.getParameter("content");
+ if (StringUtils.isNotBlank(content)){
+ terms.put("content", content);
+ }
+ // 接收人编号
+ String userId = request.getParameter("userId");
+ if (StringUtils.isNotBlank(userId)){
+ terms.put("userId", userId);
+ }
+ // 接收人名称
+ String userName = request.getParameter("userName");
+ if (StringUtils.isNotBlank(userName)){
+ terms.put("userName", userName);
+ }
+ // 跳转url
+ String visitUrl = request.getParameter("visitUrl");
+ if (StringUtils.isNotBlank(visitUrl)){
+ terms.put("visitUrl", visitUrl);
+ }
+ // 已读状态,1:未读(默认值),2:已读
+ String readStatus = request.getParameter("readStatus");
+ if (StringUtils.isNotBlank(readStatus)){
+ terms.put("readStatus", readStatus);
+ }
+ // 阅读时间
+ String readTime = request.getParameter("readTime");
+ if (StringUtils.isNotBlank(readTime)){
+ terms.put("readTime", readTime);
+ }
+ // 删除状态,1:未删除(默认值),99:已删除
+ String deleteStatus = request.getParameter("deleteStatus");
+ if (StringUtils.isNotBlank(deleteStatus)){
+ terms.put("deleteStatus", deleteStatus);
+ }
+ // 客户编号
+ String custId = request.getParameter("custId");
+ if (StringUtils.isNotBlank(custId)){
+ terms.put("custId", custId);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+
+ /**
+ * 我的消息-分页查询
+ * @url {ctx}/api/weChat/noticeParty/pageMyNotice
+ * @param page 页码
+ * @param size 每页数量
+ * @param readStatus 每页数量
+ * @return Object
+ */
+ @GetMapping("/pageMyNotice")
+ public Object pageMyNotice(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size,
+ @RequestParam(value = "readStatus") String readStatus, @CurrentUser String userId) {
+ try {
+ Map<String, Object> terms = getParameter();
+ terms.put("userId", userId);
+ terms.put("readStatus", readStatus);
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<NoticeParty> noticePartyPage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", noticePartyPage);
+ } catch (Exception e) {
+ log.error("Controller接口[NoticePartyController.pageMyNotice]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
+
+
+ /**
+ * 我的消息-阅读消息
+ * @url {ctx}/api/weChat/noticeParty/readNotice
+ * @param id 消息编号
+ * @param userId
+ * @return
+ */
+ @GetMapping("/readNotice")
+ public Object readNotice(@RequestParam(value = "id") String id, @CurrentUser String userId) {
+ try {
+ Date nowDate = new Date();
+ NoticeParty noticeParty = new NoticeParty();
+ noticeParty.setReadStatus(NoticeBaseConsts.READ_STATUS_2);
+ noticeParty.setReadTime(nowDate);
+ noticeParty.setUpdateTime(nowDate);
+ noticeParty.setId(id);
+ service.updateNoticeParty(noticeParty);
+ return ReturnSucUtils.getRepInfo( );
+ } catch (Exception e) {
+ log.error("Controller接口[NoticePartyController.readNotice]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeApplyMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeApplyMapper.java
new file mode 100644
index 0000000..fbfc310
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeApplyMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.notice.dao.mapper;
+
+import cn.huge.module.notice.domain.po.NoticeApply;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 我申请的消息通知表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2022-11-24 10:34:32
+* @version 1.0.0
+*/
+@Repository
+public interface NoticeApplyMapper extends BaseMapper<NoticeApply>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateNoticeApply(@Param("entity") NoticeApply entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateNoticeApplyTerms(@Param("entity") NoticeApply entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteNoticeApply(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<NoticeApply>
+ */
+ List<NoticeApply> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<NoticeApply>
+ */
+ List<NoticeApply> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeHandleMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeHandleMapper.java
new file mode 100644
index 0000000..b95e253
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeHandleMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.notice.dao.mapper;
+
+import cn.huge.module.notice.domain.po.NoticeHandle;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 我负责的消息通知表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2022-11-24 10:34:33
+* @version 1.0.0
+*/
+@Repository
+public interface NoticeHandleMapper extends BaseMapper<NoticeHandle>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateNoticeHandle(@Param("entity") NoticeHandle entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateNoticeHandleTerms(@Param("entity") NoticeHandle entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteNoticeHandle(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<NoticeHandle>
+ */
+ List<NoticeHandle> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<NoticeHandle>
+ */
+ List<NoticeHandle> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeJoinMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeJoinMapper.java
new file mode 100644
index 0000000..9caeb66
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeJoinMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.notice.dao.mapper;
+
+import cn.huge.module.notice.domain.po.NoticeJoin;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 我参与的消息通知表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2022-11-24 10:34:34
+* @version 1.0.0
+*/
+@Repository
+public interface NoticeJoinMapper extends BaseMapper<NoticeJoin>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateNoticeJoin(@Param("entity") NoticeJoin entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateNoticeJoinTerms(@Param("entity") NoticeJoin entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteNoticeJoin(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<NoticeJoin>
+ */
+ List<NoticeJoin> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<NoticeJoin>
+ */
+ List<NoticeJoin> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeModeMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeModeMapper.java
new file mode 100644
index 0000000..37c35e7
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeModeMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.notice.dao.mapper;
+
+import cn.huge.module.notice.domain.po.NoticeMode;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 短信通知模板表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2022-11-24 10:34:34
+* @version 1.0.0
+*/
+@Repository
+public interface NoticeModeMapper extends BaseMapper<NoticeMode>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateNoticeMode(@Param("entity") NoticeMode entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateNoticeModeTerms(@Param("entity") NoticeMode entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteNoticeMode(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<NoticeMode>
+ */
+ List<NoticeMode> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<NoticeMode>
+ */
+ List<NoticeMode> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticePartyMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticePartyMapper.java
new file mode 100644
index 0000000..f4c1c02
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticePartyMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.notice.dao.mapper;
+
+import cn.huge.module.notice.domain.po.NoticeParty;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 当事人消息通知表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2022-11-24 10:34:34
+* @version 1.0.0
+*/
+@Repository
+public interface NoticePartyMapper extends BaseMapper<NoticeParty>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateNoticeParty(@Param("entity") NoticeParty entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateNoticePartyTerms(@Param("entity") NoticeParty entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteNoticeParty(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<NoticeParty>
+ */
+ List<NoticeParty> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<NoticeParty>
+ */
+ List<NoticeParty> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeShortMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeShortMapper.java
new file mode 100644
index 0000000..7136561
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeShortMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.notice.dao.mapper;
+
+import cn.huge.module.notice.domain.po.NoticeShort;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 短信通知表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2022-11-24 10:34:35
+* @version 1.0.0
+*/
+@Repository
+public interface NoticeShortMapper extends BaseMapper<NoticeShort>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateNoticeShort(@Param("entity") NoticeShort entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateNoticeShortTerms(@Param("entity") NoticeShort entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteNoticeShort(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<NoticeShort>
+ */
+ List<NoticeShort> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<NoticeShort>
+ */
+ List<NoticeShort> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeSysMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeSysMapper.java
new file mode 100644
index 0000000..4fe87e5
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/NoticeSysMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.notice.dao.mapper;
+
+import cn.huge.module.notice.domain.po.NoticeSys;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 系统公告消息通知表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2022-11-24 10:34:35
+* @version 1.0.0
+*/
+@Repository
+public interface NoticeSysMapper extends BaseMapper<NoticeSys>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateNoticeSys(@Param("entity") NoticeSys entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateNoticeSysTerms(@Param("entity") NoticeSys entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteNoticeSys(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<NoticeSys>
+ */
+ List<NoticeSys> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<NoticeSys>
+ */
+ List<NoticeSys> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeApplyMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeApplyMapper.xml
new file mode 100644
index 0000000..f9bbe8b
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeApplyMapper.xml
@@ -0,0 +1,208 @@
+<?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">
+<!--
+ * @title: 我申请的消息通知表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2022-11-24 10:34:32
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.notice.dao.mapper.NoticeApplyMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.notice.domain.po.NoticeApply">
+ <result property="id" column="id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="taskId" column="task_id"/>
+ <result property="title" column="title"/>
+ <result property="applyType" column="apply_type"/>
+ <result property="applyTime" column="apply_time"/>
+ <result property="applyReason" column="apply_reason"/>
+ <result property="helpNames" column="help_names"/>
+ <result property="applyStatus" column="apply_status"/>
+ <result property="userId" column="user_id"/>
+ <result property="userName" column="user_name"/>
+ <result property="visitUrl" column="visit_url"/>
+ <result property="readStatus" column="read_status"/>
+ <result property="readTime" column="read_time"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_notice_apply</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ case_id,
+ task_id,
+ title,
+ apply_type,
+ apply_time,
+ apply_reason,
+ help_names,
+ apply_status,
+ user_id,
+ user_name,
+ visit_url,
+ read_status,
+ read_time,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.taskId != null">task_id = #{entity.taskId},</if>
+ <if test="entity.title != null">title = #{entity.title},</if>
+ <if test="entity.applyType != null">apply_type = #{entity.applyType},</if>
+ <if test="entity.applyTime != null">apply_time = #{entity.applyTime},</if>
+ <if test="entity.applyReason != null">apply_reason = #{entity.applyReason},</if>
+ <if test="entity.helpNames != null">help_names = #{entity.helpNames},</if>
+ <if test="entity.applyStatus != null">apply_status = #{entity.applyStatus},</if>
+ <if test="entity.userId != null">user_id = #{entity.userId},</if>
+ <if test="entity.userName != null">user_name = #{entity.userName},</if>
+ <if test="entity.visitUrl != null">visit_url = #{entity.visitUrl},</if>
+ <if test="entity.readStatus != null">read_status = #{entity.readStatus},</if>
+ <if test="entity.readTime != null">read_time = #{entity.readTime},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.taskId != null and terms.taskId !=''">
+ and task_id = #{terms.taskId}
+ </if>
+ <if test="terms.title != null and terms.title !=''">
+ and title = #{terms.title}
+ </if>
+ <if test="terms.applyType != null and terms.applyType !=''">
+ and apply_type = #{terms.applyType}
+ </if>
+ <if test="terms.applyTime != null and terms.applyTime !=''">
+ and apply_time = #{terms.applyTime}
+ </if>
+ <if test="terms.applyReason != null and terms.applyReason !=''">
+ and apply_reason = #{terms.applyReason}
+ </if>
+ <if test="terms.helpNames != null and terms.helpNames !=''">
+ and help_names = #{terms.helpNames}
+ </if>
+ <if test="terms.applyStatus != null and terms.applyStatus !=''">
+ and apply_status = #{terms.applyStatus}
+ </if>
+ <if test="terms.userId != null and terms.userId !=''">
+ and user_id = #{terms.userId}
+ </if>
+ <if test="terms.userName != null and terms.userName !=''">
+ and user_name = #{terms.userName}
+ </if>
+ <if test="terms.visitUrl != null and terms.visitUrl !=''">
+ and visit_url = #{terms.visitUrl}
+ </if>
+ <if test="terms.readStatus != null and terms.readStatus !=''">
+ and read_status = #{terms.readStatus}
+ </if>
+ <if test="terms.readTime != null and terms.readTime !=''">
+ and read_time = #{terms.readTime}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = '1'
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateNoticeApply">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateNoticeApplyTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteNoticeApply">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeHandleMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeHandleMapper.xml
new file mode 100644
index 0000000..c35cd06
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeHandleMapper.xml
@@ -0,0 +1,196 @@
+<?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">
+<!--
+ * @title: 我负责的消息通知表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2022-11-24 10:34:33
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.notice.dao.mapper.NoticeHandleMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.notice.domain.po.NoticeHandle">
+ <result property="id" column="id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="taskId" column="task_id"/>
+ <result property="title" column="title"/>
+ <result property="taskName" column="task_name"/>
+ <result property="taskTime" column="task_time"/>
+ <result property="expireTime" column="expire_time"/>
+ <result property="userId" column="user_id"/>
+ <result property="userName" column="user_name"/>
+ <result property="visitUrl" column="visit_url"/>
+ <result property="readStatus" column="read_status"/>
+ <result property="readTime" column="read_time"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_notice_handle</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ case_id,
+ task_id,
+ title,
+ task_name,
+ task_time,
+ expire_time,
+ user_id,
+ user_name,
+ visit_url,
+ read_status,
+ read_time,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.taskId != null">task_id = #{entity.taskId},</if>
+ <if test="entity.title != null">title = #{entity.title},</if>
+ <if test="entity.taskName != null">task_name = #{entity.taskName},</if>
+ <if test="entity.taskTime != null">task_time = #{entity.taskTime},</if>
+ <if test="entity.expireTime != null">expire_time = #{entity.expireTime},</if>
+ <if test="entity.userId != null">user_id = #{entity.userId},</if>
+ <if test="entity.userName != null">user_name = #{entity.userName},</if>
+ <if test="entity.visitUrl != null">visit_url = #{entity.visitUrl},</if>
+ <if test="entity.readStatus != null">read_status = #{entity.readStatus},</if>
+ <if test="entity.readTime != null">read_time = #{entity.readTime},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.taskId != null and terms.taskId !=''">
+ and task_id = #{terms.taskId}
+ </if>
+ <if test="terms.title != null and terms.title !=''">
+ and title = #{terms.title}
+ </if>
+ <if test="terms.taskName != null and terms.taskName !=''">
+ and task_name = #{terms.taskName}
+ </if>
+ <if test="terms.taskTime != null and terms.taskTime !=''">
+ and task_time = #{terms.taskTime}
+ </if>
+ <if test="terms.expireTime != null and terms.expireTime !=''">
+ and expire_time = #{terms.expireTime}
+ </if>
+ <if test="terms.userId != null and terms.userId !=''">
+ and user_id = #{terms.userId}
+ </if>
+ <if test="terms.userName != null and terms.userName !=''">
+ and user_name = #{terms.userName}
+ </if>
+ <if test="terms.visitUrl != null and terms.visitUrl !=''">
+ and visit_url = #{terms.visitUrl}
+ </if>
+ <if test="terms.readStatus != null and terms.readStatus !=''">
+ and read_status = #{terms.readStatus}
+ </if>
+ <if test="terms.readTime != null and terms.readTime !=''">
+ and read_time = #{terms.readTime}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = '1'
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateNoticeHandle">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateNoticeHandleTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteNoticeHandle">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeJoinMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeJoinMapper.xml
new file mode 100644
index 0000000..680a7ad
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeJoinMapper.xml
@@ -0,0 +1,196 @@
+<?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">
+<!--
+ * @title: 我参与的消息通知表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2022-11-24 10:34:34
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.notice.dao.mapper.NoticeJoinMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.notice.domain.po.NoticeJoin">
+ <result property="id" column="id"/>
+ <result property="taskId" column="task_id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="title" column="title"/>
+ <result property="taskName" column="task_name"/>
+ <result property="taskTime" column="task_time"/>
+ <result property="expireTime" column="expire_time"/>
+ <result property="userId" column="user_id"/>
+ <result property="userName" column="user_name"/>
+ <result property="visitUrl" column="visit_url"/>
+ <result property="readStatus" column="read_status"/>
+ <result property="readTime" column="read_time"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_notice_join</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ task_id,
+ case_id,
+ title,
+ task_name,
+ task_time,
+ expire_time,
+ user_id,
+ user_name,
+ visit_url,
+ read_status,
+ read_time,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.taskId != null">task_id = #{entity.taskId},</if>
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.title != null">title = #{entity.title},</if>
+ <if test="entity.taskName != null">task_name = #{entity.taskName},</if>
+ <if test="entity.taskTime != null">task_time = #{entity.taskTime},</if>
+ <if test="entity.expireTime != null">expire_time = #{entity.expireTime},</if>
+ <if test="entity.userId != null">user_id = #{entity.userId},</if>
+ <if test="entity.userName != null">user_name = #{entity.userName},</if>
+ <if test="entity.visitUrl != null">visit_url = #{entity.visitUrl},</if>
+ <if test="entity.readStatus != null">read_status = #{entity.readStatus},</if>
+ <if test="entity.readTime != null">read_time = #{entity.readTime},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.taskId != null and terms.taskId !=''">
+ and task_id = #{terms.taskId}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.title != null and terms.title !=''">
+ and title = #{terms.title}
+ </if>
+ <if test="terms.taskName != null and terms.taskName !=''">
+ and task_name = #{terms.taskName}
+ </if>
+ <if test="terms.taskTime != null and terms.taskTime !=''">
+ and task_time = #{terms.taskTime}
+ </if>
+ <if test="terms.expireTime != null and terms.expireTime !=''">
+ and expire_time = #{terms.expireTime}
+ </if>
+ <if test="terms.userId != null and terms.userId !=''">
+ and user_id = #{terms.userId}
+ </if>
+ <if test="terms.userName != null and terms.userName !=''">
+ and user_name = #{terms.userName}
+ </if>
+ <if test="terms.visitUrl != null and terms.visitUrl !=''">
+ and visit_url = #{terms.visitUrl}
+ </if>
+ <if test="terms.readStatus != null and terms.readStatus !=''">
+ and read_status = #{terms.readStatus}
+ </if>
+ <if test="terms.readTime != null and terms.readTime !=''">
+ and read_time = #{terms.readTime}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = '1'
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateNoticeJoin">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateNoticeJoinTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteNoticeJoin">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeModeMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeModeMapper.xml
new file mode 100644
index 0000000..af16452
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeModeMapper.xml
@@ -0,0 +1,163 @@
+<?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">
+<!--
+ * @title: 短信通知模板表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2022-11-24 10:34:34
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.notice.dao.mapper.NoticeModeMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.notice.domain.po.NoticeMode">
+ <result property="id" column="id"/>
+ <result property="modeTyep" column="mode_tyep"/>
+ <result property="name" column="name"/>
+ <result property="noticeTypeName" column="notice_type_name"/>
+ <result property="content" column="content"/>
+ <result property="userId" column="user_id"/>
+ <result property="userMobile" column="user_mobile"/>
+ <result property="userName" column="user_name"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_notice_mode</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ mode_tyep,
+ name,
+ notice_type_name,
+ content,
+ user_id,
+ user_mobile,
+ user_name,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.modeTyep != null">mode_tyep = #{entity.modeTyep},</if>
+ <if test="entity.name != null">name = #{entity.name},</if>
+ <if test="entity.noticeTypeName != null">notice_type_name = #{entity.noticeTypeName},</if>
+ <if test="entity.content != null">content = #{entity.content},</if>
+ <if test="entity.userId != null">user_id = #{entity.userId},</if>
+ <if test="entity.userMobile != null">user_mobile = #{entity.userMobile},</if>
+ <if test="entity.userName != null">user_name = #{entity.userName},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.modeTyep != null and terms.modeTyep !=''">
+ and mode_tyep = #{terms.modeTyep}
+ </if>
+ <if test="terms.name != null and terms.name !=''">
+ and name = #{terms.name}
+ </if>
+ <if test="terms.noticeTypeName != null and terms.noticeTypeName !=''">
+ and notice_type_name = #{terms.noticeTypeName}
+ </if>
+ <if test="terms.content != null and terms.content !=''">
+ and content = #{terms.content}
+ </if>
+ <if test="terms.userId != null and terms.userId !=''">
+ and user_id = #{terms.userId}
+ </if>
+ <if test="terms.userMobile != null and terms.userMobile !=''">
+ and user_mobile = #{terms.userMobile}
+ </if>
+ <if test="terms.userName != null and terms.userName !=''">
+ and user_name = #{terms.userName}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateNoticeMode">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateNoticeModeTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteNoticeMode">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticePartyMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticePartyMapper.xml
new file mode 100644
index 0000000..f123b74
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticePartyMapper.xml
@@ -0,0 +1,184 @@
+<?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">
+<!--
+ * @title: 当事人消息通知表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2022-11-24 10:34:34
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.notice.dao.mapper.NoticePartyMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.notice.domain.po.NoticeParty">
+ <result property="id" column="id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="noticeType" column="notice_type"/>
+ <result property="title" column="title"/>
+ <result property="content" column="content"/>
+ <result property="userId" column="user_id"/>
+ <result property="userName" column="user_name"/>
+ <result property="visitUrl" column="visit_url"/>
+ <result property="readStatus" column="read_status"/>
+ <result property="readTime" column="read_time"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_notice_party</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ case_id,
+ notice_type,
+ title,
+ content,
+ user_id,
+ user_name,
+ visit_url,
+ read_status,
+ read_time,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.noticeType != null">notice_type = #{entity.noticeType},</if>
+ <if test="entity.title != null">title = #{entity.title},</if>
+ <if test="entity.content != null">content = #{entity.content},</if>
+ <if test="entity.userId != null">user_id = #{entity.userId},</if>
+ <if test="entity.userName != null">user_name = #{entity.userName},</if>
+ <if test="entity.visitUrl != null">visit_url = #{entity.visitUrl},</if>
+ <if test="entity.readStatus != null">read_status = #{entity.readStatus},</if>
+ <if test="entity.readTime != null">read_time = #{entity.readTime},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.noticeType != null and terms.noticeType !=''">
+ and notice_type = #{terms.noticeType}
+ </if>
+ <if test="terms.title != null and terms.title !=''">
+ and title = #{terms.title}
+ </if>
+ <if test="terms.content != null and terms.content !=''">
+ and content = #{terms.content}
+ </if>
+ <if test="terms.userId != null and terms.userId !=''">
+ and user_id = #{terms.userId}
+ </if>
+ <if test="terms.userName != null and terms.userName !=''">
+ and user_name = #{terms.userName}
+ </if>
+ <if test="terms.visitUrl != null and terms.visitUrl !=''">
+ and visit_url = #{terms.visitUrl}
+ </if>
+ <if test="terms.readStatus != null and terms.readStatus !=''">
+ and read_status = #{terms.readStatus}
+ </if>
+ <if test="terms.readTime != null and terms.readTime !=''">
+ and read_time = #{terms.readTime}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = '1'
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateNoticeParty">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateNoticePartyTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteNoticeParty">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeShortMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeShortMapper.xml
new file mode 100644
index 0000000..a8ce794
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeShortMapper.xml
@@ -0,0 +1,175 @@
+<?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">
+<!--
+ * @title: 短信通知表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2022-11-24 10:34:35
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.notice.dao.mapper.NoticeShortMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.notice.domain.po.NoticeShort">
+ <result property="id" column="id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="noticeType" column="notice_type"/>
+ <result property="noticeTypeName" column="notice_type_name"/>
+ <result property="title" column="title"/>
+ <result property="content" column="content"/>
+ <result property="userId" column="user_id"/>
+ <result property="userMobile" column="user_mobile"/>
+ <result property="userName" column="user_name"/>
+ <result property="status" column="status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_notice_short</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ case_id,
+ notice_type,
+ notice_type_name,
+ title,
+ content,
+ user_id,
+ user_mobile,
+ user_name,
+ status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.noticeType != null">notice_type = #{entity.noticeType},</if>
+ <if test="entity.noticeTypeName != null">notice_type_name = #{entity.noticeTypeName},</if>
+ <if test="entity.title != null">title = #{entity.title},</if>
+ <if test="entity.content != null">content = #{entity.content},</if>
+ <if test="entity.userId != null">user_id = #{entity.userId},</if>
+ <if test="entity.userMobile != null">user_mobile = #{entity.userMobile},</if>
+ <if test="entity.userName != null">user_name = #{entity.userName},</if>
+ <if test="entity.status != null">status = #{entity.status},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.noticeType != null and terms.noticeType !=''">
+ and notice_type = #{terms.noticeType}
+ </if>
+ <if test="terms.noticeTypeName != null and terms.noticeTypeName !=''">
+ and notice_type_name = #{terms.noticeTypeName}
+ </if>
+ <if test="terms.title != null and terms.title !=''">
+ and title = #{terms.title}
+ </if>
+ <if test="terms.content != null and terms.content !=''">
+ and content = #{terms.content}
+ </if>
+ <if test="terms.userId != null and terms.userId !=''">
+ and user_id = #{terms.userId}
+ </if>
+ <if test="terms.userMobile != null and terms.userMobile !=''">
+ and user_mobile = #{terms.userMobile}
+ </if>
+ <if test="terms.userName != null and terms.userName !=''">
+ and user_name = #{terms.userName}
+ </if>
+ <if test="terms.status != null and terms.status !=''">
+ and status = #{terms.status}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateNoticeShort">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateNoticeShortTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteNoticeShort">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeSysMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeSysMapper.xml
new file mode 100644
index 0000000..f7ba317
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/dao/mapper/xml/NoticeSysMapper.xml
@@ -0,0 +1,178 @@
+<?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">
+<!--
+ * @title: 系统公告消息通知表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2022-11-24 10:34:35
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.notice.dao.mapper.NoticeSysMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.notice.domain.po.NoticeSys">
+ <result property="id" column="id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="title" column="title"/>
+ <result property="content" column="content"/>
+ <result property="userId" column="user_id"/>
+ <result property="userName" column="user_name"/>
+ <result property="visitUrl" column="visit_url"/>
+ <result property="readStatus" column="read_status"/>
+ <result property="readTime" column="read_time"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_notice_sys</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ case_id,
+ title,
+ content,
+ user_id,
+ user_name,
+ visit_url,
+ read_status,
+ read_time,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.title != null">title = #{entity.title},</if>
+ <if test="entity.content != null">content = #{entity.content},</if>
+ <if test="entity.userId != null">user_id = #{entity.userId},</if>
+ <if test="entity.userName != null">user_name = #{entity.userName},</if>
+ <if test="entity.visitUrl != null">visit_url = #{entity.visitUrl},</if>
+ <if test="entity.readStatus != null">read_status = #{entity.readStatus},</if>
+ <if test="entity.readTime != null">read_time = #{entity.readTime},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.title != null and terms.title !=''">
+ and title = #{terms.title}
+ </if>
+ <if test="terms.content != null and terms.content !=''">
+ and content = #{terms.content}
+ </if>
+ <if test="terms.userId != null and terms.userId !=''">
+ and user_id = #{terms.userId}
+ </if>
+ <if test="terms.userName != null and terms.userName !=''">
+ and user_name = #{terms.userName}
+ </if>
+ <if test="terms.visitUrl != null and terms.visitUrl !=''">
+ and visit_url = #{terms.visitUrl}
+ </if>
+ <if test="terms.readStatus != null and terms.readStatus !=''">
+ and read_status = #{terms.readStatus}
+ </if>
+ <if test="terms.readTime != null and terms.readTime !=''">
+ and read_time = #{terms.readTime}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = '1'
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateNoticeSys">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateNoticeSysTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteNoticeSys">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeApplyBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeApplyBO.java
new file mode 100644
index 0000000..c42ab7f
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeApplyBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.notice.domain.bo;
+
+import cn.huge.module.notice.domain.po.NoticeApply;
+import com.baomidou.mybatisplus.annotation.TableField;
+
+/**
+ * @title: 我申请的消息通知表
+ * @description: 我申请的消息通知表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:32
+ * @version: 1.0.0
+ * @see NoticeApply
+ */
+public class NoticeApplyBO extends NoticeApply {
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeHandleBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeHandleBO.java
new file mode 100644
index 0000000..06f1ac7
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeHandleBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.notice.domain.bo;
+
+import cn.huge.module.notice.domain.po.NoticeHandle;
+
+/**
+ * @title: 我负责的消息通知表
+ * @description: 我负责的消息通知表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:33
+ * @version: 1.0.0
+ * @see NoticeHandle
+ */
+public class NoticeHandleBO extends NoticeHandle {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeJoinBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeJoinBO.java
new file mode 100644
index 0000000..80804ca
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeJoinBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.notice.domain.bo;
+
+import cn.huge.module.notice.domain.po.NoticeJoin;
+
+/**
+ * @title: 我参与的消息通知表
+ * @description: 我参与的消息通知表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:34
+ * @version: 1.0.0
+ * @see NoticeJoin
+ */
+public class NoticeJoinBO extends NoticeJoin {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeModeBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeModeBO.java
new file mode 100644
index 0000000..0806852
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeModeBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.notice.domain.bo;
+
+import cn.huge.module.notice.domain.po.NoticeMode;
+
+/**
+ * @title: 短信通知模板表
+ * @description: 短信通知模板表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:34
+ * @version: 1.0.0
+ * @see NoticeMode
+ */
+public class NoticeModeBO extends NoticeMode {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticePartyBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticePartyBO.java
new file mode 100644
index 0000000..af2af71
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticePartyBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.notice.domain.bo;
+
+import cn.huge.module.notice.domain.po.NoticeParty;
+
+/**
+ * @title: 当事人消息通知表
+ * @description: 当事人消息通知表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:34
+ * @version: 1.0.0
+ * @see NoticeParty
+ */
+public class NoticePartyBO extends NoticeParty {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeShortBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeShortBO.java
new file mode 100644
index 0000000..667eae3
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeShortBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.notice.domain.bo;
+
+import cn.huge.module.notice.domain.po.NoticeShort;
+
+/**
+ * @title: 短信通知表
+ * @description: 短信通知表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:35
+ * @version: 1.0.0
+ * @see NoticeShort
+ */
+public class NoticeShortBO extends NoticeShort {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeSysBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeSysBO.java
new file mode 100644
index 0000000..61f319e
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/bo/NoticeSysBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.notice.domain.bo;
+
+import cn.huge.module.notice.domain.po.NoticeSys;
+
+/**
+ * @title: 系统公告消息通知表
+ * @description: 系统公告消息通知表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:35
+ * @version: 1.0.0
+ * @see NoticeSys
+ */
+public class NoticeSysBO extends NoticeSys {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/dto/NoticeHandleDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/dto/NoticeHandleDTO.java
new file mode 100644
index 0000000..2499a5d
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/dto/NoticeHandleDTO.java
@@ -0,0 +1,40 @@
+package cn.huge.module.notice.domain.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 我负责的消息通知表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:33
+ * @version 1.0.0
+ */
+@Data
+public class NoticeHandleDTO {
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 任务编号
+ */
+ @TableField(value = "task_id")
+ private String taskId;
+
+ /**
+ * 标题
+ */
+ @TableField(value = "title")
+ private String title;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeApply.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeApply.json
new file mode 100644
index 0000000..f587897
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeApply.json
@@ -0,0 +1,17 @@
+{
+ "id": "我申请的消息通知编号",
+ "caseId": "纠纷编号",
+ "taskId": "任务编号",
+ "title": "标题",
+ "applyType": "申请类型",
+ "applyTime": "申请时间",
+ "applyReason": "申请理由",
+ "helpNames": "协助名单,多个用,隔开",
+ "applyStatus": "申请进度",
+ "userId": "接收人编号",
+ "userName": "接收人名称",
+ "visitUrl": "跳转url",
+ "readStatus": "已读状态,1:未读(默认值),2:已读",
+ "readTime": "阅读时间",
+ "custId": "客户编号",
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeHandle.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeHandle.json
new file mode 100644
index 0000000..547dd64
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeHandle.json
@@ -0,0 +1,15 @@
+{
+ "id": "我负责的消息通知编号",
+ "caseId": "纠纷编号",
+ "taskId": "任务编号",
+ "title": "标题",
+ "taskName": "任务名称",
+ "taskTime": "任务下达时间",
+ "expireTime": "任务到期时间",
+ "userId": "接收人编号",
+ "userName": "接收人名称",
+ "visitUrl": "跳转url",
+ "readStatus": "已读状态,1:未读(默认值),2:已读",
+ "readTime": "阅读时间",
+ "custId": "客户编号",
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeJoin.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeJoin.json
new file mode 100644
index 0000000..4833414
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeJoin.json
@@ -0,0 +1,15 @@
+{
+ "id": "我参与的消息通知编号",
+ "taskId": "任务编号",
+ "caseId": "纠纷编号",
+ "title": "标题",
+ "taskName": "任务名称",
+ "taskTime": "任务下达时间",
+ "expireTime": "任务到期时间",
+ "userId": "接收人编号",
+ "userName": "接收人名称",
+ "visitUrl": "跳转url",
+ "readStatus": "已读状态,1:未读(默认值),2:已读",
+ "readTime": "阅读时间",
+ "custId": "客户编号",
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeMode.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeMode.json
new file mode 100644
index 0000000..cc43c43
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeMode.json
@@ -0,0 +1,11 @@
+{
+ "id": "短信通知模板编号",
+ "modeTyep": "模板类型,1:调解预约模板",
+ "name": "模板名称",
+ "noticeTypeName": "通知类型名称",
+ "content": "模板内容",
+ "userId": "操作人编号",
+ "userMobile": "操作人手机号码",
+ "userName": "操作人名称",
+ "custId": "客户编号",
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeParty.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeParty.json
new file mode 100644
index 0000000..382ee04
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeParty.json
@@ -0,0 +1,13 @@
+{
+ "id": "我申请的消息通知编号",
+ "caseId": "纠纷编号",
+ "noticeType": "消息类型,1:系统通知,2:平台公告",
+ "title": "标题",
+ "content": "消息内容",
+ "userId": "接收人编号",
+ "userName": "接收人名称",
+ "visitUrl": "跳转url",
+ "readStatus": "已读状态,1:未读(默认值),2:已读",
+ "readTime": "阅读时间",
+ "custId": "客户编号",
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeShort.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeShort.json
new file mode 100644
index 0000000..e60d3c6
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeShort.json
@@ -0,0 +1,13 @@
+{
+ "id": "短信通知表编号",
+ "caseId": "案件编号",
+ "noticeType": "通消息类型,1:系统通知,2:平台公告",
+ "noticeTypeName": "通知类型名称",
+ "title": "标题",
+ "content": "内容",
+ "userId": "接收人编号",
+ "userMobile": "接收人手机号码",
+ "userName": "接收人名称",
+ "status": 0,
+ "custId": "客户编号",
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeSys.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeSys.json
new file mode 100644
index 0000000..434016c
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/json/NoticeSys.json
@@ -0,0 +1,12 @@
+{
+ "id": "系统公告消息通知编号",
+ "caseId": "纠纷编号",
+ "title": "标题",
+ "content": "内容",
+ "userId": "接收人编号",
+ "userName": "接收人名称",
+ "visitUrl": "跳转url",
+ "readStatus": "已读状态,1:未读(默认值),2:已读",
+ "readTime": "阅读时间",
+ "custId": "客户编号",
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeApply.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeApply.java
new file mode 100644
index 0000000..e08136f
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeApply.java
@@ -0,0 +1,132 @@
+package cn.huge.module.notice.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 我申请的消息通知表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:32
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_notice_apply")
+@Data
+public class NoticeApply {
+
+ /**
+ * 我申请的消息通知编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 任务编号
+ */
+ @TableField(value = "task_id")
+ private String taskId;
+
+ /**
+ * 标题
+ */
+ @TableField(value = "title")
+ private String title;
+
+ /**
+ * 申请类型
+ */
+ @TableField(value = "apply_type")
+ private String applyType;
+
+ /**
+ * 申请时间
+ */
+ @TableField(value = "apply_time")
+ private Date applyTime;
+
+ /**
+ * 申请理由
+ */
+ @TableField(value = "apply_reason")
+ private String applyReason;
+
+ /**
+ * 协助名单,多个用,隔开
+ */
+ @TableField(value = "help_names")
+ private String helpNames;
+
+ /**
+ * 申请进度
+ */
+ @TableField(value = "apply_status")
+ private String applyStatus;
+
+ /**
+ * 接收人编号
+ */
+ @TableField(value = "user_id")
+ private String userId;
+
+ /**
+ * 接收人名称
+ */
+ @TableField(value = "user_name")
+ private String userName;
+
+ /**
+ * 跳转url
+ */
+ @TableField(value = "visit_url")
+ private String visitUrl;
+
+ /**
+ * 已读状态,1:未读(默认值),2:已读
+ */
+ @TableField(value = "read_status")
+ private String readStatus;
+
+ /**
+ * 阅读时间
+ */
+ @TableField(value = "read_time")
+ private Date readTime;
+
+ /**
+ * 删除状态,1:未删除(默认值),99:已删除
+ */
+ @TableLogic
+ @TableField(value = "delete_status")
+ private String deleteStatus;
+
+ /**
+ * 客户编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeHandle.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeHandle.java
new file mode 100644
index 0000000..58f6405
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeHandle.java
@@ -0,0 +1,120 @@
+package cn.huge.module.notice.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 我负责的消息通知表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:33
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_notice_handle")
+@Data
+public class NoticeHandle {
+
+ /**
+ * 我负责的消息通知编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 任务编号
+ */
+ @TableField(value = "task_id")
+ private String taskId;
+
+ /**
+ * 标题
+ */
+ @TableField(value = "title")
+ private String title;
+
+ /**
+ * 任务名称
+ */
+ @TableField(value = "task_name")
+ private String taskName;
+
+ /**
+ * 任务下达时间
+ */
+ @TableField(value = "task_time")
+ private Date taskTime;
+
+ /**
+ * 任务到期时间
+ */
+ @TableField(value = "expire_time")
+ private Date expireTime;
+
+ /**
+ * 接收人编号
+ */
+ @TableField(value = "user_id")
+ private String userId;
+
+ /**
+ * 接收人名称
+ */
+ @TableField(value = "user_name")
+ private String userName;
+
+ /**
+ * 跳转url
+ */
+ @TableField(value = "visit_url")
+ private String visitUrl;
+
+ /**
+ * 已读状态,1:未读(默认值),2:已读
+ */
+ @TableField(value = "read_status")
+ private String readStatus;
+
+ /**
+ * 阅读时间
+ */
+ @TableField(value = "read_time")
+ private Date readTime;
+
+ /**
+ * 删除状态,1:未删除(默认值),99:已删除
+ */
+ @TableLogic
+ @TableField(value = "delete_status")
+ private String deleteStatus;
+
+ /**
+ * 客户编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeJoin.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeJoin.java
new file mode 100644
index 0000000..2a0f44a
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeJoin.java
@@ -0,0 +1,120 @@
+package cn.huge.module.notice.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 我参与的消息通知表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:34
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_notice_join")
+@Data
+public class NoticeJoin {
+
+ /**
+ * 我参与的消息通知编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 任务编号
+ */
+ @TableField(value = "task_id")
+ private String taskId;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 标题
+ */
+ @TableField(value = "title")
+ private String title;
+
+ /**
+ * 任务名称
+ */
+ @TableField(value = "task_name")
+ private String taskName;
+
+ /**
+ * 任务下达时间
+ */
+ @TableField(value = "task_time")
+ private Date taskTime;
+
+ /**
+ * 任务到期时间
+ */
+ @TableField(value = "expire_time")
+ private Date expireTime;
+
+ /**
+ * 接收人编号
+ */
+ @TableField(value = "user_id")
+ private String userId;
+
+ /**
+ * 接收人名称
+ */
+ @TableField(value = "user_name")
+ private String userName;
+
+ /**
+ * 跳转url
+ */
+ @TableField(value = "visit_url")
+ private String visitUrl;
+
+ /**
+ * 已读状态,1:未读(默认值),2:已读
+ */
+ @TableField(value = "read_status")
+ private String readStatus;
+
+ /**
+ * 阅读时间
+ */
+ @TableField(value = "read_time")
+ private Date readTime;
+
+ /**
+ * 删除状态,1:未删除(默认值),99:已删除
+ */
+ @TableLogic
+ @TableField(value = "delete_status")
+ private String deleteStatus;
+
+ /**
+ * 客户编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeMode.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeMode.java
new file mode 100644
index 0000000..29046dd
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeMode.java
@@ -0,0 +1,89 @@
+package cn.huge.module.notice.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 短信通知模板表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:34
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_notice_mode")
+@Data
+public class NoticeMode {
+
+ /**
+ * 短信通知模板编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 模板类型,1:调解预约模板
+ */
+ @TableField(value = "mode_tyep")
+ private String modeTyep;
+
+ /**
+ * 模板名称
+ */
+ @TableField(value = "name")
+ private String name;
+
+ /**
+ * 通知类型名称
+ */
+ @TableField(value = "notice_type_name")
+ private String noticeTypeName;
+
+ /**
+ * 模板内容
+ */
+ @TableField(value = "content")
+ private String content;
+
+ /**
+ * 操作人编号
+ */
+ @TableField(value = "user_id")
+ private String userId;
+
+ /**
+ * 操作人手机号码
+ */
+ @TableField(value = "user_mobile")
+ private String userMobile;
+
+ /**
+ * 操作人名称
+ */
+ @TableField(value = "user_name")
+ private String userName;
+
+ /**
+ * 客户编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeParty.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeParty.java
new file mode 100644
index 0000000..81dc898
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeParty.java
@@ -0,0 +1,108 @@
+package cn.huge.module.notice.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 当事人消息通知表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:34
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_notice_party")
+@Data
+public class NoticeParty {
+
+ /**
+ * 我申请的消息通知编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 消息类型,1:系统通知,2:平台公告
+ */
+ @TableField(value = "notice_type")
+ private String noticeType;
+
+ /**
+ * 标题
+ */
+ @TableField(value = "title")
+ private String title;
+
+ /**
+ * 消息内容
+ */
+ @TableField(value = "content")
+ private String content;
+
+ /**
+ * 接收人编号
+ */
+ @TableField(value = "user_id")
+ private String userId;
+
+ /**
+ * 接收人名称
+ */
+ @TableField(value = "user_name")
+ private String userName;
+
+ /**
+ * 跳转url
+ */
+ @TableField(value = "visit_url")
+ private String visitUrl;
+
+ /**
+ * 已读状态,1:未读(默认值),2:已读
+ */
+ @TableField(value = "read_status")
+ private String readStatus;
+
+ /**
+ * 阅读时间
+ */
+ @TableField(value = "read_time")
+ private Date readTime;
+
+ /**
+ * 删除状态,1:未删除(默认值),99:已删除
+ */
+ @TableLogic
+ @TableField(value = "delete_status")
+ private String deleteStatus;
+
+ /**
+ * 客户编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeShort.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeShort.java
new file mode 100644
index 0000000..be1f4d2
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeShort.java
@@ -0,0 +1,101 @@
+package cn.huge.module.notice.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 短信通知表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:35
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_notice_short")
+@Data
+public class NoticeShort {
+
+ /**
+ * 短信通知表编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 案件编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 通消息类型,1:系统通知,2:平台公告
+ */
+ @TableField(value = "notice_type")
+ private String noticeType;
+
+ /**
+ * 通知类型名称
+ */
+ @TableField(value = "notice_type_name")
+ private String noticeTypeName;
+
+ /**
+ * 标题
+ */
+ @TableField(value = "title")
+ private String title;
+
+ /**
+ * 内容
+ */
+ @TableField(value = "content")
+ private String content;
+
+ /**
+ * 接收人编号
+ */
+ @TableField(value = "user_id")
+ private String userId;
+
+ /**
+ * 接收人手机号码
+ */
+ @TableField(value = "user_mobile")
+ private String userMobile;
+
+ /**
+ * 接收人名称
+ */
+ @TableField(value = "user_name")
+ private String userName;
+
+ /**
+ * 状态,1:发送成功,2:发送失败
+ */
+ @TableField(value = "status")
+ private Integer status;
+
+ /**
+ * 客户编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeSys.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeSys.java
new file mode 100644
index 0000000..11c8120
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/domain/po/NoticeSys.java
@@ -0,0 +1,102 @@
+package cn.huge.module.notice.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 系统公告消息通知表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-11-24 10:34:35
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_notice_sys")
+@Data
+public class NoticeSys {
+
+ /**
+ * 系统公告消息通知编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 标题
+ */
+ @TableField(value = "title")
+ private String title;
+
+ /**
+ * 内容
+ */
+ @TableField(value = "content")
+ private String content;
+
+ /**
+ * 接收人编号
+ */
+ @TableField(value = "user_id")
+ private String userId;
+
+ /**
+ * 接收人名称
+ */
+ @TableField(value = "user_name")
+ private String userName;
+
+ /**
+ * 跳转url
+ */
+ @TableField(value = "visit_url")
+ private String visitUrl;
+
+ /**
+ * 已读状态,1:未读(默认值),2:已读
+ */
+ @TableField(value = "read_status")
+ private String readStatus;
+
+ /**
+ * 阅读时间
+ */
+ @TableField(value = "read_time")
+ private Date readTime;
+
+ /**
+ * 删除状态,1:未删除(默认值),99:已删除
+ */
+ @TableLogic
+ @TableField(value = "delete_status")
+ private String deleteStatus;
+
+ /**
+ * 客户编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/service/NoticePartyService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/service/NoticePartyService.java
new file mode 100644
index 0000000..75a1484
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/notice/service/NoticePartyService.java
@@ -0,0 +1,133 @@
+package cn.huge.module.notice.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.notice.dao.mapper.NoticePartyMapper;
+import cn.huge.module.notice.domain.po.NoticeParty;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 当事人消息通知表业务逻辑处理
+ * @Description JPA的单表数据查询以由BaseService完成
+ * @company hugeinfo
+ * @author liyj
+ * @Time 2022-11-24 10:34:34
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class NoticePartyService extends ServiceImpl<NoticePartyMapper, NoticeParty>{
+
+ @Autowired
+ private NoticePartyMapper mapper;
+
+ @Autowired
+ private UtilsClientImpl utilsClient;
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ public void updateNoticeParty(NoticeParty entity){
+ try{
+ mapper.updateNoticeParty(entity);
+ }catch (Exception e){
+ log.error("service方法[NoticePartyService.updateNoticeParty]调用异常:"+e, e);
+ throw new ServiceException("NoticePartyService.updateNoticeParty", e);
+ }
+ }
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ public void updateNoticePartyTerms(NoticeParty entity, Map<String, Object> terms){
+ try{
+ mapper.updateNoticePartyTerms(entity, terms);
+ }catch (Exception e){
+ log.error("service方法[NoticePartyService.updateNoticePartyTerms]调用异常:"+e, e);
+ throw new ServiceException("NoticePartyService.updateNoticePartyTerms", e);
+ }
+ }
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ public void deleteNoticeParty(String id){
+ try{
+ mapper.deleteNoticeParty(id);
+ }catch (Exception e){
+ log.error("service方法[NoticePartyService.deleteNoticeParty]调用异常:"+e, e);
+ throw new ServiceException("NoticePartyService.deleteNoticeParty", e);
+ }
+ }
+
+ /**
+ * 按条件查询
+ * @param terms 条件
+ * @return List
+ */
+ public List<NoticeParty> listTerms(Map<String, Object> terms){
+ return mapper.listTerms(terms);
+ }
+
+ /**
+ * 按条件统计
+ * @param terms 条件
+ * @return long
+ */
+ public long countTerms(Map<String, Object> terms){
+ return mapper.countTerms(terms);
+ }
+
+ /**
+ * 按条件分页查询
+ * @param page 分页对象
+ * @param terms 条件
+ * @return Page
+ */
+ public Page<NoticeParty> pageQuery(PageRequest page, Map<String, Object> terms){
+ long total = mapper.countTerms(terms);
+ List<NoticeParty> content = mapper.pageTerms(page, terms);
+ return new PageImpl<NoticeParty>(content, page, total);
+ }
+
+ /**
+ * 新增或更新对象
+ * @param noticeParty 实体对象
+ */
+ public void saveNoticeParty(NoticeParty noticeParty){
+ try{
+ Date nowDate = new Date();
+ // 判断是否新增
+ if (IdUtils.checkNewId(noticeParty.getId())){
+ noticeParty.setId(utilsClient.getNewTimeId());
+ noticeParty.setCreateTime(nowDate);
+ }
+ noticeParty.setUpdateTime(nowDate);
+ this.saveOrUpdate(noticeParty);
+ }catch (Exception e){
+ log.error("service方法[NoticePartyService.saveNoticeParty]调用异常:"+e, e);
+ throw new ServiceException("NoticePartyService.saveNoticeParty", e);
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/aop/LogAop.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/aop/LogAop.java
new file mode 100644
index 0000000..55f5771
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/aop/LogAop.java
@@ -0,0 +1,57 @@
+package cn.huge.module.aop;
+
+import cn.huge.base.common.utils.ObjectUtils;
+import com.alibaba.fastjson.JSON;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author zhouxiantao
+ * @create 2024-08-30 11:46
+ */
+@Component
+@Aspect
+@Slf4j
+public class LogAop {
+ @Around("execution(* cn.huge.module.*.controller.*.*.*(..))")
+ public Object aroundAdvice(ProceedingJoinPoint joinPoint) throws Throwable {
+ long starttime = System.currentTimeMillis();
+ Object[] objs = joinPoint.getArgs();
+ try{
+ log.info("start to {} {}", joinPoint.getSignature().getName(), JSON.toJSONString(objs));
+ }catch (Exception e){
+ log.info("start to {} 参数不能转成字符串,忽略不处理", joinPoint.getSignature().getName());
+ }
+ Object result = joinPoint.proceed(objs);
+ long endtime = System.currentTimeMillis();
+ try {
+ String resultJson = JSON.toJSONString(result);
+ if(ObjectUtils.isNotEmpty(result) && resultJson.length() > 1000) {
+ log.info("finish to {} 日志过长不打印 {}ms", joinPoint.getSignature().getName(),endtime-starttime);
+ }else {
+ log.info("finish to {} {} {}ms", joinPoint.getSignature().getName(), resultJson,endtime-starttime);
+ }
+ }catch (Exception e){
+ log.info("finish to {} 不能转成字符串,忽略不处理 {}ms", joinPoint.getSignature().getName(),endtime-starttime);
+ }
+ return result;
+ }
+
+ @Around("execution(* cn.huge.module.*.dao.mapper.*.*(..))")
+ public Object aroundAdviceDao(ProceedingJoinPoint joinPoint) throws Throwable {
+ long starttime = System.currentTimeMillis();
+ Object[] objs = joinPoint.getArgs();
+ Object result = joinPoint.proceed(objs);
+ long endtime = System.currentTimeMillis();
+ Long times = endtime-starttime;
+ if(times > 2000){
+ log.info("Executing sql consumes time more than 1s {} ,{}ms", joinPoint.getSignature().getName(),endtime-starttime);
+ }else{
+ log.info("Executing sql consumes time {} ,{}ms", joinPoint.getSignature().getName(),endtime-starttime);
+ }
+ return result;
+ }
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/controller/wechat/PaHotNewsWechatController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/controller/wechat/PaHotNewsWechatController.java
new file mode 100644
index 0000000..541b060
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/controller/wechat/PaHotNewsWechatController.java
@@ -0,0 +1,146 @@
+package cn.huge.module.hot.controller.wechat;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.hot.domain.po.HotNews;
+import cn.huge.module.hot.domain.po.HotVideo;
+import cn.huge.module.hot.service.HotNewsService;
+import cn.huge.module.hot.service.HotVideoService;
+import cn.huge.module.oper.dto.SeCustWechatDTO;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 热门资讯表接口api
+ * @description: 热门资讯表接口api
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-04-29 10:12:39
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/wechat/paHotNews")
+public class PaHotNewsWechatController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private HotNewsService service;
+ @Autowired
+ private HotVideoService hotVideoService;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 热门视频编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 关键词
+ String keyword = request.getParameter("keyword");
+ if (StringUtils.isNotBlank(keyword)){
+ terms.put("keyword", keyword);
+ }
+ // 标题
+ String title = request.getParameter("title");
+ if (StringUtils.isNotBlank(title)){
+ terms.put("title", title);
+ }
+ // 内容
+ String content = request.getParameter("content");
+ if (StringUtils.isNotBlank(content)){
+ terms.put("content", content);
+ }
+ // 来源
+ String source = request.getParameter("source");
+ if (StringUtils.isNotBlank(source)){
+ terms.put("source", source);
+ }
+ // 查看连接
+ String showUrl = request.getParameter("showUrl");
+ if (StringUtils.isNotBlank(showUrl)){
+ terms.put("showUrl", showUrl);
+ }
+ // 发布时间
+ String pushTime = request.getParameter("pushTime");
+ if (StringUtils.isNotBlank(pushTime)){
+ terms.put("pushTime", pushTime);
+ }
+ // 播放量
+ String playNum = request.getParameter("playNum");
+ if (StringUtils.isNotBlank(playNum)){
+ terms.put("playNum", playNum);
+ }
+ // 点赞量
+ String goodNum = request.getParameter("goodNum");
+ if (StringUtils.isNotBlank(goodNum)){
+ terms.put("goodNum", goodNum);
+ }
+ // 删除状态,1:未删除,2已删除
+ String deleteStatus = request.getParameter("deleteStatus");
+ if (StringUtils.isNotBlank(deleteStatus)){
+ terms.put("deleteStatus", deleteStatus);
+ }
+ // 客户编号
+ String custId = request.getParameter("custId");
+ if (StringUtils.isNotBlank(custId)){
+ terms.put("custId", custId);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+ /**
+ * 当事人小程序-首页-查询热门资讯
+ * @url {ctx}/api/weChat/paHotNews/listShow
+ * @return Object
+ */
+ @GetMapping("/listShow")
+ public Object listShow(@RequestParam(value = "appid") String appid) {
+ try {
+ SeCustWechatDTO seCustWechatDTO = service.getSeCustWechatByAppid(appid);
+ // TODO: 2022/4/29 条件
+ Map<String, Object> result = Maps.newHashMap();
+ Map<String, Object> terms = getParameter();
+ terms.put("custId", seCustWechatDTO.getCustId());
+ List<HotNews> hotNewsList = service.listTerms(terms);
+ result.put("hotNewsList", hotNewsList);
+ List<HotVideo> hotVideoList = hotVideoService.listTerms(terms);
+ result.put("hotVideoList", hotVideoList);
+ return ReturnSucUtils.getRepInfo(result);
+ } catch (Exception e) {
+ log.error("Controller接口[HotNewsController.listQuery]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/HotNewsMapper.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/HotNewsMapper.java
new file mode 100644
index 0000000..da1ba08
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/HotNewsMapper.java
@@ -0,0 +1,72 @@
+package cn.huge.module.hot.dao.mapper;
+
+import cn.huge.module.hot.domain.po.HotNews;
+import cn.huge.module.oper.dto.SeCustWechatDTO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 热门资讯表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2022-04-29 10:12:39
+* @version 1.0.0
+*/
+@Repository
+public interface HotNewsMapper extends BaseMapper<HotNews>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateHotNews(@Param("entity") HotNews entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateHotNewsTerms(@Param("entity") HotNews entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteHotNews(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<HotNews>
+ */
+ List<HotNews> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<HotNews>
+ */
+ List<HotNews> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据appid查询小程序配置
+ * @param appid 小程序appid
+ * @return SeCustWechatDTO
+ */
+ SeCustWechatDTO getSeCustWechatByAppid(@Param("appid") String appid);
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/HotVideoMapper.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/HotVideoMapper.java
new file mode 100644
index 0000000..3d712a1
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/HotVideoMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.hot.dao.mapper;
+
+import cn.huge.module.hot.domain.po.HotVideo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 热门视频表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: liyj
+* @time: 2022-04-29 10:12:38
+* @version 1.0.0
+*/
+@Repository
+public interface HotVideoMapper extends BaseMapper<HotVideo>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateHotVideo(@Param("entity") HotVideo entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateHotVideoTerms(@Param("entity") HotVideo entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteHotVideo(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<HotVideo>
+ */
+ List<HotVideo> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<HotVideo>
+ */
+ List<HotVideo> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/xml/HotNewsMapper.xml b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/xml/HotNewsMapper.xml
new file mode 100644
index 0000000..00603d3
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/xml/HotNewsMapper.xml
@@ -0,0 +1,203 @@
+<?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">
+<!--
+ * @title: 热门资讯表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2022-04-29 10:12:39
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.hot.dao.mapper.HotNewsMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.hot.domain.po.HotNews">
+ <result property="id" column="id"/>
+ <result property="keyword" column="keyword"/>
+ <result property="title" column="title"/>
+ <result property="content" column="content"/>
+ <result property="source" column="source"/>
+ <result property="showUrl" column="show_url"/>
+ <result property="pushTime" column="push_time"/>
+ <result property="playNum" column="play_num"/>
+ <result property="goodNum" column="good_num"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_hot_news</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ keyword,
+ title,
+ content,
+ source,
+ show_url,
+ push_time,
+ play_num,
+ good_num,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.keyword != null">keyword = #{entity.keyword},</if>
+ <if test="entity.title != null">title = #{entity.title},</if>
+ <if test="entity.content != null">content = #{entity.content},</if>
+ <if test="entity.source != null">source = #{entity.source},</if>
+ <if test="entity.showUrl != null">show_url = #{entity.showUrl},</if>
+ <if test="entity.pushTime != null">push_time = #{entity.pushTime},</if>
+ <if test="entity.playNum != null">play_num = #{entity.playNum},</if>
+ <if test="entity.goodNum != null">good_num = #{entity.goodNum},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.keyword != null and terms.keyword !=''">
+ and keyword = #{terms.keyword}
+ </if>
+ <if test="terms.title != null and terms.title !=''">
+ and title = #{terms.title}
+ </if>
+ <if test="terms.content != null and terms.content !=''">
+ and content = #{terms.content}
+ </if>
+ <if test="terms.source != null and terms.source !=''">
+ and source = #{terms.source}
+ </if>
+ <if test="terms.showUrl != null and terms.showUrl !=''">
+ and show_url = #{terms.showUrl}
+ </if>
+ <if test="terms.pushTime != null and terms.pushTime !=''">
+ and push_time = #{terms.pushTime}
+ </if>
+ <if test="terms.playNum != null and terms.playNum !=''">
+ and play_num = #{terms.playNum}
+ </if>
+ <if test="terms.goodNum != null and terms.goodNum !=''">
+ and good_num = #{terms.goodNum}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = 0
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateHotNews">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateHotNewsTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteHotNews">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ order by push_time desc
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+ <!-- SeCustWechatDTO结果集 -->
+ <resultMap id="seCustWechatDTO" type="cn.huge.module.oper.dto.SeCustWechatDTO">
+ <result property="id" column="id"/>
+ <result property="custId" column="cust_id"/>
+ <result property="mainId" column="main_id"/>
+ <result property="mainName" column="main_name"/>
+ <result property="mainAcc" column="main_acc"/>
+ <result property="mainPower" column="main_power"/>
+ <result property="appid" column="appid"/>
+ <result property="secret" column="secret"/>
+ <result property="token" column="token"/>
+ <result property="aeskey" column="aeskey"/>
+ <result property="msgDataFormat" column="msg_data_format"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 根据appid查询小程序配置 -->
+ <select id="getSeCustWechatByAppid" resultMap="seCustWechatDTO">
+ SELECT
+ *
+ FROM dyh_se_cust_wechat
+ WHERE appid = #{appid}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/xml/HotVideoMapper.xml b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/xml/HotVideoMapper.xml
new file mode 100644
index 0000000..1b6c3d7
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/dao/mapper/xml/HotVideoMapper.xml
@@ -0,0 +1,161 @@
+<?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">
+<!--
+ * @title: 热门视频表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: liyj
+ * @time:2022-04-29 10:12:38
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.hot.dao.mapper.HotVideoMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.hot.domain.po.HotVideo">
+ <result property="id" column="id"/>
+ <result property="title" column="title"/>
+ <result property="showUrl" column="show_url"/>
+ <result property="pushTime" column="push_time"/>
+ <result property="playNum" column="play_num"/>
+ <result property="goodNum" column="good_num"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_hot_video</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ title,
+ show_url,
+ push_time,
+ play_num,
+ good_num,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.title != null">title = #{entity.title},</if>
+ <if test="entity.showUrl != null">show_url = #{entity.showUrl},</if>
+ <if test="entity.pushTime != null">push_time = #{entity.pushTime},</if>
+ <if test="entity.playNum != null">play_num = #{entity.playNum},</if>
+ <if test="entity.goodNum != null">good_num = #{entity.goodNum},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.title != null and terms.title !=''">
+ and title = #{terms.title}
+ </if>
+ <if test="terms.showUrl != null and terms.showUrl !=''">
+ and show_url = #{terms.showUrl}
+ </if>
+ <if test="terms.pushTime != null and terms.pushTime !=''">
+ and push_time = #{terms.pushTime}
+ </if>
+ <if test="terms.playNum != null and terms.playNum !=''">
+ and play_num = #{terms.playNum}
+ </if>
+ <if test="terms.goodNum != null and terms.goodNum !=''">
+ and good_num = #{terms.goodNum}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = 0
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateHotVideo">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateHotVideoTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteHotVideo">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ order by push_time desc
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/bo/HotNewsBO.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/bo/HotNewsBO.java
new file mode 100644
index 0000000..16d9525
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/bo/HotNewsBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.hot.domain.bo;
+
+import cn.huge.module.hot.domain.po.HotNews;
+
+/**
+ * @title: 热门资讯表
+ * @description: 热门资讯表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-04-29 10:12:39
+ * @version: 1.0.0
+ * @see HotNews
+ */
+public class HotNewsBO extends HotNews {
+
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/bo/HotVideoBO.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/bo/HotVideoBO.java
new file mode 100644
index 0000000..30b64a9
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/bo/HotVideoBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.hot.domain.bo;
+
+import cn.huge.module.hot.domain.po.HotVideo;
+
+/**
+ * @title: 热门视频表
+ * @description: 热门视频表业务扩展类
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-04-29 10:12:38
+ * @version: 1.0.0
+ * @see HotVideo
+ */
+public class HotVideoBO extends HotVideo {
+
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/json/HotNews.json b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/json/HotNews.json
new file mode 100644
index 0000000..95f8462
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/json/HotNews.json
@@ -0,0 +1,12 @@
+{
+ "id": "热门视频编号",
+ "keyword": "关键词",
+ "title": "标题",
+ "content": "内容",
+ "source": "来源",
+ "showUrl": "查看连接",
+ "pushTime": "发布时间",
+ "playNum": 0,
+ "goodNum": 0,
+ "custId": "客户编号",
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/json/HotVideo.json b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/json/HotVideo.json
new file mode 100644
index 0000000..b34e483
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/json/HotVideo.json
@@ -0,0 +1,9 @@
+{
+ "id": "热门视频编号",
+ "title": "标题",
+ "showUrl": "查看连接",
+ "pushTime": "发布时间",
+ "playNum": 0,
+ "goodNum": 0,
+ "custId": "客户编号",
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/po/HotNews.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/po/HotNews.java
new file mode 100644
index 0000000..88caecc
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/po/HotNews.java
@@ -0,0 +1,102 @@
+package cn.huge.module.hot.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 热门资讯表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-04-29 10:12:39
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_hot_news")
+@Data
+public class HotNews {
+
+ /**
+ * 热门视频编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 关键词
+ */
+ @TableField(value = "keyword")
+ private String keyword;
+
+ /**
+ * 标题
+ */
+ @TableField(value = "title")
+ private String title;
+
+ /**
+ * 内容
+ */
+ @TableField(value = "content")
+ private String content;
+
+ /**
+ * 来源
+ */
+ @TableField(value = "source")
+ private String source;
+
+ /**
+ * 查看连接
+ */
+ @TableField(value = "show_url")
+ private String showUrl;
+
+ /**
+ * 发布时间
+ */
+ @TableField(value = "push_time")
+ private Date pushTime;
+
+ /**
+ * 播放量
+ */
+ @TableField(value = "play_num")
+ private Integer playNum;
+
+ /**
+ * 点赞量
+ */
+ @TableField(value = "good_num")
+ private Integer goodNum;
+
+ /**
+ * 删除状态,0:未删除,1已删除
+ */
+ @TableLogic(value = "0",delval = "1")
+ @TableField(value = "delete_status")
+ private Integer deleteStatus;
+
+ /**
+ * 客户编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/po/HotVideo.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/po/HotVideo.java
new file mode 100644
index 0000000..8518675
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/domain/po/HotVideo.java
@@ -0,0 +1,84 @@
+package cn.huge.module.hot.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 热门视频表
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-04-29 10:12:38
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_hot_video")
+@Data
+public class HotVideo {
+
+ /**
+ * 热门视频编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 标题
+ */
+ @TableField(value = "title")
+ private String title;
+
+ /**
+ * 查看连接
+ */
+ @TableField(value = "show_url")
+ private String showUrl;
+
+ /**
+ * 发布时间
+ */
+ @TableField(value = "push_time")
+ private Date pushTime;
+
+ /**
+ * 播放量
+ */
+ @TableField(value = "play_num")
+ private Integer playNum;
+
+ /**
+ * 点赞量
+ */
+ @TableField(value = "good_num")
+ private Integer goodNum;
+
+ /**
+ * 删除状态,0:未删除,1已删除
+ */
+ @TableLogic(value = "0",delval = "1")
+ @TableField(value = "delete_status")
+ private Integer deleteStatus;
+
+ /**
+ * 客户编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/service/HotNewsService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/service/HotNewsService.java
new file mode 100644
index 0000000..e59938a
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/service/HotNewsService.java
@@ -0,0 +1,144 @@
+package cn.huge.module.hot.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.hot.dao.mapper.HotNewsMapper;
+import cn.huge.module.hot.domain.po.HotNews;
+import cn.huge.module.oper.dto.SeCustWechatDTO;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 热门资讯表业务逻辑处理
+ * @Description JPA的单表数据查询以由BaseService完成
+ * @company hugeinfo
+ * @author liyj
+ * @Time 2022-04-29 10:12:39
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class HotNewsService extends ServiceImpl<HotNewsMapper, HotNews>{
+
+ @Autowired
+ private HotNewsMapper mapper;
+
+ @Autowired
+ private UtilsClientImpl utilsClient;
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ public void updateHotNews(HotNews entity){
+ try{
+ mapper.updateHotNews(entity);
+ }catch (Exception e){
+ log.error("service方法[HotNewsService.updateHotNews]调用异常:"+e, e);
+ throw new ServiceException("HotNewsService.updateHotNews", e);
+ }
+ }
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ public void updateHotNewsTerms(HotNews entity, Map<String, Object> terms){
+ try{
+ mapper.updateHotNewsTerms(entity, terms);
+ }catch (Exception e){
+ log.error("service方法[HotNewsService.updateHotNewsTerms]调用异常:"+e, e);
+ throw new ServiceException("HotNewsService.updateHotNewsTerms", e);
+ }
+ }
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ public void deleteHotNews(String id){
+ try{
+ mapper.deleteHotNews(id);
+ }catch (Exception e){
+ log.error("service方法[HotNewsService.deleteHotNews]调用异常:"+e, e);
+ throw new ServiceException("HotNewsService.deleteHotNews", e);
+ }
+ }
+
+ /**
+ * 按条件查询
+ * @param terms 条件
+ * @return List
+ */
+ public List<HotNews> listTerms(Map<String, Object> terms){
+ return mapper.listTerms(terms);
+ }
+
+ /**
+ * 按条件统计
+ * @param terms 条件
+ * @return long
+ */
+ public long countTerms(Map<String, Object> terms){
+ return mapper.countTerms(terms);
+ }
+
+ /**
+ * 按条件分页查询
+ * @param page 分页对象
+ * @param terms 条件
+ * @return Page
+ */
+ public Page<HotNews> pageQuery(PageRequest page, Map<String, Object> terms){
+ long total = mapper.countTerms(terms);
+ List<HotNews> content = mapper.pageTerms(page, terms);
+ return new PageImpl<HotNews>(content, page, total);
+ }
+
+ /**
+ * 新增或更新对象
+ * @param hotNews 实体对象
+ */
+ public void saveHotNews(HotNews hotNews){
+ try{
+ Date nowDate = new Date();
+ // 判断是否新增
+ if (IdUtils.checkNewId(hotNews.getId())){
+ hotNews.setId(utilsClient.getNewTimeId());
+ hotNews.setCreateTime(nowDate);
+ }
+ hotNews.setUpdateTime(nowDate);
+ this.saveOrUpdate(hotNews);
+ }catch (Exception e){
+ log.error("service方法[HotNewsService.saveHotNews]调用异常:"+e, e);
+ throw new ServiceException("HotNewsService.saveHotNews", e);
+ }
+ }
+
+ /**
+ * 根据appid查询小程序配置
+ * @param appid 小程序appid
+ * @return SeCustWechatDTO
+ */
+ public SeCustWechatDTO getSeCustWechatByAppid(@Param("appid") String appid){
+ return mapper.getSeCustWechatByAppid(appid);
+ }
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/service/HotVideoService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/service/HotVideoService.java
new file mode 100644
index 0000000..8f234d5
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/hot/service/HotVideoService.java
@@ -0,0 +1,133 @@
+package cn.huge.module.hot.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.hot.dao.mapper.HotVideoMapper;
+import cn.huge.module.hot.domain.po.HotVideo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 热门视频表业务逻辑处理
+ * @Description JPA的单表数据查询以由BaseService完成
+ * @company hugeinfo
+ * @author liyj
+ * @Time 2022-04-29 10:12:38
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class HotVideoService extends ServiceImpl<HotVideoMapper, HotVideo>{
+
+ @Autowired
+ private HotVideoMapper mapper;
+
+ @Autowired
+ private UtilsClientImpl utilsClient;
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ public void updateHotVideo(HotVideo entity){
+ try{
+ mapper.updateHotVideo(entity);
+ }catch (Exception e){
+ log.error("service方法[HotVideoService.updateHotVideo]调用异常:"+e, e);
+ throw new ServiceException("HotVideoService.updateHotVideo", e);
+ }
+ }
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ public void updateHotVideoTerms(HotVideo entity, Map<String, Object> terms){
+ try{
+ mapper.updateHotVideoTerms(entity, terms);
+ }catch (Exception e){
+ log.error("service方法[HotVideoService.updateHotVideoTerms]调用异常:"+e, e);
+ throw new ServiceException("HotVideoService.updateHotVideoTerms", e);
+ }
+ }
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ public void deleteHotVideo(String id){
+ try{
+ mapper.deleteHotVideo(id);
+ }catch (Exception e){
+ log.error("service方法[HotVideoService.deleteHotVideo]调用异常:"+e, e);
+ throw new ServiceException("HotVideoService.deleteHotVideo", e);
+ }
+ }
+
+ /**
+ * 按条件查询
+ * @param terms 条件
+ * @return List
+ */
+ public List<HotVideo> listTerms(Map<String, Object> terms){
+ return mapper.listTerms(terms);
+ }
+
+ /**
+ * 按条件统计
+ * @param terms 条件
+ * @return long
+ */
+ public long countTerms(Map<String, Object> terms){
+ return mapper.countTerms(terms);
+ }
+
+ /**
+ * 按条件分页查询
+ * @param page 分页对象
+ * @param terms 条件
+ * @return Page
+ */
+ public Page<HotVideo> pageQuery(PageRequest page, Map<String, Object> terms){
+ long total = mapper.countTerms(terms);
+ List<HotVideo> content = mapper.pageTerms(page, terms);
+ return new PageImpl<HotVideo>(content, page, total);
+ }
+
+ /**
+ * 新增或更新对象
+ * @param hotVideo 实体对象
+ */
+ public void saveHotVideo(HotVideo hotVideo){
+ try{
+ Date nowDate = new Date();
+ // 判断是否新增
+ if (IdUtils.checkNewId(hotVideo.getId())){
+ hotVideo.setId(utilsClient.getNewTimeId());
+ hotVideo.setCreateTime(nowDate);
+ }
+ hotVideo.setUpdateTime(nowDate);
+ this.saveOrUpdate(hotVideo);
+ }catch (Exception e){
+ log.error("service方法[HotVideoService.saveHotVideo]调用异常:"+e, e);
+ throw new ServiceException("HotVideoService.saveHotVideo", e);
+ }
+ }
+
+}
--
Gitblit v1.8.0