Просмотр исходного кода

[会员列表][新增]:会员导入导出优化

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
aab1daeeef
2 измененных файлов: 44 добавлений и 25 удалений
  1. +28
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java
  2. +16
    -21
      mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java

+ 28
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java Просмотреть файл

@@ -497,6 +497,19 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
return;
}

boolean bHaveCUser = false;

// 成长值
Integer points = null;
if (StringUtils.isNotBlank(uBase.getPoins())) {
try {
points = Integer.valueOf(uBase.getPoins());
userBase.setPoins(points);
} catch (Exception e) {
logger.error(e.getMessage());
}
}

WxCUserBasicInfo oldUserBase = null;
WxCUserBasicInfo userBaseQ = new WxCUserBasicInfo();
userBaseQ.setTenantId(tenantId);
@@ -515,8 +528,16 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
oldUserBase.setAddress(userBase.getAddress());
oldUserBase.setUpdateDate(new Date());
oldUserBase.setCreateDate(userBase.getCreateDate());
// 成长值
if(points != null) {
userBase.setPoins(points);
}
} else {
userBase.setId(idWorker.nextId());
// 成长值
if(points != null) {
userBase.setPoins(points);
}
}

// update 昵称
@@ -529,6 +550,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
if (userList.size() > 0) {
WxCUser user = userList.get(0);
if (user != null) {
bHaveCUser = true;
if (oldUserBase != null) {
if(oldUserBase != null) {
oldUserBase.setNickName(user.getNickName());
@@ -536,13 +558,15 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
userBase.setId(user.getId());
userBase.setNickName(user.getNickName());
} else {

userBase.setNickName(user.getNickName());
}
}
} else {

}
}


if (oldUserBase != null) {
logger.info("update user base: " + oldUserBase.getId());
wxCUserBasicInfoMapper.updateByPrimaryKeySelective(oldUserBase);
@@ -589,11 +613,11 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
*/

// 成长值
if (StringUtils.isNotBlank(uBase.getPoins())) {
if (points != null) {
if (oldUserBase != null) {
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, oldUserBase, uBase.getPoins());
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, oldUserBase, bHaveCUser);
} else {
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, userBase, uBase.getPoins());
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, userBase, bHaveCUser);
}
}
} catch (Exception e) {


+ 16
- 21
mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java Просмотреть файл

@@ -148,27 +148,22 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
}
}

private void resetBasicUserScore(WxCUserBasicInfo user, int scoreNumber) {
private void resetBasicUserScore(WxCUserBasicInfo user, boolean bHaveCUser) {
// 1. basicUser
if(user == null) {
return;
}

// 2. update score/ 修改basic表积分
user.setPoins(scoreNumber);
wxCUserBasicInfoMapper.updateScore(user);
// user.setPoins(scoreNumber);
// wxCUserBasicInfoMapper.updateScore(user);

// 3. 修改 c_user表积分 score
if (user.getPhone() != null) {
// 3. 修改已存在 c_user表积分 score
if(bHaveCUser) {
WxCUser wxCUser = new WxCUser();
wxCUser.setTenantId(user.getTenantId());
wxCUser.setPhone(user.getPhone());
List<WxCUser> list = wxCUserMapper.findList(wxCUser);
if (!list.isEmpty()) {
wxCUser = list.get(0);
wxCUser.setScore(scoreNumber);
wxCUserMapper.updateByPrimaryKeySelective(wxCUser);
}
wxCUser.setId(user.getId());
wxCUser.setScore(user.getPoins());
wxCUserMapper.updateByPrimaryKeySelective(wxCUser);
}
}

@@ -332,14 +327,14 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
return addScoreNumber;
}

private int memResetScore(WxCUserBasicInfo userInfo, Integer score) {
private int memResetScore(WxCUserBasicInfo userInfo, boolean bHaveCUser) {

// 1. 导入成长值
resetBasicUserScore(userInfo, score);
resetBasicUserScore(userInfo, bHaveCUser);

// 2. 记录历史
recordScoreHistory(userInfo, score, EnumScoreType.MEM_IMPORT);
return score;
recordScoreHistory(userInfo, EnumScoreType.MEM_IMPORT);
return userInfo.getPoins();
}

private int memReduceScore(WxCUserBasicInfo userInfo, String reason, Integer scoreNum) {
@@ -364,7 +359,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
return score;
}

private void recordScoreHistory(WxCUserBasicInfo userInfo, int addScoreNumber, EnumScoreType wechatPhone) {
private void recordScoreHistory(WxCUserBasicInfo userInfo, EnumScoreType wechatPhone) {
final IdWorker idWorker = IdWorker.get();
WxScoreHistory history = new WxScoreHistory();
history.setId(idWorker.nextId());
@@ -372,7 +367,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
history.setCUserId(userInfo.getId());
history.setCreateDate(new Date());
history.setScoreType(wechatPhone.getCode());
history.setScoreAmount(addScoreNumber);
history.setScoreAmount(userInfo.getPoins());
wxScoreHistoryMapper.insert(history);
}

@@ -463,8 +458,8 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
}
case MEM_IMPORT: {
WxCUserBasicInfo user = (WxCUserBasicInfo) param1;
Integer score = Integer.valueOf((String)param2);
return memResetScore(user, score);
boolean bHaveCUser = (boolean)(param2);
return memResetScore(user, bHaveCUser);
}
default:
break;


Загрузка…
Отмена
Сохранить