dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyCauseThirdWebController.java
@@ -23,7 +23,7 @@ * @description: 第三方纠纷类型映射表接口api-web端 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version: 1.0.0 */ @Slf4j dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyCauseWebController.java
@@ -23,7 +23,7 @@ * @description: 纠纷类型表接口api-web端 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:21 * @version: 1.0.0 */ @Slf4j @@ -167,4 +167,18 @@ } } /** * 获取纠纷类型的树形结构 * @url {ctx}/api/web/syCause/listSelectJS * @return Object */ @GetMapping("/listSelectJS") public Object listSelectJS() { try { return ReturnSucUtils.getRepInfo(service.listSelectJS()); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } } dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyIssueWebController.java
@@ -23,7 +23,7 @@ * @description: 调解类型表接口api-web端 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version: 1.0.0 */ @Slf4j dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyRegionWebController.java
@@ -23,7 +23,7 @@ * @description: 地域字典表接口api-web端 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version: 1.0.0 */ @Slf4j dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/dao/mapper/SyCauseMapper.java
@@ -1,5 +1,6 @@ package cn.huge.module.kind.dao.mapper; import cn.huge.module.kind.domain.dto.CauseSelectJSDTO; import cn.huge.module.kind.domain.po.SyCause; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -14,7 +15,7 @@ * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:21 * @version 1.0.0 */ @Repository @@ -61,4 +62,10 @@ */ List<SyCause> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); /** * 查询js树形结构 * @return */ List<CauseSelectJSDTO> listSelectJS(); } dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/dao/mapper/SyCauseThirdMapper.java
@@ -14,7 +14,7 @@ * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version 1.0.0 */ @Repository dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/dao/mapper/SyIssueMapper.java
@@ -14,7 +14,7 @@ * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version 1.0.0 */ @Repository dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/dao/mapper/SyRegionMapper.java
@@ -14,7 +14,7 @@ * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version 1.0.0 */ @Repository dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/dao/mapper/xml/SyCauseMapper.xml
@@ -5,7 +5,7 @@ * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: liyj * @time:2024-08-28 20:06:20 * @time:2024-09-09 14:31:21 * @version 1.0.0 --> <mapper namespace="cn.huge.module.kind.dao.mapper.SyCauseMapper"> @@ -136,4 +136,10 @@ limit #{page.offset}, #{page.size} </select> <!-- 查询js树形结构 --> <select id="listSelectJS" resultType="cn.huge.module.kind.domain.dto.CauseSelectJSDTO"> SELECT id AS value, name AS label, parent_id AS parentId FROM dyh_sy_cause order by level </select> </mapper> dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/dao/mapper/xml/SyCauseThirdMapper.xml
@@ -5,7 +5,7 @@ * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: liyj * @time:2024-08-28 20:06:20 * @time:2024-09-09 14:31:22 * @version 1.0.0 --> <mapper namespace="cn.huge.module.kind.dao.mapper.SyCauseThirdMapper"> dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/dao/mapper/xml/SyIssueMapper.xml
@@ -5,7 +5,7 @@ * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: liyj * @time:2024-08-28 20:06:20 * @time:2024-09-09 14:31:22 * @version 1.0.0 --> <mapper namespace="cn.huge.module.kind.dao.mapper.SyIssueMapper"> dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/dao/mapper/xml/SyRegionMapper.xml
@@ -5,7 +5,7 @@ * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: liyj * @time:2024-08-28 20:06:20 * @time:2024-09-09 14:31:22 * @version 1.0.0 --> <mapper namespace="cn.huge.module.kind.dao.mapper.SyRegionMapper"> dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/domain/bo/SyCauseBO.java
@@ -7,7 +7,7 @@ * @description: 纠纷类型表业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:21 * @version: 1.0.0 * @see cn.huge.module.kind.domain.po.SyCause */ dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/domain/bo/SyCauseThirdBO.java
@@ -7,7 +7,7 @@ * @description: 第三方纠纷类型映射表业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version: 1.0.0 * @see cn.huge.module.kind.domain.po.SyCauseThird */ dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/domain/bo/SyIssueBO.java
@@ -7,7 +7,7 @@ * @description: 调解类型表业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version: 1.0.0 * @see cn.huge.module.kind.domain.po.SyIssue */ dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/domain/bo/SyRegionBO.java
@@ -7,7 +7,7 @@ * @description: 地域字典表业务扩展类 * @company: hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version: 1.0.0 * @see cn.huge.module.kind.domain.po.SyRegion */ dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/domain/dto/CauseSelectJSDTO.java
New file @@ -0,0 +1,42 @@ package cn.huge.module.kind.domain.dto; import lombok.Data; import java.util.List; /** * @title: 前端下拉框js数据传输类 * @description: 前端下拉框js数据传输类 * @company: hugeinfo * @author: liyj * @time: 2022-02-23 14:19:43 * @version: 1.0.0 */ @Data public class CauseSelectJSDTO { /** * 名称 */ private String label; /** * 代码 */ private String value; /** * 图标 */ private String icon; /** * 父级编号,根级默认root */ private String parentId; /** * 子数组 */ private List<CauseSelectJSDTO> children; } dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/domain/po/SyCause.java
@@ -13,7 +13,7 @@ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:21 * @version 1.0.0 */ @TableName(value = "dyh_sy_cause") dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/domain/po/SyCauseThird.java
@@ -13,7 +13,7 @@ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version 1.0.0 */ @TableName(value = "dyh_sy_cause_third") dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/domain/po/SyIssue.java
@@ -13,7 +13,7 @@ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version 1.0.0 */ @TableName(value = "dyh_sy_issue") dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/domain/po/SyRegion.java
@@ -13,7 +13,7 @@ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: liyj * @time: 2024-08-28 20:06:20 * @time: 2024-09-09 14:31:22 * @version 1.0.0 */ @TableName(value = "dyh_sy_region") dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyCauseService.java
@@ -4,19 +4,23 @@ 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.constant.BaseConsts; import cn.huge.module.kind.dao.mapper.SyCauseMapper; import cn.huge.module.kind.domain.dto.CauseSelectJSDTO; import cn.huge.module.kind.domain.po.SyCause; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; 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.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -26,7 +30,7 @@ * @Description 纠纷类型表业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-08-28 20:06:20 * @Time 2024-09-09 14:31:21 * @version 1.0.0 */ @Slf4j @@ -130,4 +134,66 @@ } } /** * 查询js树形结构 * @return */ public List<CauseSelectJSDTO> listSelectJS(){ try{ List<CauseSelectJSDTO> causeSelectJSDTOList = mapper.listSelectJS(); return this.createTree(causeSelectJSDTOList, null); }catch (Exception e){ log.error("[SyCauseService.listSelectJS]调用失败,异常信息:"+e, e); throw new ServiceException("SyCauseService.listSelectJS", e); } } /** * 创建某一级树形结构 * @param allList 所有集合 * @param firstId 某一级编号 * @return List */ public List<CauseSelectJSDTO> createTree(List<CauseSelectJSDTO> allList, String firstId) { List<CauseSelectJSDTO> firstMapList = new ArrayList<>(); for (CauseSelectJSDTO causeSelectJSDTO : allList) { for (CauseSelectJSDTO currentParam : allList) { if (currentParam.getValue().equals(causeSelectJSDTO.getParentId())) { addToMBean(currentParam, causeSelectJSDTO); break; } } } //取第一级节点 for (CauseSelectJSDTO causeSelectJSDTO : allList) { if (StringUtils.isNotEmpty(firstId)) { if (firstId.equals(causeSelectJSDTO.getValue())) { firstMapList.add(causeSelectJSDTO); } } else { if (BaseConsts.ROOT.equals(causeSelectJSDTO.getParentId()) || StringUtils.isEmpty(causeSelectJSDTO.getParentId())) { firstMapList.add(causeSelectJSDTO); } } } return firstMapList; } /** * 获取子级数组 * @param target 目标 * @param child 子级 */ public void addToMBean(CauseSelectJSDTO target, CauseSelectJSDTO child) { List<CauseSelectJSDTO> childListObj = target.getChildren(); List<CauseSelectJSDTO> childList = null; if (CollectionUtils.isEmpty(childListObj)) { childList = new ArrayList(); target.setChildren(childList); } else { childList = childListObj; } childList.add(child); } } dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyCauseThirdService.java
@@ -26,7 +26,7 @@ * @Description 第三方纠纷类型映射表业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-08-28 20:06:20 * @Time 2024-09-09 14:31:22 * @version 1.0.0 */ @Slf4j dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyIssueService.java
@@ -26,7 +26,7 @@ * @Description 调解类型表业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-08-28 20:06:20 * @Time 2024-09-09 14:31:22 * @version 1.0.0 */ @Slf4j dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java
@@ -26,7 +26,7 @@ * @Description 地域字典表业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-08-28 20:06:20 * @Time 2024-09-09 14:31:22 * @version 1.0.0 */ @Slf4j dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java
@@ -1,7 +1,10 @@ package cn.huge.module.sy.controller.client; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.module.sy.consts.TimeUnitConsts; import cn.huge.module.sy.domain.po.SyTimeLimit; import cn.huge.module.sy.service.SyTimeLimitService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -15,6 +18,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.Map; /** @@ -187,19 +191,60 @@ } /** * 条件分页查询 * 获取时限 * @url {ctx}/api/web/syTimeLimit/getTimeLimit * @param limitTable 时限对应表 * @param limitType 时限类型 * @return Object */ @GetMapping("/getTimeLimit") public Object getTimeLimit(@RequestParam(value = "limitTable") int limitTable, @RequestParam(value = "limitType") int limitType) { public Object getTimeLimit(@RequestParam(value = "limitTable") int limitTable, @RequestParam(value = "limitType") String limitType) { try { QueryWrapper<SyTimeLimit> syTimeLimitQueryWrapper = new QueryWrapper<>(); syTimeLimitQueryWrapper.eq("limit_table", limitTable).eq("limit_type", limitType); SyTimeLimit syTimeLimit = service.getOne(syTimeLimitQueryWrapper); return ReturnSucUtils.getRepInfo( "处理成功", syTimeLimit.getTimeTerm()); int timeTerm = 0; if (ObjectUtils.isNotEmpty(syTimeLimit)){ timeTerm = syTimeLimit.getTimeTerm(); } return ReturnSucUtils.getRepInfo(timeTerm); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 获取时限 * @url {ctx}/api/web/syTimeLimit/getExpireTime * @param computeTime 计算时间 * @param limitType 时限类型 * @return Object */ @GetMapping("/getExpireTime") public Object getExpireTime(@RequestParam(value = "computeTime") Date computeTime, @RequestParam(value = "limitType") String limitType) { try { QueryWrapper<SyTimeLimit> syTimeLimitQueryWrapper = new QueryWrapper<>(); syTimeLimitQueryWrapper.eq("limit_type", limitType); SyTimeLimit syTimeLimit = service.getOne(syTimeLimitQueryWrapper); Date expireTime = null; if (ObjectUtils.isNotEmpty(syTimeLimit)){ if (TimeUnitConsts.TIME_UNIT_1.equals(syTimeLimit.getTermUnit())){ expireTime = DateUtils.addYear(computeTime, syTimeLimit.getTimeTerm()); } if (TimeUnitConsts.TIME_UNIT_2.equals(syTimeLimit.getTermUnit())){ expireTime = DateUtils.addMonth(computeTime, syTimeLimit.getTimeTerm()); } if (TimeUnitConsts.TIME_UNIT_3.equals(syTimeLimit.getTermUnit())){ expireTime = DateUtils.addDay(computeTime, syTimeLimit.getTimeTerm()); } if (TimeUnitConsts.TIME_UNIT_4.equals(syTimeLimit.getTermUnit())){ expireTime = DateUtils.addHour(computeTime, syTimeLimit.getTimeTerm()); } if (TimeUnitConsts.TIME_UNIT_5.equals(syTimeLimit.getTermUnit())){ expireTime = DateUtils.addMonth(computeTime, syTimeLimit.getTimeTerm()); } } return ReturnSucUtils.getRepInfo(expireTime); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); }