| @@ -15,6 +15,7 @@ import com.iformall.enums.EnumUserType; | |||||
| import com.iformall.enums.EnumYesOrNo; | import com.iformall.enums.EnumYesOrNo; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.WxCUserBasicInfoService; | import com.iformall.service.WxCUserBasicInfoService; | ||||
| import com.iformall.service.WxCUserTagsService; | |||||
| import com.iformall.service.WxCreditHistoryService; | import com.iformall.service.WxCreditHistoryService; | ||||
| import com.iformall.service.WxMerchantService; | import com.iformall.service.WxMerchantService; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -45,6 +46,9 @@ public class WxCreditHistoryController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| private WxMerchantService wxMerchantService; | private WxMerchantService wxMerchantService; | ||||
| @Autowired | |||||
| private WxCUserTagsService wxCUserTagsService; | |||||
| @ApiOperation("根据商户ID和消费金额获取所增加积分 取data里credit的值, 服务台会查询一般商户的信息,普通商户只会调用自己的id") | @ApiOperation("根据商户ID和消费金额获取所增加积分 取data里credit的值, 服务台会查询一般商户的信息,普通商户只会调用自己的id") | ||||
| @GetMapping("/findByMerchantIdAndSpend") | @GetMapping("/findByMerchantIdAndSpend") | ||||
| @ApiImplicitParams({ | @ApiImplicitParams({ | ||||
| @@ -117,6 +121,10 @@ public class WxCreditHistoryController extends BaseController { | |||||
| wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId()); | wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId()); | ||||
| wxCreditHistory.setBuserId(getBuser().getId()); | wxCreditHistory.setBuserId(getBuser().getId()); | ||||
| WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); | WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); | ||||
| //更新标签 | |||||
| if (!wxCreditHistory.getTags().isEmpty()) { | |||||
| wxCUserTagsService.updateTagByUserId(wxCreditHistory.getCUserId(), wxCreditHistory.getTags()); | |||||
| } | |||||
| return new ResultData(Result.SUCCESS, "操作成功", credit); | return new ResultData(Result.SUCCESS, "操作成功", credit); | ||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| log.error(e.getMessage()); | log.error(e.getMessage()); | ||||
| @@ -82,6 +82,8 @@ public class WxMerchantBUserController extends BaseController { | |||||
| resultMap.put("merchant_id",merchant.getId()); | resultMap.put("merchant_id",merchant.getId()); | ||||
| resultMap.put("is_admin",merchant.getIsAdmin()); | resultMap.put("is_admin",merchant.getIsAdmin()); | ||||
| resultMap.put("creditLocked", merchant.getCreditLocked()); | resultMap.put("creditLocked", merchant.getCreditLocked()); | ||||
| resultMap.put("businessId", merchant.getBusinessId()); | |||||
| String mid = null; | String mid = null; | ||||
| try { | try { | ||||
| mid = String.valueOf(merchant.getId()); | mid = String.valueOf(merchant.getId()); | ||||
| @@ -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<WxTags> listA = wxTagsService.findList(wxTags); | |||||
| wxTags.setTypeId(EnumTagType.ID_28.getCode()); | |||||
| List<WxTags> listB = wxTagsService.findList(wxTags); | |||||
| Map<Long, List<WxTags>> dataMap = new HashMap<>(); | |||||
| dataMap.put(EnumTagType.ID_27.getCode(), listA); | |||||
| dataMap.put(EnumTagType.ID_28.getCode(), listB); | |||||
| Map<Long, String> type = new HashMap<>(); | |||||
| type.put(EnumTagType.ID_27.getCode(), EnumTagType.ID_27.getMessage()); | |||||
| type.put(EnumTagType.ID_28.getCode(), EnumTagType.ID_28.getMessage()); | |||||
| Map<String, Object> data = new HashMap<>(); | |||||
| data.put("type", type); | |||||
| data.put("data", dataMap); | |||||
| return new ResultData(data); | |||||
| } | |||||
| } | |||||
| @@ -6,6 +6,7 @@ import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| @TableName(value = "wx_credit_history") | @TableName(value = "wx_credit_history") | ||||
| @Data | @Data | ||||
| @@ -74,4 +75,7 @@ public class WxCreditHistory extends BaseEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "B端微信用户", name = "buserId") | @io.swagger.annotations.ApiModelProperty(value = "B端微信用户", name = "buserId") | ||||
| private Long buserId; | private Long buserId; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "标签", name = "tags") | |||||
| private transient List<Long> tags; | |||||
| } | } | ||||
| @@ -181,6 +181,28 @@ public enum EnumTag { | |||||
| ID_145(145L, EnumTagType.ID_14,"数码家电"), | 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_1000(1000L, EnumTagType.ID_50,"一天以内"), | ||||
| ID_1001(1001L, EnumTagType.ID_50,"一周以内"), | ID_1001(1001L, EnumTagType.ID_50,"一周以内"), | ||||
| @@ -205,8 +227,7 @@ public enum EnumTag { | |||||
| ID_1300(1300L, EnumTagType.ID_54,"今天核销"), | ID_1300(1300L, EnumTagType.ID_54,"今天核销"), | ||||
| ID_1301(1301L, EnumTagType.ID_54,"本周核销"), | ID_1301(1301L, EnumTagType.ID_54,"本周核销"), | ||||
| ID_1302(1302L, EnumTagType.ID_54,"当月核销"), | |||||
| ; | |||||
| ID_1302(1302L, EnumTagType.ID_54,"当月核销"),; | |||||
| private static Map<Long,EnumTag> map = new HashMap<Long,EnumTag>(); | private static Map<Long,EnumTag> map = new HashMap<Long,EnumTag>(); | ||||
| static { | static { | ||||
| @@ -32,6 +32,9 @@ public enum EnumTagType { | |||||
| ID_25(25L, EnumTagTypeFlag.FLAG_NORMAL, EnumTagGroup.ID_4, "爱好"), | ID_25(25L, EnumTagTypeFlag.FLAG_NORMAL, EnumTagGroup.ID_4, "爱好"), | ||||
| ID_26(26L, EnumTagTypeFlag.FLAG_SINGLE, 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_0(0L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员手机"), | ||||
| ID_50(50L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员会龄"), | ID_50(50L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员会龄"), | ||||
| ID_51(51L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员等级"), | ID_51(51L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员等级"), | ||||
| @@ -1,15 +1,14 @@ | |||||
| package com.iformall.service; | package com.iformall.service; | ||||
| import java.util.Date; | |||||
| import java.util.List; | |||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.domain.po.WxCUser; | |||||
| import com.iformall.domain.po.WxCUserBasicInfo; | import com.iformall.domain.po.WxCUserBasicInfo; | ||||
| import com.iformall.domain.po.WxCUserTags; | import com.iformall.domain.po.WxCUserTags; | ||||
| import com.iformall.domain.po.WxTags; | import com.iformall.domain.po.WxTags; | ||||
| import com.iformall.enums.EnumAssignTagsTrigger; | import com.iformall.enums.EnumAssignTagsTrigger; | ||||
| import java.util.Date; | |||||
| import java.util.List; | |||||
| public interface WxCUserTagsService { | public interface WxCUserTagsService { | ||||
| /** | /** | ||||
| @@ -50,4 +49,6 @@ public interface WxCUserTagsService { | |||||
| List<WxTags> assignTags(List<Long> tagIdList, WxCUserBasicInfo user); | List<WxTags> assignTags(List<Long> tagIdList, WxCUserBasicInfo user); | ||||
| List<WxTags> triggerAssignTags(EnumAssignTagsTrigger trigger, Object obj); | List<WxTags> triggerAssignTags(EnumAssignTagsTrigger trigger, Object obj); | ||||
| void updateTagByUserId(Long cUserId, List<Long> tags); | |||||
| } | } | ||||
| @@ -1,6 +1,7 @@ | |||||
| package com.iformall.service.impl; | package com.iformall.service.impl; | ||||
| import com.alibaba.fastjson.JSON; | import com.alibaba.fastjson.JSON; | ||||
| import com.alibaba.fastjson.JSONArray; | |||||
| import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
| import com.github.pagehelper.PageHelper; | import com.github.pagehelper.PageHelper; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| @@ -756,5 +757,19 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { | |||||
| return resList; | return resList; | ||||
| } | } | ||||
| @Override | |||||
| public void updateTagByUserId(Long cUserId, List<Long> tags) { | |||||
| WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(cUserId); | |||||
| WxCUserTags userTags = getById(wxCUserBasicInfo.getTagId()); | |||||
| List<Long> 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); | |||||
| } | |||||
| } | } | ||||