From 1006a81c4fb61c7442144eb6099ee21b442f9091 Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 10 Jun 2021 16:47:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/domain/po/WxCreditHistory.java | 3 ++ .../mapper/WxCreditHistoryMapper.java | 4 ++ .../impl/WxCUserBasicInfoServiceImpl.java | 54 ++++++++++++++----- .../mapper/WxCUserBasicInfoMapper.xml | 47 ++++++++-------- .../mapper/WxCreditHistoryMapper.xml | 49 ++++++++++++++++- 5 files changed, 121 insertions(+), 36 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java index 489bace93..4102c51e0 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java @@ -18,6 +18,9 @@ public class WxCreditHistory extends BaseTenantEntity { protected Long id; + @TableField(exist = false) + private List userIdList; + @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value="开始时间",name="startTime") private Date startTime; diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java index 64a61dd62..f340aaf67 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java @@ -43,4 +43,8 @@ public interface WxCreditHistoryMapper extends CommonMapper merchantCreditRanking(WxCreditHistory record); int monthCount(WxCreditHistory record); + + List findAddList(WxCreditHistory chaddq); + + List findLesList(WxCreditHistory chlesq); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index 8de95cd9e..192ad01cc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -1349,25 +1349,55 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc } List userIds = wxCUserBasicInfoMapper.findVoIdsList1(tenantInfo,basicInfo); if (null != userIds && userIds.size() > 0 ) { + WxCreditHistory chaddq = new WxCreditHistory(); + chaddq.setUserIdList(userIds); + chaddq.setTenantId(tenantInfo.getFinalTenantId()); + chaddq.setStartTime(basicInfo.getCreditStartTime()); + chaddq.setEndTime(basicInfo.getCreditEndTime()); + List chadds = creditHistoryMapper.findAddList(chaddq); + Map chaddMap = new HashMap<>(); + if(null != chadds){ + chaddMap = chadds.stream().collect(Collectors.toMap(WxCreditHistory::getCUserId, WxCreditHistory::getCreditNum)); + } + + WxCreditHistory chlesq = new WxCreditHistory(); + chlesq.setUserIdList(userIds); + chlesq.setTenantId(tenantInfo.getFinalTenantId()); + chlesq.setStartTime(basicInfo.getCreditStartTime()); + chlesq.setEndTime(basicInfo.getCreditEndTime()); + List chless = creditHistoryMapper.findLesList(chlesq); + Map chlesMap = new HashMap<>(); + if(null != chless){ + chlesMap = chless.stream().collect(Collectors.toMap(WxCreditHistory::getCUserId, WxCreditHistory::getCreditNum)); + } + WxCUserTags tq = new WxCUserTags(); tq.setUserIdList(userIds); tq.setTenantId(tenantInfo.getFinalTenantId()); List userTagList = wxCUserTagsMapper.findList(tq); + Map tagMap = new HashMap<>(); + Map userTagsMap = new HashMap<>(); if (null != userTagList) { List tagList = wxTagsMapper.findListAll(); - Map tagMap = tagList.stream().collect(Collectors.toMap(WxTags::getId, WxTags::getName)); - - Map userTagsMap = userTagList.stream().collect(Collectors.toMap(WxCUserTags::getUserId, WxCUserTags::getTags)); - - list.stream().forEach(u->{ - List ids = JSONObject.parseArray(userTagsMap.get(u.getId()), Long.class); - if (null != ids) { - String tagNames = StringUtils.join(ids.stream().map(id->tagMap.get(id)).collect(Collectors.toList()),"/"); - u.setTagNames(tagNames); - } - }); - + tagMap = tagList.stream().collect(Collectors.toMap(WxTags::getId, WxTags::getName)); + userTagsMap = userTagList.stream().collect(Collectors.toMap(WxCUserTags::getUserId, WxCUserTags::getTags)); + } + + Map finalChaddMap = chaddMap; + Map finalChlesMap = chlesMap; + Map finalUserTagsMap = userTagsMap; + Map finalTagMap = tagMap; + list.stream().forEach(u->{ + u.setAddCredit(finalChaddMap.get(u.getId())); + u.setLesCredit(finalChlesMap.get(u.getId())); + List ids = JSONObject.parseArray(finalUserTagsMap.get(u.getId()), Long.class); + if (null != ids) { + String tagNames = StringUtils.join(ids.stream().map(id-> finalTagMap.get(id)).collect(Collectors.toList()),"/"); + u.setTagNames(tagNames); + } + }); + } if (null != list && list.size() > 0 ) { List retList = new ArrayList(); diff --git a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index 36a8eead2..139ff3515 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -650,7 +650,8 @@ distinct cu.`id`,cu.`phone`,cu.`birthdate`,cu.`education`,cu.`sex`,cu.`email`,cu.`address`,cu.`poins`,cu.`tag_id`, cu.`create_date`,cu.`update_date`,cu.`name`,cu.`level`,cu.`nick_name`, - cut.`tags`,cu.`credit`,cu.`active_time`,cu.`act_record`,cu.`final_tenant_id` + + cu.`credit`,cu.`active_time`,cu.`act_record`,cu.`final_tenant_id` @@ -714,11 +715,11 @@ and cu.`create_date` between #{startTime} and #{endTime} - + and wcubi.`active_time` between #{activeStartTime} and #{activeEndTime} - - + + and cu.id in @@ -829,26 +830,26 @@ - + + + + +