Commit d556b29214e12fd5c33a7bb4c5dcafba9a00b41c

Authored by YunaiV
1 parent 6b752b5c

CRM:code review 权限的优化

yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/DateUtils.java
... ... @@ -27,8 +27,6 @@ public class DateUtils {
27 27  
28 28 public static final String FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND = "yyyy-MM-dd HH:mm:ss";
29 29  
30   - public static final String FORMAT_HOUR_MINUTE_SECOND = "HH:mm:ss";
31   -
32 30 /**
33 31 * 将 LocalDateTime 转换成 Date
34 32 *
... ...
yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/handler/SelectSheetWriteHandler.java
... ... @@ -20,9 +20,11 @@ import org.apache.poi.hssf.usermodel.HSSFDataValidation;
20 20 import org.apache.poi.ss.usermodel.*;
21 21 import org.apache.poi.ss.util.CellRangeAddressList;
22 22  
23   -import java.lang.annotation.Annotation;
24 23 import java.lang.reflect.Field;
25   -import java.util.*;
  24 +import java.util.Comparator;
  25 +import java.util.HashMap;
  26 +import java.util.List;
  27 +import java.util.Map;
26 28  
27 29 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
28 30  
... ... @@ -110,6 +112,7 @@ public class SelectSheetWriteHandler implements SheetWriteHandler {
110 112 Workbook workbook = writeWorkbookHolder.getWorkbook(); // 获得工作簿
111 113 List<KeyValue<Integer, List<String>>> keyValues = convertList(selectMap.entrySet(), entry -> new KeyValue<>(entry.getKey(), entry.getValue()));
112 114 keyValues.sort(Comparator.comparing(item -> item.getValue().size())); // 升序不然创建下拉会报错
  115 +
113 116 // 2. 创建数据字典的 sheet 页
114 117 Sheet dictSheet = workbook.createSheet(DICT_SHEET_NAME);
115 118 for (KeyValue<Integer, List<String>> keyValue : keyValues) {
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contact/CrmContactMapper.java
... ... @@ -74,7 +74,8 @@ public interface CrmContactMapper extends BaseMapperX&lt;CrmContactDO&gt; {
74 74 }
75 75  
76 76 default List<CrmContactDO> selectListByCustomerIdOwnerUserId(Long customerId, Long ownerUserId) {
77   - return selectList(CrmContactDO::getCustomerId, customerId, CrmContactDO::getOwnerUserId, ownerUserId);
  77 + return selectList(CrmContactDO::getCustomerId, customerId,
  78 + CrmContactDO::getOwnerUserId, ownerUserId);
78 79 }
79 80  
80 81 }
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java
... ... @@ -63,17 +63,17 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
63 63 @Transactional(rollbackFor = Exception.class)
64 64 @CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER)
65 65 public void createPermission(CrmPermissionSaveReqVO reqVO, Long userId) {
66   - // 创建数据权限
  66 + // 1. 创建数据权限
67 67 createPermission0(BeanUtils.toBean(reqVO, CrmPermissionCreateReqBO.class));
68 68  
69   - // 处理【同时添加至】的权限
  69 + // 2. 处理【同时添加至】的权限
70 70 if (CollUtil.isEmpty(reqVO.getToBizTypes())) {
71 71 return;
72 72 }
73 73 List<CrmPermissionCreateReqBO> createPermissions = new ArrayList<>();
74   - createContactPermissions(reqVO, userId, createPermissions);
75   - createBusinessPermissions(reqVO, userId, createPermissions);
76   - createContractPermissions(reqVO, userId, createPermissions);
  74 + buildContactPermissions(reqVO, userId, createPermissions);
  75 + buildBusinessPermissions(reqVO, userId, createPermissions);
  76 + buildContractPermissions(reqVO, userId, createPermissions);
77 77 if (CollUtil.isEmpty(createPermissions)) {
78 78 return;
79 79 }
... ... @@ -87,18 +87,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
87 87 * @param userId 操作人
88 88 * @param createPermissions 待添加权限列表
89 89 */
90   - private void createContactPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
  90 + private void buildContactPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
91 91 // 1. 校验是否被同时添加
92 92 Integer type = CrmBizTypeEnum.CRM_CONTACT.getType();
93 93 if (!reqVO.getToBizTypes().contains(type)) {
94 94 return;
95 95 }
96   -
97   - // 2.1 添加数据权限
  96 + // 2. 添加数据权限
98 97 List<CrmContactDO> contactList = contactService.getContactListByCustomerIdOwnerUserId(reqVO.getBizId(), userId);
99   - contactList.forEach(item -> {
100   - createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions);
101   - });
  98 + contactList.forEach(item -> createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions));
