| @@ -2,6 +2,7 @@ package com.iformall.config; | |||
| import com.fasterxml.jackson.annotation.JsonAutoDetect; | |||
| import com.fasterxml.jackson.annotation.PropertyAccessor; | |||
| import com.fasterxml.jackson.databind.DeserializationFeature; | |||
| import com.fasterxml.jackson.databind.ObjectMapper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.*; | |||
| @@ -271,6 +272,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<Object> j = new Jackson2JsonRedisSerializer<Object>(Object.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -2,6 +2,7 @@ package com.iformall.config; | |||
| import com.fasterxml.jackson.annotation.JsonAutoDetect; | |||
| import com.fasterxml.jackson.annotation.PropertyAccessor; | |||
| import com.fasterxml.jackson.databind.DeserializationFeature; | |||
| import com.fasterxml.jackson.databind.ObjectMapper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.*; | |||
| @@ -246,6 +247,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<Object> j = new Jackson2JsonRedisSerializer<Object>(Object.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -2,6 +2,7 @@ package com.iformall.config; | |||
| import com.fasterxml.jackson.annotation.JsonAutoDetect; | |||
| import com.fasterxml.jackson.annotation.PropertyAccessor; | |||
| import com.fasterxml.jackson.databind.DeserializationFeature; | |||
| import com.fasterxml.jackson.databind.ObjectMapper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.*; | |||
| @@ -69,6 +70,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<PushLimit> j = new Jackson2JsonRedisSerializer<PushLimit>(PushLimit.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| template.setValueSerializer(j); | |||
| @@ -89,6 +91,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<WxScoreRules> j = new Jackson2JsonRedisSerializer<WxScoreRules>(WxScoreRules.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| template.setValueSerializer(j); | |||
| @@ -110,6 +113,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -133,6 +137,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -155,6 +160,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| template.setValueSerializer(j); | |||
| @@ -176,6 +182,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| template.setValueSerializer(j); | |||
| @@ -196,6 +203,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<List> j = new Jackson2JsonRedisSerializer<List>(List.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| template.setValueSerializer(j); | |||
| @@ -216,6 +224,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<WxCouponCVo> j = new Jackson2JsonRedisSerializer<WxCouponCVo>(WxCouponCVo.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| template.setValueSerializer(j); | |||
| @@ -236,6 +245,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<PageInfo> j = new Jackson2JsonRedisSerializer<PageInfo>(PageInfo.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -257,6 +267,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<WxBuser> j = new Jackson2JsonRedisSerializer(WxBuser.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -278,6 +289,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<WxOrder> j = new Jackson2JsonRedisSerializer<WxOrder>(WxOrder.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -307,6 +319,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<Object> j = new Jackson2JsonRedisSerializer<Object>(Object.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -2,6 +2,7 @@ package com.iformall.config; | |||
| import com.fasterxml.jackson.annotation.JsonAutoDetect; | |||
| import com.fasterxml.jackson.annotation.PropertyAccessor; | |||
| import com.fasterxml.jackson.databind.DeserializationFeature; | |||
| import com.fasterxml.jackson.databind.ObjectMapper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.*; | |||
| @@ -270,6 +271,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<Object> j = new Jackson2JsonRedisSerializer<Object>(Object.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -2,6 +2,7 @@ package com.iformall.config; | |||
| import com.fasterxml.jackson.annotation.JsonAutoDetect; | |||
| import com.fasterxml.jackson.annotation.PropertyAccessor; | |||
| import com.fasterxml.jackson.databind.DeserializationFeature; | |||
| import com.fasterxml.jackson.databind.ObjectMapper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.*; | |||
| @@ -256,6 +257,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<Object> j = new Jackson2JsonRedisSerializer<Object>(Object.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -2,6 +2,7 @@ package com.iformall.config; | |||
| import com.fasterxml.jackson.annotation.JsonAutoDetect; | |||
| import com.fasterxml.jackson.annotation.PropertyAccessor; | |||
| import com.fasterxml.jackson.databind.DeserializationFeature; | |||
| import com.fasterxml.jackson.databind.ObjectMapper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.*; | |||
| @@ -238,6 +239,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<Object> j = new Jackson2JsonRedisSerializer<Object>(Object.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -2,6 +2,7 @@ package com.iformall.config; | |||
| import com.fasterxml.jackson.annotation.JsonAutoDetect; | |||
| import com.fasterxml.jackson.annotation.PropertyAccessor; | |||
| import com.fasterxml.jackson.databind.DeserializationFeature; | |||
| import com.fasterxml.jackson.databind.ObjectMapper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.*; | |||
| @@ -256,6 +257,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<Object> j = new Jackson2JsonRedisSerializer<Object>(Object.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||
| @@ -30,21 +30,21 @@ public class UserTagsController { | |||
| @Autowired | |||
| WxCUserBasicInfoService wxCUserBasicInfoService; | |||
| @GetMapping("/userTag") | |||
| public void mqtest() { | |||
| WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); | |||
| int pageIndex = 1; | |||
| final int pageSize = 1000; | |||
| PageInfo page; | |||
| do{ | |||
| page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageIndex++, pageSize); | |||
| page.getList().stream().forEach(cubi -> { | |||
| long lStart = System.currentTimeMillis(); | |||
| wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_SCAN, cubi); | |||
| logger.info("user tag cost time: {}", System.currentTimeMillis() - lStart); | |||
| }); | |||
| } while ((page.isHasNextPage())); | |||
| } | |||
| // @GetMapping("/userTag") | |||
| // public void mqtest() { | |||
| // WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); | |||
| // | |||
| // int pageIndex = 1; | |||
| // final int pageSize = 1000; | |||
| // | |||
| // PageInfo page; | |||
| // do{ | |||
| // page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageIndex++, pageSize); | |||
| // page.getList().stream().forEach(cubi -> { | |||
| // long lStart = System.currentTimeMillis(); | |||
| // wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_SCAN, cubi); | |||
| // logger.info("user tag cost time: {}", System.currentTimeMillis() - lStart); | |||
| // }); | |||
| // } while ((page.isHasNextPage())); | |||
| // } | |||
| } | |||
| @@ -14,6 +14,7 @@ import org.springframework.stereotype.Component; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.WxCUserBasicInfo; | |||
| import com.iformall.domain.po.WxMall; | |||
| import com.iformall.domain.vo.WxCUserBasicTagVo; | |||
| import com.iformall.enums.EnumAssignTagsTrigger; | |||
| import com.iformall.service.WxCUserBasicInfoService; | |||
| import com.iformall.service.WxCUserTagsService; | |||
| @@ -62,7 +63,7 @@ public class WxCUserTagsSchedule { | |||
| page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageIndex++, pageSize); | |||
| page.getList().stream().forEach(cubi -> { | |||
| try { | |||
| wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_SCAN, cubi); | |||
| wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_SCAN, new WxCUserBasicTagVo((WxCUserBasicInfo)cubi,mall.getTenantId())); | |||
| }catch(Exception e) { | |||
| logger.error("wxCUserTagsSchedule error."+cubi.toString(),e); | |||
| } | |||
| @@ -0,0 +1,15 @@ | |||
| package com.iformall.domain.vo; | |||
| import com.iformall.domain.po.WxCUserBasicInfo; | |||
| import lombok.AllArgsConstructor; | |||
| import lombok.Data; | |||
| @Data | |||
| @AllArgsConstructor | |||
| public class WxCUserBasicTagVo { | |||
| private WxCUserBasicInfo basicInfo; | |||
| private String tenantId; | |||
| } | |||
| @@ -285,6 +285,7 @@ public class WxCUserServiceImpl implements WxCUserService { | |||
| loingcount = Integer.parseInt(wxCUserBasicInfo.getLoginCount().toString()); | |||
| }catch(Exception e) { | |||
| } | |||
| basicInfo.setFinalTenantId(user.getFinalTenantId()); | |||
| basicInfo.setLoginCount(loingcount+1); | |||
| wxCUserBasicInfoService.update(basicInfo); | |||
| } | |||
| @@ -293,6 +294,7 @@ public class WxCUserServiceImpl implements WxCUserService { | |||
| WxCUser cUser = new WxCUser(); | |||
| cUser.setId(user.getId()); | |||
| cUser.setActiveTime(new Date()); | |||
| cUser.setTenantId(user.getTenantId()); | |||
| saveOrUpdate(cUser); | |||
| } | |||
| wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_LOGIN, wxCUser); | |||
| @@ -328,7 +330,7 @@ public class WxCUserServiceImpl implements WxCUserService { | |||
| } | |||
| WxCreditHistory wxCreditHistory = new WxCreditHistory(); | |||
| wxCreditHistory.setCUserId(user.getUserId()); | |||
| wxCreditHistory.updateTenantInfo(user); | |||
| wxCreditHistory.setTenantId(user.getFinalTenantId()); | |||
| wxCreditHistory.setCreateDate(new Date()); | |||
| wxCreditHistory.setCreditType(enumScoreType.getCode()); | |||
| wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); | |||
| @@ -8,6 +8,7 @@ import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.domain.vo.WxCUserBasicTagVo; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.mapper.*; | |||
| import com.iformall.service.WxCUserTagsService; | |||
| @@ -551,7 +552,7 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { | |||
| return resList; | |||
| } | |||
| private List<WxTags> assignTypeId21(WxCUserBasicInfo user) { | |||
| private List<WxTags> assignTypeId21(WxCUserBasicInfo user,String tenantId) { | |||
| List<WxTags> resList = null; | |||
| Calendar startC = Calendar.getInstance(); | |||
| startC.setTime(new Date()); | |||
| @@ -561,6 +562,7 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { | |||
| wxCouponOrder.setCUserId(user.getId()); | |||
| wxCouponOrder.setStartTime(startC.getTime()); | |||
| wxCouponOrder.setEndTime(new Date()); | |||
| wxCouponOrder.setTenantId(tenantId); | |||
| int count = wxCouponOrderMapper.findCount(wxCouponOrder); | |||
| @@ -695,52 +697,56 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { | |||
| resList = assignTypeId7(user, param.getPhone()); | |||
| } | |||
| //活跃 | |||
| resList = assignTypeId21(user); | |||
| resList = assignTypeId21(user,param.getTenantId()); | |||
| } | |||
| } | |||
| break; | |||
| case ASSIGN_TAGS_TRIGGER_SCAN: { | |||
| WxCUserBasicInfo user = (WxCUserBasicInfo) obj; | |||
| if (user != null) { | |||
| if (user.getSex() != null) { | |||
| //性别 | |||
| resList = assignTypeId1(user, user.getSex()); | |||
| } | |||
| if (user.getBirthdate() != null) { | |||
| //X0后 | |||
| resList = assignTypeId2(user, user.getBirthdate()); | |||
| //生肖 | |||
| resList = assignTypeId3(user, user.getBirthdate()); | |||
| //星座 | |||
| resList = assignTypeId4(user, user.getBirthdate()); | |||
| } | |||
| if (user.getPhone() != null) { | |||
| //运营商 | |||
| resList = assignTypeId7(user, user.getPhone()); | |||
| } | |||
| if (user.getEducation() != null) { | |||
| //学历 | |||
| resList = assignTypeId6(user, user.getEducation()); | |||
| } | |||
| //消费类别 | |||
| resList = assignTypeId14(user); | |||
| //饮食偏好 | |||
| resList = assignTypeId17(user); | |||
| //消费时段 | |||
| resList = assignTypeId18(user); | |||
| //消费频度 | |||
| resList = assignTypeId22(user); | |||
| //活跃 | |||
| resList = assignTypeId21(user); | |||
| //车 | |||
| WxCUserCar wxCUserCar = new WxCUserCar(); | |||
| wxCUserCar.setCUserId(user.getId()); | |||
| if (wxCUserCarMapper.countList(wxCUserCar) > 0) { | |||
| resList = assignTypeId11(user); | |||
| WxCUserBasicTagVo suser = (WxCUserBasicTagVo) obj; | |||
| if (suser != null) { | |||
| WxCUserBasicInfo user = suser.getBasicInfo(); | |||
| if ( user != null) { | |||
| if (user.getSex() != null) { | |||
| //性别 | |||
| resList = assignTypeId1(user, user.getSex()); | |||
| } | |||
| if (user.getBirthdate() != null) { | |||
| //X0后 | |||
| resList = assignTypeId2(user, user.getBirthdate()); | |||
| //生肖 | |||
| resList = assignTypeId3(user, user.getBirthdate()); | |||
| //星座 | |||
| resList = assignTypeId4(user, user.getBirthdate()); | |||
| } | |||
| if (user.getPhone() != null) { | |||
| //运营商 | |||
| resList = assignTypeId7(user, user.getPhone()); | |||
| } | |||
| if (user.getEducation() != null) { | |||
| //学历 | |||
| resList = assignTypeId6(user, user.getEducation()); | |||
| } | |||
| //消费类别 | |||
| resList = assignTypeId14(user); | |||
| //饮食偏好 | |||
| resList = assignTypeId17(user); | |||
| //消费时段 | |||
| resList = assignTypeId18(user); | |||
| //消费频度 | |||
| resList = assignTypeId22(user); | |||
| //活跃 | |||
| resList = assignTypeId21(user,suser.getTenantId()); | |||
| //车 | |||
| WxCUserCar wxCUserCar = new WxCUserCar(); | |||
| wxCUserCar.setCUserId(user.getId()); | |||
| if (wxCUserCarMapper.countList(wxCUserCar) > 0) { | |||
| resList = assignTypeId11(user); | |||
| } | |||
| } | |||
| } | |||
| } | |||
| @@ -264,6 +264,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| if (hasBirthDateCredit) { | |||
| wxCUserBasicInfoNew.setScoreDate(new Date()); | |||
| } | |||
| wxCUserBasicInfoNew.setFinalTenantId(wxCUserBasicInfo.getFinalTenantId()); | |||
| wxCUserBasicInfoMapper.updateById(wxCUserBasicInfoNew); | |||
| } | |||
| @@ -165,7 +165,7 @@ | |||
| select | |||
| <include refid="allColumns"/> | |||
| from wx_mall | |||
| where 1=1 and `tenant_id` = #{value} | |||
| where `tenant_id` = #{value} | |||
| </select> | |||
| <select id="getByTenantInfo" parameterType="com.iformall.domain.po.WxMall" resultMap="BaseResultMap"> | |||
| select | |||
| @@ -2,6 +2,7 @@ package com.iformall.config; | |||
| import com.fasterxml.jackson.annotation.JsonAutoDetect; | |||
| import com.fasterxml.jackson.annotation.PropertyAccessor; | |||
| import com.fasterxml.jackson.databind.DeserializationFeature; | |||
| import com.fasterxml.jackson.databind.ObjectMapper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.*; | |||
| @@ -269,6 +270,7 @@ public class RedisConfig extends CachingConfigurerSupport { | |||
| Jackson2JsonRedisSerializer<Object> j = new Jackson2JsonRedisSerializer<Object>(Object.class); | |||
| ObjectMapper om = new ObjectMapper(); | |||
| om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); | |||
| om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |||
| j.setObjectMapper(om); | |||
| // value值的序列化 | |||