Browse Source

[标签][修改]:导入会员自动打标调试通过

release_toaliyun_real
hupeng 7 years ago
parent
commit
f711ea0d65
6 changed files with 76 additions and 60 deletions
  1. +5
    -0
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java
  2. +10
    -4
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  3. +7
    -1
      mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java
  4. +17
    -42
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java
  5. +31
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java
  6. +6
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java

+ 5
- 0
mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java View File

@@ -52,6 +52,9 @@ public class WxCarController extends BaseController {
@Autowired @Autowired
WxScoreRulesService wxScoreRulesService; WxScoreRulesService wxScoreRulesService;


@Autowired
WxCUserTagsService wxCUserTagsService;

private WxPark getCurrentPark(WxCUser user) { private WxPark getCurrentPark(WxCUser user) {
WxPark parkQ = new WxPark(); WxPark parkQ = new WxPark();
parkQ.setTenantId(user.getTenantId()); parkQ.setTenantId(user.getTenantId());
@@ -319,6 +322,8 @@ public class WxCarController extends BaseController {
logger.error(e.getMessage()); logger.error(e.getMessage());
return new ResultData(ErrorCode.DB_FAIL.getCode(), "TJD保存车牌失败, e:" + e.getMessage()); return new ResultData(ErrorCode.DB_FAIL.getCode(), "TJD保存车牌失败, e:" + e.getMessage());
} }

wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,user);
return new ResultData(retObj); return new ResultData(retObj);
} else { } else {
return new ResultData(ErrorCode.TJD_BIND_FAIL.getCode(), "绑车牌失败", retObj); return new ResultData(ErrorCode.TJD_BIND_FAIL.getCode(), "绑车牌失败", retObj);


+ 10
- 4
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java View File

@@ -16,10 +16,8 @@ import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCUserCar; import com.iformall.domain.po.WxCUserCar;
import com.iformall.domain.po.WxLevelConfig; import com.iformall.domain.po.WxLevelConfig;
import com.iformall.domain.vo.WxCUserVo; import com.iformall.domain.vo.WxCUserVo;
import com.iformall.service.WxCUserCarService;
import com.iformall.service.WxCUserService;
import com.iformall.service.WxLevelConfigService;
import com.iformall.service.WxScoreRulesService;
import com.iformall.enums.EnumAssignTagsTrigger;
import com.iformall.service.*;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -60,6 +58,9 @@ public class WxUserGrantController extends BaseController {
@Autowired @Autowired
WxLevelConfigService wxLevelConfigService; WxLevelConfigService wxLevelConfigService;


@Autowired
WxCUserTagsService wxCUserTagsService;

/** /**
* 用户登录 * 用户登录
* @param map * @param map
@@ -145,6 +146,8 @@ public class WxUserGrantController extends BaseController {
logger.error(e.getMessage()); logger.error(e.getMessage());
} }
resultMap.put("token", token); resultMap.put("token", token);

wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_LOGIN,user1);
} else { } else {
user.setTenantId(wxAppinfo.getTenantId()); user.setTenantId(wxAppinfo.getTenantId());
user.createToken(new Date()); user.createToken(new Date());
@@ -172,6 +175,8 @@ public class WxUserGrantController extends BaseController {
logger.error(e.getMessage()); logger.error(e.getMessage());
} }
resultMap.put("token", token); resultMap.put("token", token);

wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_LOGIN,user);
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
@@ -296,6 +301,7 @@ public class WxUserGrantController extends BaseController {
if (!user.getPhone().contains("*")) { // 用户手机非加密 if (!user.getPhone().contains("*")) { // 用户手机非加密
// 更新到basicinfo // 更新到basicinfo
saveToBasicInfo(user); saveToBasicInfo(user);
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE,user);
} }


return new ResultData(resultMap); return new ResultData(resultMap);


+ 7
- 1
mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java View File

@@ -6,7 +6,9 @@ import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxCUser; 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.vo.WxChooseTagVo; import com.iformall.domain.vo.WxChooseTagVo;
import com.iformall.enums.EnumAssignTagsTrigger;


public interface WxCUserTagsService { public interface WxCUserTagsService {


@@ -79,5 +81,9 @@ public interface WxCUserTagsService {
* @return * @return
*/ */
WxChooseTagVo findChooseTag(String tenantId, List<Long> tagIds); WxChooseTagVo findChooseTag(String tenantId, List<Long> tagIds);


List<WxTags> assignTags(List<Long> tagIdList, WxCUserBasicInfo user);
List<WxTags> triggerAssignTags(EnumAssignTagsTrigger trigger, Object obj);

} }

+ 17
- 42
mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java View File

