diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTag.java b/mallinkService/src/main/java/com/iformall/enums/EnumTag.java index d60a3895c..0b2e754f5 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumTag.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumTag.java @@ -5,133 +5,133 @@ package com.iformall.enums; */ public enum EnumTag { - ID_1(1L, 1L, 1L, "男"), - ID_2(2L, 1L, 1L, "女"), - ID_3(3L, 1L, 2L, "00后"), - ID_4(4L, 1L, 2L, "90后"), - ID_5(5L, 1L, 2L, "80后"), - ID_6(6L, 1L, 2L, "70后"), - ID_7(7L, 1L, 2L, "60后"), - ID_8(8L, 1L, 3L, "鼠"), - ID_9(9L, 1L, 3L, "牛"), - ID_10(10L, 1L, 3L, "虎"), - ID_11(11L, 1L, 3L, "兔"), - ID_12(12L, 1L, 3L, "龙"), - ID_13(13L, 1L, 3L, "蛇"), - ID_14(14L, 1L, 3L, "马"), - ID_15(15L, 1L, 3L, "羊"), - ID_16(16L, 1L, 3L, "猴"), - ID_17(17L, 1L, 3L, "鸡"), - ID_18(18L, 1L, 3L, "狗"), - ID_19(19L, 1L, 3L, "猪"), - ID_20(20L, 1L, 4L, "白羊座"), - ID_21(21L, 1L, 4L, "金牛座"), - ID_22(22L, 1L, 4L, "双子座"), - ID_23(23L, 1L, 4L, "巨蟹座"), - ID_24(24L, 1L, 4L, "狮子座"), - ID_25(25L, 1L, 4L, "处女座"), - ID_26(26L, 1L, 4L, "天秤座"), - ID_27(27L, 1L, 4L, "天蝎座"), - ID_28(28L, 1L, 4L, "射手座"), - ID_29(29L, 1L, 4L, "摩羯座"), - ID_30(30L, 1L, 4L, "水瓶座"), - ID_31(31L, 1L, 4L, "双鱼座"), - ID_32(32L, 1L, 5L, "线上"), - ID_33(33L, 1L, 5L, "线下"), - ID_34(34L, 1L, 6L, "高中"), - ID_35(35L, 1L, 6L, "大专"), - ID_36(36L, 1L, 6L, "本科"), - ID_37(37L, 1L, 6L, "硕士"), - ID_38(38L, 1L, 6L, "博士"), - ID_39(39L, 1L, 7L, "移动"), - ID_40(40L, 1L, 7L, "联通"), - ID_41(41L, 1L, 7L, "电信"), - ID_42(42L, 2L, 8L, "5000以下"), - ID_43(43L, 2L, 8L, "5000~10000"), - ID_44(44L, 2L, 8L, "10001~20000"), - ID_45(45L, 2L, 8L, "20001以上"), - ID_46(46L, 2L, 8L, "20001~30000"), - ID_47(47L, 2L, 8L, "30001~50000"), - ID_48(48L, 2L, 8L, "50001以上"), - ID_49(49L, 2L, 9L, "iphone"), - ID_50(50L, 2L, 9L, "华为"), - ID_51(51L, 2L, 9L, "VO"), - ID_52(52L, 2L, 9L, "三星"), - ID_53(53L, 2L, 9L, "小米"), - ID_54(54L, 2L, 9L, "其他"), - ID_55(55L, 2L, 10L,"未婚"), - ID_56(56L, 2L, 10L,"已婚"), - ID_57(57L, 2L, 10L,"已婚有孩"), - ID_58(58L, 2L, 11L,"有车一族"), - ID_59(59L, 2L, 12L,"学生"), - ID_60(60L, 2L, 12L,"上班族"), - ID_61(61L, 2L, 12L,"企业高管"), - ID_62(62L, 2L, 12L,"个体户"), - ID_63(63L, 2L, 12L,"自由职业"), - ID_64(64L, 2L, 12L,"其他"), - ID_65(65L, 2L, 13L,"租房"), - ID_66(66L, 2L, 13L,"自购"), - ID_67(67L, 2L, 13L,"宿舍"), - ID_68(68L, 3L, 14L,"服装"), - ID_69(69L, 3L, 14L,"服饰"), - ID_70(70L, 3L, 14L,"餐饮"), - ID_71(71L, 3L, 14L,"休闲娱乐"), - ID_72(72L, 3L, 14L,"家居"), - ID_73(73L, 3L, 14L,"图书音像"), - ID_74(74L, 3L, 14L,"母婴"), - ID_75(75L, 3L, 14L,"儿童"), - ID_76(76L, 3L, 14L,"生活服务"), - ID_77(77L, 3L, 15L,"中低端"), - ID_78(78L, 3L, 15L,"中端"), - ID_79(79L, 3L, 15L,"中高端"), - ID_80(80L, 3L, 15L,"高端"), - ID_81(81L, 3L, 16L,"快时尚"), - ID_82(82L, 3L, 16L,"轻奢"), - ID_83(83L, 3L, 16L,"奢侈品"), - ID_84(84L, 3L, 16L,"皮革"), - ID_85(85L, 3L, 16L,"化妆品"), - ID_86(86L, 3L, 16L,"电子产品"), - ID_87(87L, 3L, 16L,"影视娱乐"), - ID_88(88L, 3L, 16L,"儿童相关"), - ID_89(89L, 3L, 16L,"日本品牌"), - ID_90(90L, 3L, 16L,"韩国品牌"), - ID_91(91L, 3L, 16L,"欧美品牌等"), - ID_92(92L, 3L, 17L,"轻餐"), - ID_93(93L, 3L, 17L,"小吃快餐"), - ID_94(94L, 3L, 17L,"西餐"), - ID_95(95L, 3L, 17L,"日料,中餐,甜点/咖啡"), - ID_96(96L, 3L, 17L,"火锅"), - ID_97(97L, 3L, 18L,"工作日白天"), - ID_98(98L, 3L, 18L,"工作日晚上"), - ID_99(99L, 3L, 18L,"周末(含节假日)白天"), - ID_100(100L,3L, 18L,"周末(含节假日)晚上"), - ID_101(101L,3L, 19L,"现金"), - ID_102(102L,3L, 19L,"移动支付"), - ID_103(103L,3L, 19L,"银行卡支付"), - ID_104(104L,4L, 20L,"实惠型"), - ID_105(105L,4L, 20L,"享乐型"), - ID_106(106L,4L, 20L,"品质型"), - ID_107(107L,4L, 21L,"低频"), - ID_108(108L,4L, 21L,"中频"), - ID_109(109L,4L, 21L,"高频"), - ID_110(110L,4L, 22L,"低度"), - ID_111(111L,4L, 22L,"中度"), - ID_112(112L,4L, 22L,"高度"), - ID_113(113L,4L, 23L,"低客单价"), - ID_114(114L,4L, 23L,"中客单价"), - ID_115(115L,4L, 23L,"高客单价"), - ID_116(116L,4L, 24L,"口碑宣传型"), - ID_117(117L,4L, 24L,"纠结型客户"), - ID_118(118L,4L, 24L,"选择型客户"), - ID_119(119L,4L, 24L,"参与型客户"), - ID_120(120L,4L, 24L,"安静型客户"), - ID_121(121L,4L, 25L,"时尚"), - ID_122(122L,4L, 25L,"旅游"), - ID_123(123L,4L, 25L,"运动"), - ID_124(124L,4L, 25L,"电玩"), - ID_125(125L,4L, 25L,"看书"), - ID_126(126L,4L, 25L,"其他"), - ID_127(127L,2L, 26L,"附近住户"), + ID_1(1L, EnumTagType.ID_1, "男"), + ID_2(2L, EnumTagType.ID_1, "女"), + ID_3(3L, EnumTagType.ID_2, "00后"), + ID_4(4L, EnumTagType.ID_2, "90后"), + ID_5(5L, EnumTagType.ID_2, "80后"), + ID_6(6L, EnumTagType.ID_2, "70后"), + ID_7(7L, EnumTagType.ID_2, "60后"), + ID_8(8L, EnumTagType.ID_3, "鼠"), + ID_9(9L, EnumTagType.ID_3, "牛"), + ID_10(10L, EnumTagType.ID_3, "虎"), + ID_11(11L, EnumTagType.ID_3, "兔"), + ID_12(12L, EnumTagType.ID_3, "龙"), + ID_13(13L, EnumTagType.ID_3, "蛇"), + ID_14(14L, EnumTagType.ID_3, "马"), + ID_15(15L, EnumTagType.ID_3, "羊"), + ID_16(16L, EnumTagType.ID_3, "猴"), + ID_17(17L, EnumTagType.ID_3, "鸡"), + ID_18(18L, EnumTagType.ID_3, "狗"), + ID_19(19L, EnumTagType.ID_3, "猪"), + ID_20(20L, EnumTagType.ID_4, "白羊座"), + ID_21(21L, EnumTagType.ID_4, "金牛座"), + ID_22(22L, EnumTagType.ID_4, "双子座"), + ID_23(23L, EnumTagType.ID_4, "巨蟹座"), + ID_24(24L, EnumTagType.ID_4, "狮子座"), + ID_25(25L, EnumTagType.ID_4, "处女座"), + ID_26(26L, EnumTagType.ID_4, "天秤座"), + ID_27(27L, EnumTagType.ID_4, "天蝎座"), + ID_28(28L, EnumTagType.ID_4, "射手座"), + ID_29(29L, EnumTagType.ID_4, "摩羯座"), + ID_30(30L, EnumTagType.ID_4, "水瓶座"), + ID_31(31L, EnumTagType.ID_4, "双鱼座"), + ID_32(32L, EnumTagType.ID_5, "线上"), + ID_33(33L, EnumTagType.ID_5, "线下"), + ID_34(34L, EnumTagType.ID_6, "高中"), + ID_35(35L, EnumTagType.ID_6, "大专"), + ID_36(36L, EnumTagType.ID_6, "本科"), + ID_37(37L, EnumTagType.ID_6, "硕士"), + ID_38(38L, EnumTagType.ID_6, "博士"), + ID_39(39L, EnumTagType.ID_7, "移动"), + ID_40(40L, EnumTagType.ID_7, "联通"), + ID_41(41L, EnumTagType.ID_7, "电信"), + ID_42(42L, EnumTagType.ID_8, "5000以下"), + ID_43(43L, EnumTagType.ID_8, "5000~10000"), + ID_44(44L, EnumTagType.ID_8, "10001~20000"), + ID_45(45L, EnumTagType.ID_8, "20001以上"), + ID_46(46L, EnumTagType.ID_8, "20001~30000"), + ID_47(47L, EnumTagType.ID_8, "30001~50000"), + ID_48(48L, EnumTagType.ID_8, "50001以上"), + ID_49(49L, EnumTagType.ID_9, "iphone"), + ID_50(50L, EnumTagType.ID_9, "华为"), + ID_51(51L, EnumTagType.ID_9, "VO"), + ID_52(52L, EnumTagType.ID_9, "三星"), + ID_53(53L, EnumTagType.ID_9, "小米"), + ID_54(54L, EnumTagType.ID_9, "其他"), + ID_55(55L, EnumTagType.ID_10,"未婚"), + ID_56(56L, EnumTagType.ID_10,"已婚"), + ID_57(57L, EnumTagType.ID_10,"已婚有孩"), + ID_58(58L, EnumTagType.ID_11,"有车一族"), + ID_59(59L, EnumTagType.ID_12,"学生"), + ID_60(60L, EnumTagType.ID_12,"上班族"), + ID_61(61L, EnumTagType.ID_12,"企业高管"), + ID_62(62L, EnumTagType.ID_12,"个体户"), + ID_63(63L, EnumTagType.ID_12,"自由职业"), + ID_64(64L, EnumTagType.ID_12,"其他"), + ID_65(65L, EnumTagType.ID_13,"租房"), + ID_66(66L, EnumTagType.ID_13,"自购"), + ID_67(67L, EnumTagType.ID_13,"宿舍"), + ID_68(68L, EnumTagType.ID_14,"服装"), + ID_69(69L, EnumTagType.ID_14,"服饰"), + ID_70(70L, EnumTagType.ID_14,"餐饮"), + ID_71(71L, EnumTagType.ID_14,"休闲娱乐"), + ID_72(72L, EnumTagType.ID_14,"家居"), + ID_73(73L, EnumTagType.ID_14,"图书音像"), + ID_74(74L, EnumTagType.ID_14,"母婴"), + ID_75(75L, EnumTagType.ID_14,"儿童"), + ID_76(76L, EnumTagType.ID_14,"生活服务"), + ID_77(77L, EnumTagType.ID_15,"中低端"), + ID_78(78L, EnumTagType.ID_15,"中端"), + ID_79(79L, EnumTagType.ID_15,"中高端"), + ID_80(80L, EnumTagType.ID_15,"高端"), + ID_81(81L, EnumTagType.ID_16,"快时尚"), + ID_82(82L, EnumTagType.ID_16,"轻奢"), + ID_83(83L, EnumTagType.ID_16,"奢侈品"), + ID_84(84L, EnumTagType.ID_16,"皮革"), + ID_85(85L, EnumTagType.ID_16,"化妆品"), + ID_86(86L, EnumTagType.ID_16,"电子产品"), + ID_87(87L, EnumTagType.ID_16,"影视娱乐"), + ID_88(88L, EnumTagType.ID_16,"儿童相关"), + ID_89(89L, EnumTagType.ID_16,"日本品牌"), + ID_90(90L, EnumTagType.ID_16,"韩国品牌"), + ID_91(91L, EnumTagType.ID_16,"欧美品牌等"), + ID_92(92L, EnumTagType.ID_17,"轻餐"), + ID_93(93L, EnumTagType.ID_17,"小吃快餐"), + ID_94(94L, EnumTagType.ID_17,"西餐"), + ID_95(95L, EnumTagType.ID_17,"日料,中餐,甜点/咖啡"), + ID_96(96L, EnumTagType.ID_17,"火锅"), + ID_97(97L, EnumTagType.ID_18,"工作日白天"), + ID_98(98L, EnumTagType.ID_18,"工作日晚上"), + ID_99(99L, EnumTagType.ID_18,"周末(含节假日)白天"), + ID_100(100L, EnumTagType.ID_18,"周末(含节假日)晚上"), + ID_101(101L, EnumTagType.ID_19,"现金"), + ID_102(102L, EnumTagType.ID_19,"移动支付"), + ID_103(103L, EnumTagType.ID_19,"银行卡支付"), + ID_104(104L, EnumTagType.ID_20,"实惠型"), + ID_105(105L, EnumTagType.ID_20,"享乐型"), + ID_106(106L, EnumTagType.ID_20,"品质型"), + ID_107(107L, EnumTagType.ID_21,"低频"), + ID_108(108L, EnumTagType.ID_21,"中频"), + ID_109(109L, EnumTagType.ID_21,"高频"), + ID_110(110L, EnumTagType.ID_22,"低度"), + ID_111(111L, EnumTagType.ID_22,"中度"), + ID_112(112L, EnumTagType.ID_22,"高度"), + ID_113(113L, EnumTagType.ID_23,"低客单价"), + ID_114(114L, EnumTagType.ID_23,"中客单价"), + ID_115(115L, EnumTagType.ID_23,"高客单价"), + ID_116(116L, EnumTagType.ID_24,"口碑宣传型"), + ID_117(117L, EnumTagType.ID_24,"纠结型客户"), + ID_118(118L, EnumTagType.ID_24,"选择型客户"), + ID_119(119L, EnumTagType.ID_24,"参与型客户"), + ID_120(120L, EnumTagType.ID_24,"安静型客户"), + ID_121(121L, EnumTagType.ID_25,"时尚"), + ID_122(122L, EnumTagType.ID_25,"旅游"), + ID_123(123L, EnumTagType.ID_25,"运动"), + ID_124(124L, EnumTagType.ID_25,"电玩"), + ID_125(125L, EnumTagType.ID_25,"看书"), + ID_126(126L, EnumTagType.ID_25,"其他"), + ID_127(127L, EnumTagType.ID_26,"附近住户"), ; @@ -147,14 +147,12 @@ public enum EnumTag { } private Long code; - private Long groupCode; - private Long typeCode; + private EnumTagType type; private String message; - EnumTag(Long code, Long groupCode, Long typeCode, String message) { + EnumTag(Long code, EnumTagType type, String message) { this.code = code; - this.groupCode = groupCode; - this.typeCode = typeCode; + this.type = type; this.message = message; } @@ -162,12 +160,8 @@ public enum EnumTag { return code; } - public Long getGroupCode() { - return groupCode; - } - - public Long getTypeCode() { - return typeCode; + public EnumTagType getType() { + return type; } public String getMessage() { diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java b/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java index 1651ad17d..c525be524 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java @@ -5,35 +5,35 @@ package com.iformall.enums; */ public enum EnumTagType { - ID_1(1L, 1L, "性别"), - ID_2(2L, 1L, "年龄"), - ID_3(3L, 1L, "生肖"), - ID_4(4L, 1L, "星座"), - ID_5(5L, 1L, "来源"), - ID_6(6L, 1L, "学历"), - ID_7(7L, 1L, "手机运营商"), + ID_1(1L, true, EnumTagGroup.ID_1, "性别"), + ID_2(2L, true, EnumTagGroup.ID_1, "年龄"), + ID_3(3L, true, EnumTagGroup.ID_1, "生肖"), + ID_4(4L, true, EnumTagGroup.ID_1, "星座"), + ID_5(5L, true, EnumTagGroup.ID_1, "来源"), + ID_6(6L, true, EnumTagGroup.ID_1, "学历"), + ID_7(7L, true, EnumTagGroup.ID_1, "手机运营商"), - ID_8(8L, 2L, "月收入"), - ID_9(9L, 2L, "手机品牌"), - ID_10(10L, 2L, "婚姻家庭"), - ID_11(11L, 2L, "车辆情况"), - ID_12(12L, 2L, "职业"), - ID_13(13L, 2L, "住房情况"), + ID_8(8L, true, EnumTagGroup.ID_2, "月收入"), + ID_9(9L, true, EnumTagGroup.ID_2, "手机品牌"), + ID_10(10L, true, EnumTagGroup.ID_2, "婚姻家庭"), + ID_11(11L, true, EnumTagGroup.ID_2, "车辆情况"), + ID_12(12L, true, EnumTagGroup.ID_2, "职业"), + ID_13(13L, true, EnumTagGroup.ID_2, "住房情况"), - ID_14(14L, 3L, "消费类别"), - ID_15(15L, 3L, "消费档次"), - ID_16(16L, 3L, "品牌偏好"), - ID_17(17L, 3L, "饮食偏好"), - ID_18(18L, 3L, "消费时间段"), - ID_19(19L, 3L, "支付习惯"), + ID_14(14L, false, EnumTagGroup.ID_3, "消费类别"), + ID_15(15L, true, EnumTagGroup.ID_3, "消费档次"), + ID_16(16L, false, EnumTagGroup.ID_3, "品牌偏好"), + ID_17(17L, false, EnumTagGroup.ID_3, "饮食偏好"), + ID_18(18L, true, EnumTagGroup.ID_3, "消费时间段"), + ID_19(19L, false, EnumTagGroup.ID_3, "支付习惯"), - ID_20(20L, 4L, "会员消费观"), - ID_21(21L, 4L, "消费频率"), - ID_22(22L, 4L, "活跃度"), - ID_23(23L, 4L, "客单价"), - ID_24(24L, 4L, "会员性格"), - ID_25(25L, 4L, "爱好"), - ID_26(26L, 4L, "生活半径"), + ID_20(20L, true, EnumTagGroup.ID_4, "会员消费观"), + ID_21(21L, true, EnumTagGroup.ID_4, "消费频率"), + ID_22(22L, true, EnumTagGroup.ID_4, "活跃度"), + ID_23(23L, true, EnumTagGroup.ID_4, "客单价"), + ID_24(24L, true, EnumTagGroup.ID_4, "会员性格"), + ID_25(25L, false, EnumTagGroup.ID_4, "爱好"), + ID_26(26L, true, EnumTagGroup.ID_4, "生活半径"), ; public static EnumTagType getEnum(Long code) { @@ -46,21 +46,28 @@ public enum EnumTagType { } private Long code; - private Long groupCode; + private Boolean isSingle; + private EnumTagGroup group; private String message; - EnumTagType(Long code, Long groupCode, String message) { + EnumTagType(Long code, Boolean isSingle, EnumTagGroup group, String message) { this.code = code; - this.groupCode = groupCode; + this.isSingle = isSingle; + this.group = group; this.message = message; } + public Long getCode() { return code; } - public Long getGroupCode() { - return groupCode; + public Boolean isSingle() { + return isSingle; + } + + public EnumTagGroup getGroup() { + return group; } public String getMessage() { 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 b7e5390ec..d03ae8208 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java @@ -138,6 +138,7 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { //**************************************************自动打标逻辑代码 ************************************************************* + static List tagGroups = null; //打标 private List assign(WxCUserBasicInfo user, EnumTag tag){ @@ -150,6 +151,17 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { } String tags = record.getTags(); List tagIdList = JSON.parseArray(tags, Long.class); + + if (tag.getType().isSingle()){ + Iterator it = tagIdList.iterator(); + while(it.hasNext()){ + Long id = it.next(); + if(EnumTag.getEnum(id).getType() == tag.getType()){ + it.remove(); + } + } + } + tagIdList.add(tag.getCode()); record.setTags(JSON.toJSONString(tagIdList)); saveOrUpdate(record);