Commit 652ffd0e1409ad09662d71e194a8721b2d69196e
1 parent
88796c92
feature(*): 修复bug
- 修复bug
Showing
7 changed files
with
89 additions
and
20 deletions
fw-valhalla-dao/src/main/resources/mapper/PubCluePoolMapper.xml
... | ... | @@ -42,9 +42,6 @@ |
42 | 42 | <if test="condition.userId !=null"> |
43 | 43 | and t1.follow_user = #{condition.userId} |
44 | 44 | </if> |
45 | - <if test="condition.source != null"> | |
46 | - and t6.source_type = #{condition.source} | |
47 | - </if> | |
48 | 45 | <if test="condition.userName !=null and condition.userName != ''"> |
49 | 46 | and t1.follow_user_name like concat('%',#{condition.userName},'%') |
50 | 47 | </if> |
... | ... | @@ -55,7 +52,12 @@ |
55 | 52 | <if test="condition.frameNo != null and condition.frameNo !='' "> |
56 | 53 | and t6.vin like concat('%', #{condition.frameNo}, '%') |
57 | 54 | </if> |
58 | - | |
55 | + <if test="condition.source !=null"> | |
56 | + and t6.source_type in | |
57 | + <foreach collection="condition.source" item="id" index="index" open="(" close=")" separator=","> | |
58 | + #{id} | |
59 | + </foreach> | |
60 | + </if> | |
59 | 61 | <if test="condition.shopIds !=null"> |
60 | 62 | and t1.follow_shop in |
61 | 63 | <foreach collection="condition.shopIds" item="id" index="index" open="(" close=")" separator=","> |
... | ... | @@ -122,9 +124,6 @@ |
122 | 124 | <if test="condition.userId !=null"> |
123 | 125 | and t1.follow_user = #{condition.userId} |
124 | 126 | </if> |
125 | - <if test="condition.source != null"> | |
126 | - and t6.source_type = #{condition.source} | |
127 | - </if> | |
128 | 127 | <if test="condition.userName !=null and condition.userName != ''"> |
129 | 128 | and t1.follow_user_name like concat('%',#{condition.userName},'%') |
130 | 129 | </if> |
... | ... | @@ -135,7 +134,12 @@ |
135 | 134 | <if test="condition.frameNo != null and condition.frameNo !='' "> |
136 | 135 | and t6.vin like concat('%', #{condition.frameNo}, '%') |
137 | 136 | </if> |
138 | - | |
137 | + <if test="condition.source !=null"> | |
138 | + and t6.source_type in | |
139 | + <foreach collection="condition.source" item="id" index="index" open="(" close=")" separator=","> | |
140 | + #{id} | |
141 | + </foreach> | |
142 | + </if> | |
139 | 143 | <if test="condition.shopIds !=null"> |
140 | 144 | and t1.follow_shop in |
141 | 145 | <foreach collection="condition.shopIds" item="id" index="index" open="(" close=")" separator=","> | ... | ... |
fw-valhalla-dao/src/main/resources/mapper/PublicPoolMapper.xml
... | ... | @@ -51,6 +51,12 @@ |
51 | 51 | <if test="condition.type !=null"> |
52 | 52 | and t1.type = #{condition.type} |
53 | 53 | </if> |
54 | + <if test="condition.createTime1 !=null"> | |
55 | + and t1.create_time >= #{condition.createTime1} | |
56 | + </if> | |
57 | + <if test="condition.createTime2 !=null"> | |
58 | + and t1.create_time <= #{condition.createTime2} | |
59 | + </if> | |
54 | 60 | <if test="condition.shopIds !=null"> |
55 | 61 | and t1.shop_id in |
56 | 62 | <foreach collection="condition.shopIds" item="id" index="index" open="(" close=")" separator=","> |
... | ... | @@ -120,6 +126,12 @@ |
120 | 126 | <if test="condition.type !=null"> |
121 | 127 | and t1.type = #{condition.type} |
122 | 128 | </if> |
129 | + <if test="condition.createTime1 !=null"> | |
130 | + and t1.create_time >= #{condition.createTime1} | |
131 | + </if> | |
132 | + <if test="condition.createTime2 !=null"> | |
133 | + and t1.create_time <= #{condition.createTime2} | |
134 | + </if> | |
123 | 135 | <if test="condition.shopIds !=null"> |
124 | 136 | and t1.shop_id in |
125 | 137 | <foreach collection="condition.shopIds" item="id" index="index" open="(" close=")" separator=","> | ... | ... |
fw-valhalla-domain/src/main/java/cn/fw/valhalla/domain/query/FollowPoolQueryVO.java
... | ... | @@ -51,7 +51,7 @@ public class FollowPoolQueryVO extends PoolQuery { |
51 | 51 | /** |
52 | 52 | * 来源[公共池线索用] |
53 | 53 | */ |
54 | - private Integer source; | |
54 | + private String source; | |
55 | 55 | private String closeTime; |
56 | 56 | |
57 | 57 | public Integer getLoanCustomer() { |
... | ... | @@ -129,4 +129,12 @@ public class FollowPoolQueryVO extends PoolQuery { |
129 | 129 | List<Integer> stateList = Stream.of(state.split(",")).filter(cn.fw.valhalla.common.utils.StringUtils::isNumber).map(Integer::valueOf).collect(Collectors.toList()); |
130 | 130 | return CollectionUtils.isEmpty(stateList) ? null : stateList; |
131 | 131 | } |
132 | + | |
133 | + public List<Integer> getSource() { | |
134 | + if (StringUtils.isBlank(source)) { | |
135 | + return null; | |
136 | + } | |
137 | + List<Integer> sourceList = Stream.of(source.split(",")).filter(cn.fw.valhalla.common.utils.StringUtils::isNumber).map(Integer::valueOf).collect(Collectors.toList()); | |
138 | + return CollectionUtils.isEmpty(sourceList) ? null : sourceList; | |
139 | + } | |
132 | 140 | } |
133 | 141 | \ No newline at end of file | ... | ... |
fw-valhalla-domain/src/main/java/cn/fw/valhalla/domain/query/PublicPoolQueryVO.java
1 | 1 | package cn.fw.valhalla.domain.query; |
2 | 2 | |
3 | +import cn.fw.valhalla.common.utils.DateUtil; | |
3 | 4 | import lombok.Data; |
4 | 5 | import lombok.EqualsAndHashCode; |
5 | 6 | import lombok.ToString; |
7 | +import org.apache.commons.lang3.StringUtils; | |
8 | +import org.apache.commons.lang3.math.NumberUtils; | |
6 | 9 | |
7 | -import java.util.Collections; | |
10 | +import java.time.Instant; | |
11 | +import java.time.LocalDateTime; | |
12 | +import java.time.ZoneId; | |
13 | +import java.util.Date; | |
8 | 14 | import java.util.List; |
9 | 15 | |
10 | 16 | /** |
... | ... | @@ -25,4 +31,33 @@ public class PublicPoolQueryVO extends PoolQuery { |
25 | 31 | private Boolean warrantyCard; |
26 | 32 | private Boolean maintainCard; |
27 | 33 | private List<Long> ignoreCustIds; |
34 | + private String createTime; | |
35 | + private Boolean fromReport; | |
36 | + | |
37 | + public Date getCreateTime1() { | |
38 | + if (StringUtils.isBlank(createTime)) { | |
39 | + return null; | |
40 | + } | |
41 | + String[] times = createTime.split(","); | |
42 | + if (StringUtils.isNotBlank(times[0]) && NumberUtils.isDigits(times[0])) { | |
43 | + LocalDateTime localDateTime = Instant.ofEpochMilli(NumberUtils.toLong(times[0])).atZone(ZoneId.systemDefault()).toLocalDateTime(); | |
44 | + return DateUtil.getBeginInTime(DateUtil.localDateTime2Date(localDateTime)); | |
45 | + } | |
46 | + return null; | |
47 | + } | |
48 | + | |
49 | + public Date getCreateTime2() { | |
50 | + if (StringUtils.isBlank(createTime)) { | |
51 | + return null; | |
52 | + } | |
53 | + String[] times = createTime.split(","); | |
54 | + if (times.length < TIME_STR_LENGTH) { | |
55 | + return null; | |
56 | + } | |
57 | + if (StringUtils.isNotBlank(times[1]) && NumberUtils.isDigits(times[1])) { | |
58 | + LocalDateTime localDateTime = Instant.ofEpochMilli(NumberUtils.toLong(times[1])).atZone(ZoneId.systemDefault()).toLocalDateTime(); | |
59 | + return DateUtil.getEndInTime(DateUtil.localDateTime2Date(localDateTime)); | |
60 | + } | |
61 | + return null; | |
62 | + } | |
28 | 63 | } | ... | ... |
fw-valhalla-server/src/main/java/cn/fw/valhalla/controller/app/PoolController.java
... | ... | @@ -91,7 +91,11 @@ public class PoolController { |
91 | 91 | return success(poolBizService.summary(queryVO)); |
92 | 92 | } |
93 | 93 | |
94 | - | |
94 | + /** | |
95 | + * @param queryVO | |
96 | + * @return | |
97 | + * @description | |
98 | + */ | |
95 | 99 | @GetMapping("/public/clue/own/list") |
96 | 100 | @ControllerMethod("查询自己的公共客户池列表") |
97 | 101 | public Message<AppPage<PublicCluePoolVO>> ownPublicClueList(@CurrentUser LoginAuthBean currentUser, final PublicCluePoolQueryVO queryVO) { |
... | ... | @@ -99,6 +103,11 @@ public class PoolController { |
99 | 103 | return success(page); |
100 | 104 | } |
101 | 105 | |
106 | + /** | |
107 | + * @param queryVO | |
108 | + * @return | |
109 | + * @description | |
110 | + */ | |
102 | 111 | @GetMapping("/public/clue/list") |
103 | 112 | @IgnoreAuth |
104 | 113 | @ControllerMethod("查询公共客户池列表") | ... | ... |
fw-valhalla-service/src/main/java/cn/fw/valhalla/service/bus/follow/PoolBizService.java
... | ... | @@ -93,14 +93,16 @@ public class PoolBizService { |
93 | 93 | * @return |
94 | 94 | */ |
95 | 95 | public AppPage<PublicPoolVO> publicList(LoginAuthBean currentUser, PublicPoolQueryVO queryVO) { |
96 | - List<AffiliationRecord> affiliationRecordList = Optional.ofNullable(affiliationRecordService.list(Wrappers.<AffiliationRecord>lambdaQuery() | |
97 | - .eq(AffiliationRecord::getType, CustomerChangeTypeEnum.DEFEAT) | |
98 | - .eq(AffiliationRecord::getOriginUserId, currentUser.getUserId()) | |
99 | - .ge(AffiliationRecord::getDefeatTime, DateUtil.getNowExpiredMonth(-6)) | |
100 | - )).orElse(new ArrayList<>()); | |
101 | - List<Long> custIds = affiliationRecordList.stream().map(AffiliationRecord::getCustomerId).distinct().collect(Collectors.toList()); | |
102 | - if (custIds.size() > 0) { | |
103 | - queryVO.setIgnoreCustIds(custIds); | |
96 | + if (!Boolean.TRUE.equals(queryVO.getFromReport())) { | |
97 | + List<AffiliationRecord> affiliationRecordList = Optional.ofNullable(affiliationRecordService.list(Wrappers.<AffiliationRecord>lambdaQuery() | |
98 | + .eq(AffiliationRecord::getType, CustomerChangeTypeEnum.DEFEAT) | |
99 | + .eq(AffiliationRecord::getOriginUserId, currentUser.getUserId()) | |
100 | + .ge(AffiliationRecord::getDefeatTime, DateUtil.getNowExpiredMonth(-6)) | |
101 | + )).orElse(new ArrayList<>()); | |
102 | + List<Long> custIds = affiliationRecordList.stream().map(AffiliationRecord::getCustomerId).distinct().collect(Collectors.toList()); | |
103 | + if (custIds.size() > 0) { | |
104 | + queryVO.setIgnoreCustIds(custIds); | |
105 | + } | |
104 | 106 | } |
105 | 107 | |
106 | 108 | AppPageVO<PublicPoolVO> page = AppPageVO.init(queryVO); | ... | ... |
fw-valhalla-service/src/main/java/cn/fw/valhalla/service/data/impl/PublicPoolServiceImpl.java
... | ... | @@ -86,7 +86,6 @@ public class PublicPoolServiceImpl extends ServiceImpl<PublicPoolMapper, PublicP |
86 | 86 | if (CollectionUtils.isEmpty(shopIds)) { |
87 | 87 | return Collections.emptyList(); |
88 | 88 | } |
89 | - // mybatis plus 性能有问题 不使用 | |
90 | 89 | return Optional.ofNullable(this.getBaseMapper().queryIdListByShops(shopIds)).orElse(Collections.emptyList()); |
91 | 90 | } |
92 | 91 | ... | ... |