From cc7b6199b9f709da598352d63e1a374ca6117104 Mon Sep 17 00:00:00 2001 From: ant Date: Fri, 26 Jul 2024 10:47:02 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E8=B0=83=E6=95=B4=20dataScope?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/mybatis/utils/WrapperUtils.java | 57 ++++++++------- .../inspection/terminal/vo/StoreVO.java | 18 +++++ .../inspection/work/query/ReviewedQuery.java | 5 +- .../terminal/controller/StoreController.java | 2 +- .../terminal/mapper/StoreMapper.java | 1 + .../service/impl/StoreServiceImpl.java | 46 ++---------- .../work/controller/WrkInfoController.java | 2 +- .../src/main/resources/application.yml | 4 +- .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/mapper/StoreMapper.xml | 72 ++----------------- .../main/resources/mapper/TerminalMapper.xml | 3 + .../main/resources/mapper/WrkInfoMapper.xml | 15 ++++ .../mapper/WrkInfoTerminalRecordMapper.xml | 3 + .../src/test/java/WrkInfoTest.java | 44 ++++++++++++ .../src/main/resources/bootstrap.yml | 2 +- 15 files changed, 130 insertions(+), 146 deletions(-) create mode 100644 chushang-modules/chushang-module-inspection/inspection-service/src/test/java/WrkInfoTest.java diff --git a/chushang-common/chushang-common-mybatis/src/main/java/com/chushang/common/mybatis/utils/WrapperUtils.java b/chushang-common/chushang-common-mybatis/src/main/java/com/chushang/common/mybatis/utils/WrapperUtils.java index ff0077b..68bcf90 100644 --- a/chushang-common/chushang-common-mybatis/src/main/java/com/chushang/common/mybatis/utils/WrapperUtils.java +++ b/chushang-common/chushang-common-mybatis/src/main/java/com/chushang/common/mybatis/utils/WrapperUtils.java @@ -50,38 +50,38 @@ public class WrapperUtils { Condition.ConditionType conditionType = condition.type(); if (null != conditionType) { switch (conditionType) { - case ge: + case ge -> { if (StringUtils.isNotEmpty(tableName)) { allSql.append(" AND ").append(tableName).append(".") .append(name).append(" $ge; ").append(value).append(" "); } - break; - case le: + } + case le -> { if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".") .append(name).append(" $le; ").append(value).append(" "); - break; - case gt: + } + case gt -> { if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".") .append(name).append(" $gt; ").append(value).append(" "); - break; - case lt: + } + case lt -> { if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".") .append(name).append(" $lt; ").append(value).append(" "); - break; - case isNull: + } + case isNull -> { if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".") .append(name).append(" is null ").append(" "); - break; - case eq: + } + case eq -> { if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".") .append(name).append(" = ").append(value).append(" "); - break; - case like: + } + case like -> { if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".") .append(name).append(" like concat('%', ").append(value).append(", '%'").append(" "); - break; - case in: + } + case in -> { if (value instanceof Collection values) { if (StringUtils.isNotEmpty(tableName)) { allSql.append(" AND ").append(tableName).append(".") @@ -98,8 +98,8 @@ public class WrapperUtils { } else { throw new MybatisConditionException("in 条件必须为集合"); } - break; - case between: + } + case between -> { if (value instanceof Collection) { List list = Convert.toList(value); if (CollUtil.size(list) == 2) { @@ -110,12 +110,12 @@ public class WrapperUtils { } else { throw new MybatisConditionException("between 条件必须为集合"); } - break; - case likeLeft: + } + case likeLeft -> { if (StringUtils.isNotEmpty(tableName)) allSql.append(" AND ").append(tableName).append(".") .append(name).append(" like concat('%', ").append(value).append(", '')").append(" "); - break; - case dataScope: + } + case dataScope -> { // TODO 因为 dataScope 是在父类, 所以没有指定tableName, 此处无法获取对应的dataScopeIds if (value instanceof HashMap sqlParam) { // dataScope 的 拼接部门Ids @@ -124,8 +124,8 @@ public class WrapperUtils { allSql.append(sql).append(" "); } } - break; - case or_eq: + } + case or_eq -> { if (StringUtils.isNotEmpty(tableName)) { allSql.append(" OR "); for (String key : split) { @@ -138,9 +138,8 @@ public class WrapperUtils { } allSql.append(") "); } - - break; - case or_like: + } + case or_like -> { if (StringUtils.isNotEmpty(tableName)) { allSql.append(" OR ("); for (String key : split) { @@ -152,8 +151,8 @@ public class WrapperUtils { } allSql.append(") "); } - break; - case or_likeLeft: + } + case or_likeLeft -> { if (StringUtils.isNotEmpty(tableName)) { allSql.append(" OR ("); for (String key : split) { @@ -166,7 +165,7 @@ public class WrapperUtils { } allSql.append(") "); } - break; + } } } } diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/StoreVO.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/StoreVO.java index 9adddee..dcd45e6 100644 --- a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/StoreVO.java +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/StoreVO.java @@ -133,4 +133,22 @@ public class StoreVO implements Serializable { * 创建日期 */ protected LocalDateTime createTime; + /** + * 商户状态 + */ + @DictFormat(dictType = "mer_status") + private Integer storeStatus; + /** + * 终端数量 + */ + private Integer countTerminal; + + /** + * 部门ID + */ + private Long deptId; + /** + * 部门名称 + */ + private String deptName; } diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/query/ReviewedQuery.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/query/ReviewedQuery.java index 311b120..695d079 100644 --- a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/query/ReviewedQuery.java +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/query/ReviewedQuery.java @@ -67,21 +67,18 @@ public class ReviewedQuery extends CommonParam { * 4 归档 * null 全部 */ - @Range(min = 1, max = 6, message = "工单状态非法") - private Integer wrkStatus; + private int wrkStatus; /** * 终端类型 */ @Condition(name = "terminal_type", tableName = "itr") - @Range(min = 1, max = 9, message = "终端类型非法") private Integer terminalType; /** * 巡检频次 */ @Condition(name = "ins_fre", tableName = "isr") - @Range(min = 1, max = 5, message = "巡检频次非法") private Integer insFre; /** diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/StoreController.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/StoreController.java index 9ea1ca7..6e27d7b 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/StoreController.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/StoreController.java @@ -44,7 +44,7 @@ public class StoreController { */ @SysLog(value = "查询商户", businessType = BusinessType.QUERY) @GetMapping("/page") - @RequiresPermissions("ins:store:page") +// @RequiresPermissions("ins:store:page") public AjaxResult pageList(@Validated StoreQuery query) { return AjaxResult.success(storeService.pageList(query)); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/StoreMapper.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/StoreMapper.java index 8b8e13a..5340730 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/StoreMapper.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/StoreMapper.java @@ -15,6 +15,7 @@ import java.util.List; * @date: 2024/6/21 16:39 */ public interface StoreMapper extends BaseMapper { + @DataScope(deptAlias = "s") List pageList(@Param("query") StoreQuery query, Page page); diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/StoreServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/StoreServiceImpl.java index 3cd9999..c4c9141 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/StoreServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/StoreServiceImpl.java @@ -18,6 +18,7 @@ import com.chushang.inspection.project.service.TbTemplateService; import com.chushang.inspection.terminal.po.Store; import com.chushang.inspection.terminal.query.StoreQuery; import com.chushang.inspection.terminal.service.StoreService; +import com.chushang.inspection.terminal.vo.StoreTerminalVO; import com.chushang.inspection.terminal.vo.StoreVO; import com.chushang.inspection.work.dto.WrkIcbcJsReceive; import org.springframework.stereotype.Service; @@ -42,22 +43,10 @@ public class StoreServiceImpl extends ServiceImpl implements @Override public PageResult pageList(StoreQuery query) { CommonParam commonParam = CommonParam.buildPageRequest(); - LambdaQueryWrapper storeSql = WrapperUtils.builder(query, commonParam); Page page = new Page<>(commonParam.getPage(), commonParam.getLimit()); - String terminalSn = query.getTerminalSn(); - String terminalNo = query.getTerminalNo(); - if (StringUtils.isNotEmpty(terminalNo) || StringUtils.isNotEmpty(terminalSn)){ - List storeVOS = baseMapper.pageList(query, page); - return new PageResult(storeVOS, page); - }else { - Page storePage = page(page, storeSql); - List records = storePage.getRecords(); - if (CollectionUtil.isNotEmpty(records)){ - List convert = convert(records); - return new PageResult(convert, page); - } - } - return new PageResult(new ArrayList<>(), page); + WrapperUtils.buildSql(query); + List storeVOS = baseMapper.pageList(query, page); + return new PageResult(storeVOS, page); } @Override @@ -83,31 +72,4 @@ public class StoreServiceImpl extends ServiceImpl implements return store; } - - private List convert(List records){ - List storeVOS = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(records)){ - storeVOS = BeanUtil.copyToList(records, StoreVO.class); - Set taskIds = records.stream().map(Store::getTaskId).collect(Collectors.toSet()); - Set lowerTaskIds = records.stream().map(Store::getLowerTaskId).collect(Collectors.toSet()); - Set ids = new HashSet<>(); - ids.addAll(taskIds); - ids.addAll(lowerTaskIds); - Map taskMap = new HashMap<>(); - if (CollectionUtil.isNotEmpty(ids)){ - List pollingTasks = taskService.listByIds(ids); - taskMap = pollingTasks.stream().collect(Collectors.toMap(PollingTask::getId, pollingTask -> pollingTask)); - } - for (StoreVO record : storeVOS) { - PollingTask pollingTask = taskMap.get(record.getTaskId()); - PollingTask lowedPollingTask = taskMap.get(record.getLowerTaskId()); - if (ObjectUtil.isNotEmpty(lowedPollingTask)) - record.setTaskName(lowedPollingTask.getName()); - if (ObjectUtil.isNotEmpty(pollingTask)) - record.setTotalTaskName(pollingTask.getName()); - } - } - return storeVOS; - } - } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoController.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoController.java index 35abd6e..a890b62 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoController.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoController.java @@ -76,7 +76,7 @@ public class WrkInfoController { @RequiresPermissions("wrk:reviewed:page") public AjaxResult queryToDeReviewedPage(@Validated ReviewedQuery query) { - Integer wrkStatus = query.getWrkStatus(); + int wrkStatus = query.getWrkStatus(); List status = new ArrayList<>(); // 待初审 if (2 == wrkStatus){ diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/application.yml b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/application.yml index deee9b0..30bfda3 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/application.yml +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/application.yml @@ -17,7 +17,7 @@ spring: servlet: multipart: # 修改上传文件临时路径为 /data1/tmp - location: /data1/tmp + location: /Users/zhaowenyuan/Downloads/tmp max-file-size: 100MB max-request-size: 100MB application: @@ -31,7 +31,7 @@ spring: url: jdbc:mysql://${config.jdbc.master.inspection.host}:${config.jdbc.master.inspection.port}/${config.jdbc.master.inspection.database}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai hikari: # 最大线程池数量 - maximum-pool-size: 30 + maximum-pool-size: 50 # 最小线程池数量 minimum-idle: 5 # 检测连接 diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/bootstrap.yml b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/bootstrap.yml index a493a4d..5a40295 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/bootstrap.yml +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/bootstrap.yml @@ -13,7 +13,7 @@ spring: discovery: server-addr: ${spring.cloud.nacos.server-addr} namespace: ${nacos.namespace} - group: local + group: ${nacos.group} service: ${spring.application.name} config: server-addr: ${spring.cloud.nacos.server-addr} diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/StoreMapper.xml b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/StoreMapper.xml index 8613015..c734b81 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/StoreMapper.xml +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/StoreMapper.xml @@ -19,79 +19,21 @@ s.legal_name AS legalName, s.create_by AS createBy, s.create_time AS createTime, + s.dept_id AS deptId, + s.state AS storeStatus, pt1.`name` AS taskName, - pt2.`name` AS totalTaskName + pt2.`name` AS totalTaskName, + (select COUNT(*) from st_terminal where s.del_state = 0 AND s.store_id = store_id) AS countTerminal FROM `st_store` s LEFT JOIN ta_polling_task pt1 ON s.task_id = pt1.id LEFT JOIN ta_polling_task pt2 ON s.lower_task_id = pt2.id LEFT JOIN st_terminal t ON s.store_id = t.store_id WHERE s.del_state = 0 - - AND s.store_id = #{query.storeId} - - - AND s.store_id IN - - #{storeId} - - - - AND s.store_no = #{query.storeNo} - - - AND t.terminal_no = #{query.terminalNo} - - - - AND s.task_id = #{query.taskId} - - - AND s.lower_task_id IN - - #{lowerTaskId} - - - - AND s.state = #{query.state} - - - - AND t.occupy = #{query.occupy} - - - AND t.terminal_sn = #{query.terminalSn} - - - AND s.store_name like concat('%', #{query.storeName}, '%') - - - AND s.store_contact like concat('%', #{query.storeContact}, '%') - - - AND s.store_phone like concat('%', #{query.storePhone}, '%') - - - - AND s.store_address like concat('%', #{query.storeAddress}, '%') - - - AND s.special_num like concat('%', #{query.specialNum}, '%') - - - AND s.shop_name like concat('%', #{query.shopName}, '%') - - - AND s.create_time >= #{query.startTime} - - - AND s.create_time <= #{query.endTime} - - - AND s.create_time BETWEEN #{query.createTime[0]} - AND #{query.createTime[1]} + + ${query.sqlParam.get('sqlWhere')} - ${query.sqlParam.get('dataScpoe')} + ${query.sqlParam.get('dataScope')} ORDER BY #{query.orderBy} #{query.isAsc} diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml index d38954d..4896053 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml @@ -60,6 +60,9 @@ ${query.sqlParam.get('sqlWhere')} + + ${query.sqlParam.get('dataScope')} + ORDER BY #{query.orderBy} #{query.isAsc} diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/WrkInfoMapper.xml b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/WrkInfoMapper.xml index c0b4c24..43bd71c 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/WrkInfoMapper.xml +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/WrkInfoMapper.xml @@ -6,6 +6,9 @@ ${query.sqlParam.get('sqlWhere')} + + ${query.sqlParam.get('dataScope')} + ORDER BY i.create_time desc @@ -14,6 +17,9 @@ ${query.sqlParam.get('sqlWhere')} + + ${query.sqlParam.get('dataScope')} + ORDER BY i.create_time desc @@ -33,6 +39,9 @@ ${query.sqlParam.get('sqlWhere')} + + ${query.sqlParam.get('dataScope')} + ORDER BY i.create_time desc @@ -75,6 +84,9 @@ ${query.sqlParam.get('sqlWhere')} + + ${query.sqlParam.get('dataScope')} + ORDER BY i.create_time desc @@ -154,6 +166,9 @@ ${query.sqlParam.get('sqlWhere')} + + ${query.sqlParam.get('dataScope')} + ORDER BY i.create_time desc diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/test/java/WrkInfoTest.java b/chushang-modules/chushang-module-inspection/inspection-service/src/test/java/WrkInfoTest.java new file mode 100644 index 0000000..fa6d3f4 --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/test/java/WrkInfoTest.java @@ -0,0 +1,44 @@ +import com.chushang.InspectionApplication; +import lombok.extern.slf4j.Slf4j; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@Slf4j +@RunWith(SpringRunner.class) +@SpringBootTest(classes = InspectionApplication.class) +public class WrkInfoTest { + /** + * 商户迁移 + */ + @Test + public void storeMigrate(){ + + } + + /** + * 终端迁移 + */ + @Test + public void terminalMigrate(){ + + } + + /** + * 工单迁移 + */ + @Test + public void wrkMigrate(){ + + } + + /** + * 工单图片迁移 + */ + @Test + public void imgMigrate(){ + + } + +} diff --git a/chushang-modules/chushang-module-oss/oss-service/src/main/resources/bootstrap.yml b/chushang-modules/chushang-module-oss/oss-service/src/main/resources/bootstrap.yml index 5466c00..b6f4b66 100644 --- a/chushang-modules/chushang-module-oss/oss-service/src/main/resources/bootstrap.yml +++ b/chushang-modules/chushang-module-oss/oss-service/src/main/resources/bootstrap.yml @@ -25,7 +25,7 @@ spring: discovery: server-addr: ${spring.cloud.nacos.server-addr} namespace: ${nacos.namespace} - group: local + group: ${nacos.group} service: ${spring.application.name} config: server-addr: ${spring.cloud.nacos.server-addr}