102 99 }
103 100  
104 101 /**
... ... @@ -108,18 +105,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
108 105 * @param userId 操作人
109 106 * @param createPermissions 待添加权限列表
110 107 */
111   - private void createBusinessPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
  108 + private void buildBusinessPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
112 109 // 1. 校验是否被同时添加
113 110 Integer type = CrmBizTypeEnum.CRM_BUSINESS.getType();
114 111 if (!reqVO.getToBizTypes().contains(type)) {
115 112 return;
116 113 }
117   -
118   - // 2.1 添加数据权限
  114 + // 2. 添加数据权限
119 115 List<CrmBusinessDO> businessList = businessService.getBusinessListByCustomerIdOwnerUserId(reqVO.getBizId(), userId);
120   - businessList.forEach(item -> {
121   - createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions);
122   - });
  116 + businessList.forEach(item -> createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions));
123 117 }
124 118  
125 119 /**
... ... @@ -129,18 +123,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
129 123 * @param userId 操作人
130 124 * @param createPermissions 待添加权限列表
131 125 */
132   - private void createContractPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
  126 + private void buildContractPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
133 127 // 1. 校验是否被同时添加
134 128 Integer type = CrmBizTypeEnum.CRM_CONTRACT.getType();
135 129 if (!reqVO.getToBizTypes().contains(type)) {
136 130 return;
137 131 }
138   -
139   - // 2.1 添加数据权限
  132 + // 2. 添加数据权限
140 133 List<CrmContractDO> contractList = contractService.getContractListByCustomerIdOwnerUserId(reqVO.getBizId(), userId);
141   - contractList.forEach(item -> {
142   - createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions);
143   - });
  134 + contractList.forEach(item -> createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions));
144 135 }
145 136  
146 137 private void createBizTypePermissions(CrmPermissionSaveReqVO reqVO, Integer type, Long bizId, String name,
... ... @@ -167,8 +158,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
167 158 validatePermissionNotExists(Collections.singletonList(createReqBO));
168 159 // 1. 校验用户是否存在
169 160 adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId()));
170   -
171   - // 2. 创建
  161 + // 2. 插入权限
172 162 CrmPermissionDO permission = BeanUtils.toBean(createReqBO, CrmPermissionDO.class);
173 163 permissionMapper.insert(permission);
174 164 return permission.getId();
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/vo/pickup/DeliveryPickUpStorePageReqVO.java
... ... @@ -4,14 +4,11 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.common.validation.InEnum;
5 5 import lombok.*;
6 6  
7   -import java.time.LocalTime;
8   -import java.util.*;
9 7 import io.swagger.v3.oas.annotations.media.Schema;
10 8 import cn.iocoder.yudao.framework.common.pojo.PageParam;
11 9 import org.springframework.format.annotation.DateTimeFormat;
12 10 import java.time.LocalDateTime;
13 11  
14   -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE_SECOND;
15 12 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
16 13  
17 14 @Schema(description = "管理后台 - 自提门店分页 Request VO")
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/brokerage/BrokerageRecordMapper.java
... ... @@ -88,6 +88,7 @@ public interface BrokerageRecordMapper extends BaseMapperX&lt;BrokerageRecordDO&gt; {
88 88 @Param("beginTime") LocalDateTime beginTime,
89 89 @Param("endTime") LocalDateTime endTime);
90 90  
  91 + // TODO @芋艿:收敛掉 @Select 注解操作,统一成 MyBatis-Plus 的方式,或者 xml
91 92 @Select("SELECT user_id AS id, SUM(price) AS brokeragePrice FROM trade_brokerage_record " +
92 93 "WHERE biz_type = #{bizType} AND status = #{status} AND deleted = FALSE " +
93 94 "AND unfreeze_time BETWEEN #{beginTime} AND #{endTime} " +
... ...