@@ -20,11 +20,14 @@ import com.iformall.domain.po.WxTags;
import com.iformall.domain.vo.CUserBaseInfoT; import com.iformall.domain.vo.CUserBaseInfoT;
import com.iformall.domain.vo.CUserBaseVo; import com.iformall.domain.vo.CUserBaseVo;
import com.iformall.domain.vo.CUserTagVo; import com.iformall.domain.vo.CUserTagVo;
import com.iformall.enums.EnumAssignTagsTrigger;
import com.iformall.enums.EnumTag;
import com.iformall.mapper.WxCUserBasicInfoMapper; import com.iformall.mapper.WxCUserBasicInfoMapper;
import com.iformall.mapper.WxCUserMapper; import com.iformall.mapper.WxCUserMapper;
import com.iformall.mapper.WxCUserTagsMapper; import com.iformall.mapper.WxCUserTagsMapper;
import com.iformall.mapper.WxTagsMapper; import com.iformall.mapper.WxTagsMapper;
import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCUserTagsService;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -64,6 +67,9 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
@Autowired @Autowired
WxTagsMapper wxTagsMapper; WxTagsMapper wxTagsMapper;


@Autowired
WxCUserTagsService wxCUserTagsService;

@Override @Override
public PageInfo<WxCUserBasicInfo> listAsPage(WxCUserBasicInfo record, Integer pageIndex, Integer pageSize) { public PageInfo<WxCUserBasicInfo> listAsPage(WxCUserBasicInfo record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserBasicInfoMapper.findList(record)); return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserBasicInfoMapper.findList(record));
@@ -577,50 +583,19 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
tagIdList.add(Long.valueOf(wxTags.getId())); tagIdList.add(Long.valueOf(wxTags.getId()));
} }
} }
WxCUserTags wxCUserTags = null;
if (oldUserBase != null) {
if (oldUserBase.getTagId() != null) {
wxCUserTags = wxCUserTagsMapper.selectByPrimaryKey(oldUserBase.getTagId());
} else {
WxCUserTags cUserTagsQ = new WxCUserTags();
cUserTagsQ.setUserId(userBase.getId());
cUserTagsQ.setTenantId(userBase.getTenantId());
List<WxCUserTags> userTagsList = wxCUserTagsMapper.findList(cUserTagsQ);
if (userTagsList.size() > 0) {
wxCUserTags = userTagsList.get(0);
}
}


if (wxCUserTags != null) {
// have old one, update tagIds
wxCUserTags.setTags(JSON.toJSONString(tagIdList));
wxCUserTags.setUpdateDate(curDate);
wxCUserTagsMapper.updateByPrimaryKey(wxCUserTags);
} else {
// new one, insert
wxCUserTags = new WxCUserTags();
wxCUserTags.setId(idWorker.nextId());
wxCUserTags.setTenantId(tenantId);
wxCUserTags.setUserId(oldUserBase.getId());
wxCUserTags.setTags(JSON.toJSONString(tagIdList));
wxCUserTags.setCreateDate(curDate);
wxCUserTags.setUpdateDate(curDate);
wxCUserTagsMapper.insertSelective(wxCUserTags);
}
} else {
// new one, insert
wxCUserTags = new WxCUserTags();
wxCUserTags.setId(idWorker.nextId());
wxCUserTags.setTenantId(tenantId);
wxCUserTags.setUserId(userBase.getId());
wxCUserTags.setTags(JSON.toJSONString(tagIdList));
wxCUserTags.setCreateDate(curDate);
wxCUserTags.setUpdateDate(curDate);
wxCUserTagsMapper.insertSelective(wxCUserTags);
userBase.setTagId(wxCUserTags.getId());
wxCUserBasicInfoMapper.updateByPrimaryKeySelective(userBase);
}
if (oldUserBase != null)
wxCUserTagsService.assignTags(tagIdList,oldUserBase);
else
wxCUserTagsService.assignTags(tagIdList,userBase);
} }

//触发自动打标签
if (oldUserBase != null)
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT,oldUserBase);
else
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT,userBase);

} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());


+ 31
- 9
mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java View File

