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

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

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


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

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

} }
} }



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


// 成长值 // 成长值
if (StringUtils.isNotBlank(uBase.getPoins())) {
if (points != null) {
if (oldUserBase != null) { if (oldUserBase != null) {
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, oldUserBase, uBase.getPoins());
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, oldUserBase, bHaveCUser);
} else { } else {
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, userBase, uBase.getPoins());
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, userBase, bHaveCUser);
} }
} }
} catch (Exception e) { } 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 // 1. basicUser
if(user == null) { if(user == null) {
return; return;
} }


// 2. update score/ 修改basic表积分 // 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 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; return addScoreNumber;
} }


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


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


// 2. 记录历史 // 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) { private int memReduceScore(WxCUserBasicInfo userInfo, String reason, Integer scoreNum) {
@@ -364,7 +359,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
return score; return score;
} }


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


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


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