From f03374886951452a46ed88ac8e187cc73b5e8403 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Thu, 26 Sep 2019 12:39:26 +0800 Subject: [PATCH] =?UTF-8?q?[B=E7=AB=AF][=E4=BF=AE=E6=94=B9][=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=A7=AF=E5=88=86=E6=97=B6=E6=9C=8D=E9=A5=B0=E4=B8=9A?= =?UTF-8?q?=E6=80=81=E6=89=93=E6=A0=87=E7=AD=BE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCreditHistoryController.java | 8 +++ .../controller/WxMerchantBUserController.java | 2 + .../iformall/controller/WxTagController.java | 52 +++++++++++++++++++ .../iformall/domain/po/WxCreditHistory.java | 4 ++ .../main/java/com/iformall/enums/EnumTag.java | 25 ++++++++- .../java/com/iformall/enums/EnumTagType.java | 3 ++ .../iformall/service/WxCUserTagsService.java | 9 ++-- .../service/impl/WxCUserTagsServiceImpl.java | 15 ++++++ 8 files changed, 112 insertions(+), 6 deletions(-) create mode 100644 mallinkBApi/src/main/java/com/iformall/controller/WxTagController.java diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java index 861fe96f4..4b0fbb936 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java @@ -15,6 +15,7 @@ import com.iformall.enums.EnumUserType; import com.iformall.enums.EnumYesOrNo; import com.iformall.exception.MallinkException; import com.iformall.service.WxCUserBasicInfoService; +import com.iformall.service.WxCUserTagsService; import com.iformall.service.WxCreditHistoryService; import com.iformall.service.WxMerchantService; import io.swagger.annotations.Api; @@ -45,6 +46,9 @@ public class WxCreditHistoryController extends BaseController { @Autowired private WxMerchantService wxMerchantService; + @Autowired + private WxCUserTagsService wxCUserTagsService; + @ApiOperation("根据商户ID和消费金额获取所增加积分 取data里credit的值, 服务台会查询一般商户的信息,普通商户只会调用自己的id") @GetMapping("/findByMerchantIdAndSpend") @ApiImplicitParams({ @@ -117,6 +121,10 @@ public class WxCreditHistoryController extends BaseController { wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId()); wxCreditHistory.setBuserId(getBuser().getId()); WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); + //更新标签 + if (!wxCreditHistory.getTags().isEmpty()) { + wxCUserTagsService.updateTagByUserId(wxCreditHistory.getCUserId(), wxCreditHistory.getTags()); + } return new ResultData(Result.SUCCESS, "操作成功", credit); } catch (MallinkException e) { log.error(e.getMessage()); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java index edaf6d58f..b2d97c443 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java @@ -82,6 +82,8 @@ public class WxMerchantBUserController extends BaseController { resultMap.put("merchant_id",merchant.getId()); resultMap.put("is_admin",merchant.getIsAdmin()); resultMap.put("creditLocked", merchant.getCreditLocked()); + resultMap.put("businessId", merchant.getBusinessId()); + String mid = null; try { mid = String.valueOf(merchant.getId()); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxTagController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxTagController.java new file mode 100644 index 000000000..b8e7bdca3 --- /dev/null +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxTagController.java @@ -0,0 +1,52 @@ +package com.iformall.controller; + +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxTags; +import com.iformall.enums.EnumTagType; +import com.iformall.service.WxTagsService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/api/tag") +@Api(description = "积分相关接口") +@Slf4j +public class WxTagController extends BaseController { + + @Autowired + private WxTagsService wxTagsService; + + @ApiOperation("获取标签") + @GetMapping("getData") + public ResultData getTags() { + log.debug("[" + getIpAddr() + "] WxCreditHistoryController::getTagsByBussiness"); + WxTags wxTags = new WxTags(); + wxTags.setTypeId(EnumTagType.ID_27.getCode()); + List listA = wxTagsService.findList(wxTags); + wxTags.setTypeId(EnumTagType.ID_28.getCode()); + List listB = wxTagsService.findList(wxTags); + Map> dataMap = new HashMap<>(); + dataMap.put(EnumTagType.ID_27.getCode(), listA); + dataMap.put(EnumTagType.ID_28.getCode(), listB); + + Map type = new HashMap<>(); + type.put(EnumTagType.ID_27.getCode(), EnumTagType.ID_27.getMessage()); + type.put(EnumTagType.ID_28.getCode(), EnumTagType.ID_28.getMessage()); + + Map data = new HashMap<>(); + data.put("type", type); + data.put("data", dataMap); + return new ResultData(data); + } + + +} 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 2cb02f44e..2a017d382 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; +import java.util.List; @TableName(value = "wx_credit_history") @Data @@ -74,4 +75,7 @@ public class WxCreditHistory extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "B端微信用户", name = "buserId") private Long buserId; + @io.swagger.annotations.ApiModelProperty(value = "标签", name = "tags") + private transient List tags; + } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTag.java b/mallinkService/src/main/java/com/iformall/enums/EnumTag.java index 39e426c01..07fb22417 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumTag.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumTag.java @@ -181,6 +181,28 @@ public enum EnumTag { ID_145(145L, EnumTagType.ID_14,"数码家电"), + ID_146(146L, EnumTagType.ID_16, "品牌偏好"), + + ID_147(147L, EnumTagType.ID_27, "服饰尺码"), + ID_148(148L, EnumTagType.ID_27, "服饰尺码"), + ID_149(149L, EnumTagType.ID_27, "服饰尺码"), + ID_150(150L, EnumTagType.ID_27, "服饰尺码"), + ID_151(151L, EnumTagType.ID_27, "服饰尺码"), + ID_152(152L, EnumTagType.ID_27, "服饰尺码"), + ID_153(153L, EnumTagType.ID_27, "服饰尺码"), + + ID_154(154L, EnumTagType.ID_28, "鞋尺码"), + ID_155(155L, EnumTagType.ID_28, "鞋尺码"), + ID_156(156L, EnumTagType.ID_28, "鞋尺码"), + ID_157(157L, EnumTagType.ID_28, "鞋尺码"), + ID_158(158L, EnumTagType.ID_28, "鞋尺码"), + ID_159(159L, EnumTagType.ID_28, "鞋尺码"), + ID_160(160L, EnumTagType.ID_28, "鞋尺码"), + ID_161(161L, EnumTagType.ID_28, "鞋尺码"), + ID_162(162L, EnumTagType.ID_28, "鞋尺码"), + ID_163(163L, EnumTagType.ID_28, "鞋尺码"), + ID_164(164L, EnumTagType.ID_28, "鞋尺码"), + ID_165(165L, EnumTagType.ID_28, "鞋尺码"), ID_1000(1000L, EnumTagType.ID_50,"一天以内"), ID_1001(1001L, EnumTagType.ID_50,"一周以内"), @@ -205,8 +227,7 @@ public enum EnumTag { ID_1300(1300L, EnumTagType.ID_54,"今天核销"), ID_1301(1301L, EnumTagType.ID_54,"本周核销"), - ID_1302(1302L, EnumTagType.ID_54,"当月核销"), - ; + ID_1302(1302L, EnumTagType.ID_54,"当月核销"),; private static Map map = new HashMap(); static { diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java b/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java index d4326fe92..e14d37011 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java @@ -32,6 +32,9 @@ public enum EnumTagType { ID_25(25L, EnumTagTypeFlag.FLAG_NORMAL, EnumTagGroup.ID_4, "爱好"), ID_26(26L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_4, "生活半径"), + ID_27(27L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_1, "服饰尺码"), + ID_28(28L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_1, "鞋尺码"), + ID_0(0L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员手机"), ID_50(50L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员会龄"), ID_51(51L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员等级"), diff --git a/mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java b/mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java index f5e74394f..082433c86 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java @@ -1,15 +1,14 @@ package com.iformall.service; -import java.util.Date; -import java.util.List; - import com.github.pagehelper.PageInfo; -import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxCUserTags; import com.iformall.domain.po.WxTags; import com.iformall.enums.EnumAssignTagsTrigger; +import java.util.Date; +import java.util.List; + public interface WxCUserTagsService { /** @@ -50,4 +49,6 @@ public interface WxCUserTagsService { List assignTags(List tagIdList, WxCUserBasicInfo user); List triggerAssignTags(EnumAssignTagsTrigger trigger, Object obj); + void updateTagByUserId(Long cUserId, List tags); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java index 37f63b432..8e50eb6f1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java @@ -1,6 +1,7 @@ package com.iformall.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -756,5 +757,19 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { return resList; } + @Override + public void updateTagByUserId(Long cUserId, List tags) { + WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(cUserId); + WxCUserTags userTags = getById(wxCUserBasicInfo.getTagId()); + List tagList = JSONArray.parseArray(userTags.getTags(), Long.class); + if (!tagList.isEmpty()) { + tagList.addAll(tags); + } + String tagStr = JSONArray.toJSONString(tagList); + userTags.setTags(tagStr); + userTags.setUpdateDate(new Date()); + wxCUserTagsMapper.updateById(userTags); + } + }