@@ -67,8 +67,11 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
//record.setId(UUID.randomUUID().toString().replaceAll("-", "")); //record.setId(UUID.randomUUID().toString().replaceAll("-", ""));
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId()); record.setId(idWorker.nextId());
record.setCreateDate(new Date());
record.setUpdateDate(new Date());
wxCUserTagsMapper.insertSelective(record); wxCUserTagsMapper.insertSelective(record);
} else { } else {
record.setUpdateDate(new Date());
wxCUserTagsMapper.updateByPrimaryKeySelective(record); wxCUserTagsMapper.updateByPrimaryKeySelective(record);
} }
} }
@@ -140,16 +143,23 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {


//打标 //打标
private List<WxTags> assign(WxCUserBasicInfo user, EnumTag tag){ private List<WxTags> assign(WxCUserBasicInfo user, EnumTag tag){

if (tag == null || user == null)
return null;
WxCUserTags record = new WxCUserTags(); WxCUserTags record = new WxCUserTags();
record.setUserId(user.getId()); record.setUserId(user.getId());
record.setTenantId(user.getTenantId()); record.setTenantId(user.getTenantId());
List<WxCUserTags> cUserTagsList = wxCUserTagsMapper.findList(record); List<WxCUserTags> cUserTagsList = wxCUserTagsMapper.findList(record);
if (cUserTagsList.size() > 0) { if (cUserTagsList.size() > 0) {
record.setId(cUserTagsList.get(0).getId()); record.setId(cUserTagsList.get(0).getId());
record.setTags(cUserTagsList.get(0).getTags());
} }
String tags = record.getTags(); String tags = record.getTags();
List<Long> tagIdList = JSON.parseArray(tags, Long.class);

List<Long> tagIdList;
if (tags == null)
tagIdList = new ArrayList<Long>();
else
tagIdList = JSON.parseArray(tags, Long.class);


if (tag.getType().getFlag() == EnumTagTypeFlag.FLAG_SINGLE){ if (tag.getType().getFlag() == EnumTagTypeFlag.FLAG_SINGLE){
Iterator<Long> it = tagIdList.iterator(); Iterator<Long> it = tagIdList.iterator();
@@ -164,7 +174,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
tagIdList.add(tag.getCode()); tagIdList.add(tag.getCode());
record.setTags(JSON.toJSONString(tagIdList)); record.setTags(JSON.toJSONString(tagIdList));
saveOrUpdate(record); saveOrUpdate(record);
if (!user.getTagId().equals(record.getId())) {
if (user.getTagId() == null ||
!user.getTagId().equals(record.getId())) {
user.setTagId(record.getId()); user.setTagId(record.getId());
wxCUserBasicInfoService.update(user); wxCUserBasicInfoService.update(user);
} }
@@ -175,7 +186,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {


//去标 //去标
private List<WxTags> resign(WxCUserBasicInfo user, EnumTag tag){ private List<WxTags> resign(WxCUserBasicInfo user, EnumTag tag){

if (tag == null || user == null)
return null;
WxCUserTags record = new WxCUserTags(); WxCUserTags record = new WxCUserTags();
record.setUserId(user.getId()); record.setUserId(user.getId());
record.setTenantId(user.getTenantId()); record.setTenantId(user.getTenantId());
@@ -203,9 +215,9 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
//类型打标 //类型打标
private List<WxTags> assignTypeId1(WxCUserBasicInfo user, Integer sex) { private List<WxTags> assignTypeId1(WxCUserBasicInfo user, Integer sex) {
List<WxTags> resList = null; List<WxTags> resList = null;
if (sex.equals(EnumCUserBaseInfoSex.MALE))
if (sex.equals(EnumCUserBaseInfoSex.MALE.getCode()))
resList = assign(user, EnumTag.ID_1); resList = assign(user, EnumTag.ID_1);
if (sex.equals(EnumCUserBaseInfoSex.FEMALE))
if (sex.equals(EnumCUserBaseInfoSex.FEMALE.getCode()))
resList = assign(user, EnumTag.ID_2); resList = assign(user, EnumTag.ID_2);
return resList; return resList;
} }
@@ -451,10 +463,20 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
return resList; return resList;
} }


//打标接口
@Override
public List<WxTags> assignTags(List<Long> tagIdList, WxCUserBasicInfo user) {
List<WxTags> resList = null;
for (Long tagId : tagIdList) {
resList = assign(user, EnumTag.getEnum(tagId));
}
return resList;
}

//打标触发 //打标触发
//@Override
private List<WxTags> triggerAssignTags(EnumAssignTagsTrigger trigger, Object obj) {
if (obj != null)
@Override
public List<WxTags> triggerAssignTags(EnumAssignTagsTrigger trigger, Object obj) {
if (obj == null)
return null; return null;


List<WxTags> resList = null; List<WxTags> resList = null;


+ 6
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java View File

@@ -10,10 +10,7 @@ import com.iformall.domain.vo.WxOrderCVo;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.WxCUserService;
import com.iformall.service.WxOrderService;
import com.iformall.service.WxPayOrderService;
import com.iformall.service.WxScoreRulesService;
import com.iformall.service.*;
import com.iformall.utils.RedisLock; import com.iformall.utils.RedisLock;
import com.iformall.utils.Utility; import com.iformall.utils.Utility;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -69,6 +66,9 @@ public class WxOrderServiceImpl implements WxOrderService {
@Autowired @Autowired
WxScoreRulesService wxScoreRulesService; WxScoreRulesService wxScoreRulesService;


@Autowired
WxCUserTagsService wxCUserTagsService;

@Override @Override
public PageInfo<WxOrder> listAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { public PageInfo<WxOrder> listAsPage(WxOrder record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.findList(record)); return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.findList(record));
@@ -333,6 +333,8 @@ public class WxOrderServiceImpl implements WxOrderService {
couponOrder.setCouponPrice(order.getPayment()); couponOrder.setCouponPrice(order.getPayment());


wxCouponOrderMapper.insertSelective(couponOrder); wxCouponOrderMapper.insertSelective(couponOrder);

wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_BUY, user);
return couponOrder; return couponOrder;
} }




Loading…
Cancel
Save