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
WxScoreRulesService wxScoreRulesService;

@Autowired
WxCUserTagsService wxCUserTagsService;

private WxPark getCurrentPark(WxCUser user) {
WxPark parkQ = new WxPark();
parkQ.setTenantId(user.getTenantId());
@@ -319,6 +322,8 @@ public class WxCarController extends BaseController {
logger.error(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);
} else {
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.WxLevelConfig;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -60,6 +58,9 @@ public class WxUserGrantController extends BaseController {
@Autowired
WxLevelConfigService wxLevelConfigService;

@Autowired
WxCUserTagsService wxCUserTagsService;

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

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

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

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.WxCUserBasicInfo;
import com.iformall.domain.po.WxCUserTags;
import com.iformall.domain.po.WxTags;
import com.iformall.domain.vo.WxChooseTagVo;
import com.iformall.enums.EnumAssignTagsTrigger;

public interface WxCUserTagsService {

@@ -79,5 +81,9 @@ public interface WxCUserTagsService {
* @return
*/
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.CUserBaseVo;
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.WxCUserMapper;
import com.iformall.mapper.WxCUserTagsMapper;
import com.iformall.mapper.WxTagsMapper;
import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCUserTagsService;
import com.iformall.utils.Constant;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
@@ -64,6 +67,9 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
@Autowired
WxTagsMapper wxTagsMapper;

@Autowired
WxCUserTagsService wxCUserTagsService;

@Override
public PageInfo<WxCUserBasicInfo> listAsPage(WxCUserBasicInfo record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserBasicInfoMapper.findList(record));
@@ -577,50 +583,19 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
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) {
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("-", ""));
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
record.setCreateDate(new Date());
record.setUpdateDate(new Date());
wxCUserTagsMapper.insertSelective(record);
} else {
record.setUpdateDate(new Date());
wxCUserTagsMapper.updateByPrimaryKeySelective(record);
}
}
@@ -140,16 +143,23 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {

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

if (tag == null || user == null)
return null;
WxCUserTags record = new WxCUserTags();
record.setUserId(user.getId());
record.setTenantId(user.getTenantId());
List<WxCUserTags> cUserTagsList = wxCUserTagsMapper.findList(record);
if (cUserTagsList.size() > 0) {
record.setId(cUserTagsList.get(0).getId());
record.setTags(cUserTagsList.get(0).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){
Iterator<Long> it = tagIdList.iterator();
@@ -164,7 +174,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
tagIdList.add(tag.getCode());
record.setTags(JSON.toJSONString(tagIdList));
saveOrUpdate(record);
if (!user.getTagId().equals(record.getId())) {
if (user.getTagId() == null ||
!user.getTagId().equals(record.getId())) {
user.setTagId(record.getId());
wxCUserBasicInfoService.update(user);
}
@@ -175,7 +186,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {

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

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

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.exception.MallinkException;
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.Utility;
import org.slf4j.Logger;
@@ -69,6 +66,9 @@ public class WxOrderServiceImpl implements WxOrderService {
@Autowired
WxScoreRulesService wxScoreRulesService;

@Autowired
WxCUserTagsService wxCUserTagsService;

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

wxCouponOrderMapper.insertSelective(couponOrder);

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



Loading…
Cancel
Save