Browse Source

update

release_toaliyun_real
xiaohanzi 5 years ago
parent
commit
d3f180cb50
27 changed files with 149 additions and 122 deletions
  1. +1
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java
  2. +6
    -9
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java
  3. +2
    -2
      mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java
  4. +0
    -1
      mallinkCApi/src/main/java/com/iformall/controller/BaseController.java
  5. +2
    -2
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java
  6. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java
  7. +3
    -4
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  8. +2
    -2
      mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java
  9. +1
    -1
      mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java
  10. +6
    -6
      mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java
  11. +0
    -8
      mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java
  12. +18
    -16
      mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java
  13. +1
    -0
      mallinkService/src/main/java/com/iformall/service/WxActivityJoinService.java
  14. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxOrderService.java
  15. +3
    -3
      mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java
  16. +1
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java
  17. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java
  18. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java
  19. +4
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java
  20. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java
  21. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  22. +5
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java
  23. +6
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  24. +2
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  25. +31
    -31
      mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java
  26. +41
    -6
      mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java
  27. +5
    -5
      mallinkService/src/main/java/com/iformall/utils/CreditUtil.java

+ 1
- 1
mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java View File

@@ -650,7 +650,7 @@ public class WxUserStructureController extends BaseController {
return new ResultData(ErrorCode.MEM_SCORE_NOT_ENOUGH);
}
// 2. 扣减积分
wxScoreRulesService.reduceScore(EnumScoreType.MEM_REDUCE, info, reason, score);
wxScoreRulesService.reduceScore(getTenantInfo(),EnumScoreType.MEM_REDUCE, info, reason, score);

return new ResultData();
}


+ 6
- 9
mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java View File

@@ -92,7 +92,7 @@ public class WxCUserBasicInfoController extends BaseController {
info.setLevel(WxLevelConfigService.DEFAULT_LEVEL);
} else {
info.setLevel(WxLevelConfigService.DEFAULT_LEVEL);
List<WxLevelConfig> levelList = wxLevelConfigService.getByTenantInfo(info);
List<WxLevelConfig> levelList = wxLevelConfigService.getByTenantInfo(getTenantInfo());
for (WxLevelConfig levelConfig : levelList) {
if (info.getPoins() >= levelConfig.getPoints()) {
info.setLevel(levelConfig.getLevel());
@@ -107,7 +107,7 @@ public class WxCUserBasicInfoController extends BaseController {
WxCUserTags uTag = wxCUserTagsService.getById(info.getTagId());
if (uTag != null && StringUtils.isNotBlank(uTag.getTags())) {
List<Long> ids = JSONObject.parseArray(uTag.getTags(), Long.class);
info.setTagsList(wxCUserTagsService.findTagList(info, ids));
info.setTagsList(wxCUserTagsService.findTagList(getTenantInfo(), ids));
}
}
}
@@ -147,7 +147,7 @@ public class WxCUserBasicInfoController extends BaseController {
wxCUserBasicInfo.setName(null);
}
}
wxCUserBasicInfo.updateTenantInfo(getTenantInfo());
wxCUserBasicInfo.undateFinalTenantId(getTenantInfo());
// wxCUserBasicInfo.setSortColumns(BaseEntity.SortField.ActiveTime_DESC);
PageInfo<WxCUserBasicInfo> page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageNum, pageSize);

@@ -163,7 +163,7 @@ public class WxCUserBasicInfoController extends BaseController {
private int checkUniquePhone(String phone, TenantEntity tenantEntity) {
WxCUserBasicInfo baseInfoQ = new WxCUserBasicInfo();
baseInfoQ.setPhone(phone);
baseInfoQ.updateTenantInfo(tenantEntity);
baseInfoQ.undateFinalTenantId(getTenantInfo());
return wxCUserBasicInfoService.countUser(baseInfoQ);
}

@@ -182,7 +182,6 @@ public class WxCUserBasicInfoController extends BaseController {
if(wxCUserBasicInfo.getBirthdate() != null && wxCUserBasicInfo.getBirthdate().after(new Date())){
return new ResultData(ErrorCode.USER_BIRTHDATE_AFTER.getCode(), "出生日期大于当前日期");
}
wxCUserBasicInfo.updateTenantInfo(tenantEntity);
if (StringUtils.isNotBlank(wxCUserBasicInfo.getTagIds())) {
WxCUserTags record = new WxCUserTags();
record.setUserId(oldInfo.getId());
@@ -226,8 +225,6 @@ public class WxCUserBasicInfoController extends BaseController {

if (info == null)
return new ResultData(ErrorCode.USER_IS_EMPTY);
info.updateTenantInfo(getTenantInfo());

setUserInfoTag(info);
setUserInfoLevel(info);
setUserInfoCar(info);
@@ -315,7 +312,7 @@ public class WxCUserBasicInfoController extends BaseController {
}
}

basicInfo.updateTenantInfo(getTenantInfo());
basicInfo.undateFinalTenantId(getTenantInfo());
int exportDataCount = wxCUserBasicInfoService.exportDataCount(basicInfo);
return new ResultData(exportDataCount);

@@ -338,7 +335,7 @@ public class WxCUserBasicInfoController extends BaseController {
}
}

basicInfo.updateTenantInfo(getTenantInfo());
basicInfo.undateFinalTenantId(getTenantInfo());
wxCUserBasicInfoService.exportData(basicInfo, request, response);

}


+ 2
- 2
mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java View File

@@ -117,7 +117,7 @@ public class WxCUserController extends BaseController {
wxCUserBasicInfo.setPhone(wxCUser.getPhone());
wxCUserBasicInfo.setUpdateDate(new Date());
wxCUserBasicInfoService.update(wxCUserBasicInfo);
wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo);
wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo);
//增加积分
addCredit(wxCUserBasicInfo, EnumScoreType.COMPLETE_INFO, wxCUserFromBDto.getUserId(), wxCUserFromB);
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo);
@@ -178,7 +178,7 @@ public class WxCUserController extends BaseController {
}
wxCUserBasicInfo.setPhone(wxCUser.getPhone());
wxCUserBasicInfoService.update(wxCUserBasicInfo);
wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo);
wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo);
//增加积分
addCredit(wxCUserBasicInfo, EnumScoreType.COMPLETE_INFO, wxCUserFromBDto.getUserId(), wxCUserFromB);
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo);


+ 0
- 1
mallinkCApi/src/main/java/com/iformall/controller/BaseController.java View File

@@ -212,7 +212,6 @@ public class BaseController {
basicInfo = new WxCUserBasicInfo();
final IdWorker idWorker = IdWorker.get();
basicInfo.setId(idWorker.nextId());
basicInfo.updateTenantInfo(tenantEntity);
basicInfo.undateFinalTenantId(tenantEntity);
basicInfo.setPhone(userPhone);
basicInfo.setNickName(userName);


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

@@ -339,7 +339,7 @@ public class WxCarController extends BaseController {
wxCUserCarService.saveOrUpdate(userCar);

// 成长值
wxScoreRulesService.addScore(EnumScoreType.BIND_CAR, userCar);
wxScoreRulesService.addScore(userCar,EnumScoreType.BIND_CAR, userCar);
//增加积分
addCredit(park, cuUserId);
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,cuUserId);
@@ -426,7 +426,7 @@ public class WxCarController extends BaseController {
userCar.setUpdateDate(curr);
try {
wxCUserCarService.save(userCar);
wxScoreRulesService.addScore(EnumScoreType.BIND_CAR, userCar);
wxScoreRulesService.addScore(userCar,EnumScoreType.BIND_CAR, userCar);
//增加积分
addCredit(park, cuUserId);
} catch (Exception e) {


+ 1
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java View File

@@ -180,7 +180,7 @@ public class WxOrderController extends BaseController {

if (user != null && user.getActRecord() > 0)
return new ResultData(ErrorCode.COUPON_ONLY_FOR_NEW_MEMBER);
if (wxOrderService.countCouponConditionType1(user) > 0)
if (wxOrderService.countCouponConditionType1(coupon.getTenantId(),user.getId()) > 0)
return new ResultData(ErrorCode.COUPON_ALREADY_IN_NEW_MEMBER);
}else if (jo.getIntValue("type") == EnumCouponConditionType.SCORE_SCOPE.getCode()){
int max = jo.getIntValue("max");


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

@@ -563,7 +563,7 @@ public class WxUserGrantController extends BaseController {
if(bFirstNickName) {
// 首次获取昵称
// 成长值
wxScoreRulesService.addScore(EnumScoreType.WECHAT_PERSION, user);
wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.WECHAT_PERSION, user);
//增加积分
wxCUserService.addCredit(user, EnumScoreType.WECHAT_PERSION);
}
@@ -668,7 +668,7 @@ public class WxUserGrantController extends BaseController {
if(isFirstPhone) {
// 首次授权, 增加成长值及积分
// 成长值
wxScoreRulesService.addScore(EnumScoreType.WECHAT_PHONE, user);
wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.WECHAT_PHONE, user);
// 增加积分
wxCUserService.addCredit(user, EnumScoreType.WECHAT_PHONE);
// 外部注券
@@ -905,7 +905,6 @@ public class WxUserGrantController extends BaseController {
wxCUserBasicInfo.getAddress() != null) {
WxCUserBasicInfo record = new WxCUserBasicInfo();
record.setId(getMemberId());
record.updateTenantInfo(tenantEntity);
record.setName(wxCUserBasicInfo.getName());
record.setAvatarUrl(wxCUserBasicInfo.getAvatarUrl());
record.setBirthdate(wxCUserBasicInfo.getBirthdate());
@@ -913,7 +912,7 @@ public class WxUserGrantController extends BaseController {
record.setAddress(wxCUserBasicInfo.getAddress());
record.setUpdateDate(new Date());
wxCUserBasicInfoService.update(record);
wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, record);
wxScoreRulesService.addScore(tenantEntity,EnumScoreType.COMPLETE_INFO, record);
//增加积分
WxCreditHistory wxCreditHistory = new WxCreditHistory();
wxCreditHistory.setCUserId(record.getId());


+ 2
- 2
mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java View File

@@ -2177,7 +2177,7 @@ public class PosServiceImpl implements PosService {
// 3. 成长值
try {
WxOrder scoreOrder = orderMapper.selectById(couponOrderCVo.getOrderId());
int point = scoreRulesService.addScore2(EnumScoreType.CONSUMPTION, scoreOrder, couponOrderCVo.getBusinessId());
int point = scoreRulesService.addScore2(merchantBUser,EnumScoreType.CONSUMPTION, scoreOrder, couponOrderCVo.getBusinessId());
scoreCreditCalc.setScore(scoreCreditCalc.getScore() + point);
} catch (Exception e) {
logger.error("交易核销成长值异常:" + e.getMessage());
@@ -2341,7 +2341,7 @@ public class PosServiceImpl implements PosService {
try {
WxOrder scoreOrder = orderMapper.selectById(order.getId());
scoreOrder.setPayment(neuPaymentAmount);
int point = scoreRulesService.addScore2(EnumScoreType.CONSUMPTION, scoreOrder, merchant.getBusinessId());
int point = scoreRulesService.addScore2(scoreOrder,EnumScoreType.CONSUMPTION, scoreOrder, merchant.getBusinessId());
scoreCreditCalc.setScore(scoreCreditCalc.getScore() + point);
} catch (Exception e) {
logger.error("交易核销成长值异常:" + e.getMessage());


+ 1
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java View File

@@ -294,7 +294,7 @@ public class CouponSendSchedule {
//本次之前的20分钟
now.set(Calendar.MINUTE, now.get(Calendar.MINUTE) - 30);
Map<String, Object> params = new HashMap<>();
params.put("tenantId", wxCUserBasicInfo.getTenantId());
params.put("tenantId", mall.getTenantId());
params.put("cUserId", wxCUserBasicInfo.getId());
params.put("couponId", null);
params.put("startTime", startTime);


+ 6
- 6
mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java View File

@@ -170,11 +170,11 @@ public class WxCUserBasicInfo extends BaseEntity {
return Objects.hash(this.phone);
}
// public void undateFinalTenantId(TenantEntity tenantEntity){
// setFinalTenantId(tenantEntity.getTenantId());
// if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){
// setFinalTenantId(tenantEntity.getParentTenantId());
// }
// }
public void undateFinalTenantId(TenantEntity tenantEntity){
setFinalTenantId(tenantEntity.getTenantId());
if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){
setFinalTenantId(tenantEntity.getParentTenantId());
}
}

}

+ 0
- 8
mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java View File

@@ -35,14 +35,6 @@ public class BaseTenantEntity extends BaseEntity {
}
}
public void updateTenantInfoByUserInfo(WxCUserBasicInfo userBase) {
log.info("info.tenantId:"+info.getTenantId()+". info.parentTenantId:"+info.getParentTenantId()+".");
setTenantId(info.getTenantId());
if (StringUtils.isNotBlank(info.getParentTenantId())) {
setParentTenantId(info.getParentTenantId());
}
}

public void updateTenantInfo(BaseTenantEntity info) {
setTenantId(info.getTenantId());
if (StringUtils.isNotBlank(info.getParentTenantId())) {


+ 18
- 16
mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java View File

@@ -4,6 +4,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.StringUtils;

import com.iformall.domain.po.WxCUserBasicInfo;

/**
* @author Stormeye
* @date 2019/4/24 14:32
@@ -32,20 +34,20 @@ public class TenantEntity extends BaseEntity {
setParentTenantId(info.getParentTenantId());
}
}
public void updateFinalTenantInfo(TenantEntity info){
if (StringUtils.isNotBlank(info.getParentTenantId())) {
setParentTenantId(info.getParentTenantId());
}else{
setTenantId(info.getTenantId());
}
}
public void updateFinalTenantInfo(BaseTenantEntity info){
if (StringUtils.isNotBlank(info.getParentTenantId())) {
setParentTenantId(info.getParentTenantId());
}else{
setTenantId(info.getTenantId());
}
}
// public void updateFinalTenantInfo(TenantEntity info){
// if (StringUtils.isNotBlank(info.getParentTenantId())) {
// setParentTenantId(info.getParentTenantId());
// }else{
// setTenantId(info.getTenantId());
// }
// }
//
// public void updateFinalTenantInfo(BaseTenantEntity info){
// if (StringUtils.isNotBlank(info.getParentTenantId())) {
// setParentTenantId(info.getParentTenantId());
// }else{
// setTenantId(info.getTenantId());
// }
// }
}

+ 1
- 0
mallinkService/src/main/java/com/iformall/service/WxActivityJoinService.java View File

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxActivity;
import com.iformall.domain.po.WxActivityJoin;
import com.iformall.domain.po.base.TenantEntity;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


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

@@ -203,7 +203,7 @@ public interface WxOrderService {
*/
WxOrder getUnPaidOrder(WxCUserBasicInfo cUser, WxCoupon coupon);

int countCouponConditionType1(WxCUserBasicInfo user);
int countCouponConditionType1(String subTenantId,Long cUserId);
/**
* 订单处理
* 1. 检查coupon是否免费


+ 3
- 3
mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java View File

@@ -46,17 +46,17 @@ public interface WxScoreRulesService {
/**
* 增加成长值
*/
int addScore(EnumScoreType scoreType, Object param);
int addScore(TenantEntity tenantEntity,EnumScoreType scoreType, Object param);

/**
* 增加成长值
*/
int addScore2(EnumScoreType scoreType, Object param1, Object param2);
int addScore2(TenantEntity tenantEntity,EnumScoreType scoreType, Object param1, Object param2);

/**
* 扣减成长值
*/
int reduceScore(EnumScoreType scoreType, Object param1, Object param2, Object param3);
int reduceScore(TenantEntity tenantEntity,EnumScoreType scoreType, Object param1, Object param2, Object param3);

List<WxScoreRules> findList(WxScoreRules wxScoreRules);



+ 1
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java View File

@@ -9,6 +9,7 @@ import com.iformall.common.IdWorker;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.msg.WxMsgRecord;
import com.iformall.domain.vo.WxActivityJoinQuestionAnswer;
import com.iformall.enums.*;


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

@@ -954,9 +954,9 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
// 成长值
if (points != null) {
if (oldUserBase != null) {
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, oldUserBase, bHaveCUser);
wxScoreRulesService.addScore2(mallUserInfo,EnumScoreType.MEM_IMPORT, oldUserBase, bHaveCUser);
} else {
wxScoreRulesService.addScore2(EnumScoreType.MEM_IMPORT, userBase, bHaveCUser);
wxScoreRulesService.addScore2(mallUserInfo,EnumScoreType.MEM_IMPORT, userBase, bHaveCUser);
}
}
//积分处理逻辑:覆盖原积分 记录历史


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java View File

@@ -261,7 +261,7 @@ public class WxCUserServiceImpl implements WxCUserService {
int credit = 0;
// 成长值
try {
score = wxScoreRulesService.addScore(EnumScoreType.LOGIN, user);
score = wxScoreRulesService.addScore(user,EnumScoreType.LOGIN, user);
} catch (MallinkException e) {
logger.error("c_user 成长值 " + e.getMessage());
} catch (Exception e) {


+ 4
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java View File

@@ -115,7 +115,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
return null;
WxCUserTags record = new WxCUserTags();
record.setUserId(user.getId());
record.updateTenantInfo(user);
record.setTenantId(user.getFinalTenantId());
//record.updateTenantInfo(user);
List<WxCUserTags> cUserTagsList = wxCUserTagsMapper.findList(record);
if (cUserTagsList.size() > 0) {
record.setId(cUserTagsList.get(0).getId());
@@ -165,7 +166,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
return null;
WxCUserTags record = new WxCUserTags();
record.setUserId(user.getId());
record.updateTenantInfo(user);
record.setTenantId(user.getFinalTenantId());
//record.updateTenantInfo(user);
List<WxCUserTags> cUserTagsList = wxCUserTagsMapper.findList(record);
if (cUserTagsList.size() > 0) {
record.setId(cUserTagsList.get(0).getId());


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java View File

@@ -282,7 +282,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
// 成长值
try {
orderUpdate.setPayment(real_payment);
wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, orderUpdate, coupon.getBusiness());
wxScoreRulesService.addScore2(coupon,EnumScoreType.CONSUMPTION, orderUpdate, coupon.getBusiness());
} catch (Exception e) {
logger.error("成长值:" + e.getMessage());
}
@@ -900,7 +900,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
orderUpdate.setPayment(record.getRealPayment());
orderUpdate.setPaymentTime(record.getUpdateDate());
orderUpdate.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
int point = wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, orderUpdate, coupon.getBusiness());
int point = wxScoreRulesService.addScore2(coupon,EnumScoreType.CONSUMPTION, orderUpdate, coupon.getBusiness());
scoreCreditCalc.setScore(scoreCreditCalc.getScore() + point);
} catch (Exception e) {
logger.error("成长值:" + e.getMessage());


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java View File

@@ -404,7 +404,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
// 成长值
try {
WxOrder order = wxOrderMapper.selectById(couponOrder.getOrderId());
wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness());
wxScoreRulesService.addScore2(bUser,EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness());
} catch (Exception e) {
logger.error("成长值:" + e.getMessage());
}
@@ -435,7 +435,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
// 成长值
try {
WxOrder order = wxOrderMapper.selectById(couponOrder.getOrderId());
wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness());
wxScoreRulesService.addScore2(couponOrder,EnumScoreType.CONSUMPTION, order, wxCoupon.getBusiness());
} catch (Exception e) {
logger.error("成长值:" + e.getMessage());
}


+ 5
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java View File

@@ -227,7 +227,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
if (record.getCreditType().equals(EnumScoreType.CONSUMPTION.getCode()) || record.getCreditType().equals(EnumScoreType.SPEND_CREDIT.getCode())) {
//等级积分配置
try {
creditChangeNum = CreditUtil.calUserCredit(creditChangeNumOrigin, wxCUserBasicInfo, wxScoreRulesService,wxLevelConfigMapper);
creditChangeNum = CreditUtil.calUserCredit(record,creditChangeNumOrigin, wxCUserBasicInfo, wxScoreRulesService,wxLevelConfigMapper);
if (Objects.nonNull(CreditUtil.getIsBirthDayScale())) {
hasBirthDateCredit = true;
}
@@ -327,7 +327,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
credit = payAddCredit(wxCreditHistory);
if (Objects.nonNull(userId)) {
WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(userId);
creditNew = CreditUtil.calUserCredit(credit, wxCUserBasicInfo, wxScoreRulesService,wxLevelConfigMapper);
creditNew = CreditUtil.calUserCredit(tenantEntity,credit, wxCUserBasicInfo, wxScoreRulesService,wxLevelConfigMapper);
} else {
creditNew = credit;
}
@@ -415,9 +415,9 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
return wxScoreRules.getRule(EnumScoreType.WECHAT_PHONE, WxScoreRules.SCORE);
}

private int checkCompleteInfoScoreCount(WxCUserBasicInfo cUser) {
private int checkCompleteInfoScoreCount(TenantEntity tenantEntity,WxCUserBasicInfo cUser) {
WxCreditHistory wxCreditHistory = new WxCreditHistory();
wxCreditHistory.updateTenantInfo(cUser);
wxCreditHistory.updateTenantInfo(tenantEntity);
wxCreditHistory.setCUserId(cUser.getId());
wxCreditHistory.setCreditType(EnumScoreType.COMPLETE_INFO.getCode());
return wxCreditHistoryMapper.countList(wxCreditHistory);
@@ -425,7 +425,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {

private int infoAddCredit(WxCreditHistory record) {
WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectById(record.getCUserId());
if (user == null || checkCompleteInfoScoreCount(user) > 0)
if (user == null || checkCompleteInfoScoreCount(record,user) > 0)
return 0;
// 1. 获取score rules
WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(record);


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

@@ -453,13 +453,13 @@ public class WxOrderServiceImpl implements WxOrderService {
* @param user
* @return
*/
public int countCouponConditionType1(WxCUserBasicInfo user) {
public int countCouponConditionType1(String subTenantId,Long cuserId) {
// + Order 待支付
try {
WxOrder orderQ = new WxOrder();
orderQ.setTenantId(user.getTenantId());
orderQ.setTenantId(subTenantId);
orderQ.setType(EnumOrderType.COUPON.getCode());
orderQ.setCUserId(user.getId());
orderQ.setCUserId(cuserId);
List<Integer> statusS = new ArrayList<>();
statusS.add(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode());
statusS.add(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
@@ -473,7 +473,7 @@ public class WxOrderServiceImpl implements WxOrderService {
orderQ.setStatusS(statusS);
return wxOrderMapper.countCouponConditionType1(orderQ);
} catch (Exception e) {
logger.error("用户正在参加的新手活动, userId: " + user.getId() + ", e:" + e.getMessage());
logger.error("用户正在参加的新手活动, userId: " + cuserId + ", e:" + e.getMessage());
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND);
}
}
@@ -1528,7 +1528,7 @@ public class WxOrderServiceImpl implements WxOrderService {

// 成长值 计算
try {
wxScoreRulesService.addScore2(EnumScoreType.CONSUMPTION, updateOrder, wxMerchant.getBusinessId());
wxScoreRulesService.addScore2(bUser,EnumScoreType.CONSUMPTION, updateOrder, wxMerchant.getBusinessId());
} catch (Exception e) {
logger.error("成长值:" + e.getMessage());
}
@@ -2265,7 +2265,7 @@ public class WxOrderServiceImpl implements WxOrderService {
int left_total = total;
WxOrderPress orderPress = new WxOrderPress();
orderPress.setId(IdWorker.get().nextId());
orderPress.updateTenantInfo(user);
orderPress.updateTenantInfo(coupon);
orderPress.setCouponId(record.getProductId());
orderPress.setOrderId(orderNumber);
orderPress.setUserId(user.getId());


+ 2
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java View File

@@ -23,7 +23,7 @@ import com.iformall.service.pay.entity.PayExtraParam;
import com.iformall.service.pay.service.pay.CDrivingPayService;
import com.iformall.service.pay.service.pay.CPassivePayService;
import com.iformall.service.pay.service.pay.PayAdapterService;
import com.iformall.service.pay.service.pay.entity.GetUser;
import com.iformall.service.pay.service.pay.entity.CreateUser;
import com.iformall.service.pay.service.pay.entity.PayAdapterResult;
import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult;
import com.iformall.service.pay.service.share.entity.ShareNotifyAdapterResult;
@@ -861,9 +861,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void handleMicroOrderPaySuccess(Object result,String transcationId,EnumPayWay payWay, WxPayOrder record ,WxMerchantBUser user,WxAppinfo appInfo,PayExtraParam params) {
//B端操作,需要生成cUser
GetUser cUser = null;
CreateUser cUser = null;
try {
11111111111111111
cUser = payServiceFactory.getCPassivePayService(payWay.getCode()).createCUserAfterPay(result, appInfo);
} catch (Exception e1) {
logger.error("创建C端用户失败: " ,e1);


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

@@ -314,21 +314,21 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
return wxScoreHistoryMapper.countTodayList(scoreHistory);
}

private int loginAddScore(WxCUserBasicInfo user) {
private int loginAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) {
int addScoreNumber = 0;

if (checkTodayLoginScoreCount(user) > 0)
return 0;

// 1. score_rules
WxScoreRules scoreRules = getScoreRules(user);
WxScoreRules scoreRules = getScoreRules(tenantEntity);

// 2. 增长的成长值
addScoreNumber = scoreRules.getRule(EnumScoreType.LOGIN,WxScoreRules.SCORE);
updateScore(user.getId(), addScoreNumber);

// 3. 记录历史
recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.LOGIN);
recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.LOGIN);

return addScoreNumber;
}
@@ -392,10 +392,10 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
}


private int bindCarAddScore(WxCUserBasicInfo user) {
private int bindCarAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) {
int addScoreNumber = 0;
// 1. 获取score rules
WxScoreRules scoreRules = getScoreRules(user);
WxScoreRules scoreRules = getScoreRules(tenantEntity);

// 2. 获取成长值
addScoreNumber = scoreRules.getRule(EnumScoreType.BIND_CAR,WxScoreRules.SCORE);
@@ -404,14 +404,14 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
updateScore(user.getId(), addScoreNumber);

// 4. 记录历史
recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.BIND_CAR);
recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.BIND_CAR);
return addScoreNumber;
}

private int personAddScore(WxCUserBasicInfo user) {
private int personAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) {
int addScoreNumber = 0;
// 1. 获取score rules
WxScoreRules scoreRules = getScoreRules(user);
WxScoreRules scoreRules = getScoreRules(tenantEntity);

// 2. 获取成长值
addScoreNumber = scoreRules.getRule(EnumScoreType.WECHAT_PERSION,WxScoreRules.SCORE);
@@ -420,14 +420,14 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
updateScore(user.getId(), addScoreNumber);

// 4. 记录历史
recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.WECHAT_PERSION);
recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.WECHAT_PERSION);
return addScoreNumber;
}

private int phoneAddScore(WxCUserBasicInfo user) {
private int phoneAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) {
int addScoreNumber = 0;
// 1. 获取score rules
WxScoreRules scoreRules = getScoreRules(user);
WxScoreRules scoreRules = getScoreRules(tenantEntity);

// 2. 获取成长值
addScoreNumber = scoreRules.getRule(EnumScoreType.WECHAT_PHONE,WxScoreRules.SCORE);
@@ -436,7 +436,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
updateScore(user.getId(), addScoreNumber);

// 4. 记录历史
recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.WECHAT_PHONE);
recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.WECHAT_PHONE);
return addScoreNumber;
}

@@ -447,13 +447,13 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
return wxScoreHistoryMapper.countList(scoreHistory);
}

private int infoAddScore(WxCUserBasicInfo user) {
private int infoAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) {
int addScoreNumber = 0;
if (checkCompleteInfoScoreCount(user) > 0)
return 0;

// 1. 获取score rules
WxScoreRules scoreRules = getScoreRules(user);
WxScoreRules scoreRules = getScoreRules(tenantEntity);

// 2. 获取成长值
addScoreNumber = scoreRules.getRule(EnumScoreType.COMPLETE_INFO,WxScoreRules.SCORE);
@@ -462,18 +462,18 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
updateScore(user.getId(), addScoreNumber);

// 4. 记录历史
recordScoreHistory(addScoreNumber, user, user.getId(), EnumScoreType.COMPLETE_INFO);
recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.COMPLETE_INFO);
return addScoreNumber;
}

private int memResetScore(WxCUserBasicInfo userInfo, boolean bHaveCUser) {
private int memResetScore(TenantEntity tenantEntity,WxCUserBasicInfo userInfo, boolean bHaveCUser) {

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

private int memReduceScore(WxCUserBasicInfo userInfo, String reason, Integer scoreNum) {
private int memReduceScore(TenantEntity tenantEntity,WxCUserBasicInfo userInfo, String reason, Integer scoreNum) {
int score = userInfo.getPoins() - scoreNum;

// 1. update score/ 修改basic表积分
@@ -491,15 +491,15 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
// }

// 2. 记录历史
recordReduceScoreHistory(scoreNum, reason, userInfo, userInfo.getId(), EnumScoreType.MEM_REDUCE);
recordReduceScoreHistory(scoreNum, reason, tenantEntity, userInfo.getId(), EnumScoreType.MEM_REDUCE);
return score;
}

private void recordScoreHistory(WxCUserBasicInfo userInfo, EnumScoreType wechatPhone) {
private void recordScoreHistory(TenantEntity tenantEntity,WxCUserBasicInfo userInfo, EnumScoreType wechatPhone) {
final IdWorker idWorker = IdWorker.get();
WxScoreHistory history = new WxScoreHistory();
history.setId(idWorker.nextId());
history.updateTenantInfo(userInfo);
history.updateTenantInfo(tenantEntity);
history.setCUserId(userInfo.getId());
history.setCreateDate(new Date());
history.setScoreType(wechatPhone.getCode());
@@ -550,7 +550,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
}

@Override
public int addScore(EnumScoreType scoreType, Object param) {
public int addScore(TenantEntity tenantEntity,EnumScoreType scoreType, Object param) {
WxCUser wxCUser = null;
WxCUserCar userCar = null;
WxCUserBasicInfo userBasicInfo = null;
@@ -578,19 +578,19 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
}
switch (scoreType){
case LOGIN: {
return loginAddScore(wxCUserBasicInfo);
return loginAddScore(tenantEntity,wxCUserBasicInfo);
}
case BIND_CAR:{
return bindCarAddScore(wxCUserBasicInfo);
return bindCarAddScore(tenantEntity,wxCUserBasicInfo);
}
case WECHAT_PERSION:{
return personAddScore(wxCUserBasicInfo);
return personAddScore(tenantEntity,wxCUserBasicInfo);
}
case WECHAT_PHONE:{
return phoneAddScore(wxCUserBasicInfo);
return phoneAddScore(tenantEntity,wxCUserBasicInfo);
}
case COMPLETE_INFO:{
return infoAddScore(wxCUserBasicInfo);
return infoAddScore(tenantEntity,wxCUserBasicInfo);
}

default: {
@@ -600,7 +600,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
}

@Override
public int addScore2(EnumScoreType scoreType, Object param1, Object param2) {
public int addScore2(TenantEntity tenantEntity,EnumScoreType scoreType, Object param1, Object param2) {

WxOrder order = null;
WxCUserBasicInfo user = null;
@@ -627,7 +627,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
}
case MEM_IMPORT: {
boolean bHaveCUser = (boolean)(param2);
return memResetScore(user, bHaveCUser);
return memResetScore(tenantEntity,user, bHaveCUser);
}
default:
break;
@@ -636,7 +636,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
}

@Override
public int reduceScore(EnumScoreType scoreType, Object param1, Object param2, Object param3) {
public int reduceScore(TenantEntity tenantEntity,EnumScoreType scoreType, Object param1, Object param2, Object param3) {
WxCUserBasicInfo user = (WxCUserBasicInfo) param1;
if (user != null && user.getStatus().equals(EnumCUserBasicInfoStatus.LOCKED.getCode())) {
logger.info("会员权益被锁定:cUserId:" + user.getId());
@@ -646,7 +646,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService {
case MEM_REDUCE: {
String reason = (String)param2;
Integer scoreNum = (Integer)param3;
return memReduceScore(user, reason, scoreNum);
return memReduceScore(tenantEntity,user, reason, scoreNum);
}
default:
break;


+ 41
- 6
mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java View File

@@ -12,15 +12,18 @@ import com.iformall.common.IdWorker;
import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxMall;
import com.iformall.domain.po.WxOrder;
import com.iformall.domain.po.WxPayAccount;
import com.iformall.domain.po.WxPayOrder;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumPayMode;
import com.iformall.enums.EnumPayShare;
import com.iformall.enums.EnumUserIsSubscribe;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxCUserBasicInfoMapper;
import com.iformall.mapper.WxCUserMapper;
import com.iformall.mapper.WxMallMapper;
import com.iformall.pay.WxMicroPayOrderP;
import com.iformall.pay.WxMicroPayOrderSP;
import com.iformall.pay.WxPay;
@@ -201,6 +204,8 @@ public class WxMiniMaPayAdapterService extends BaseWxPayAdapterService implement
WxCUserService wxCUserService;
@Autowired
WxCUserBasicInfoMapper wxCUserBasicInfoMapper;
@Autowired
WxMallMapper wxMallMapper;
@Override
public CreateUser createCUserAfterPay(Object result,WxAppinfo appInfo) throws Exception {
@@ -212,19 +217,49 @@ public class WxMiniMaPayAdapterService extends BaseWxPayAdapterService implement
String isSubscribe = returnMap.get("sub_is_subscribe");
userQ.setOpenId(openId);
userQ.setAppId(appInfo.getAppId());
WxMall mall = wxMallMapper.getByTenantId(appInfo.getTenantId());
WxCUser user1 = wxCUserMapper.findByOpenId(userQ);
boolean userCreate = false;
final IdWorker idWorker = IdWorker.get();
Long userId = idWorker.nextId();
if (user1 == null) {
user1 = new WxCUser();
user1.setAppId(appInfo.getAppId());
user1.setOpenId(openId);
1111111111111111
user1.updateTenantInfo(appInfo);
wxCUserService.saveOrUpdate(user1);
user1.setTenantId(appInfo.getTenantId());
user1.setParentTenantId(mall.getParentTenantId());
int count = wxCUserService.saveOrUpdate(user1);
if (count <=0 ) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(), "微信扫码支付添加微信C端用户失败");
}
}else {
if (user1.isBasicInfo()) {
userId = user1.getUserId();
}
}
WxCUserBasicInfo basicInfo = wxCUserBasicInfoMapper.selectById(userId);
if (null == basicInfo) {
basicInfo = new WxCUserBasicInfo();
basicInfo.setId(userId);
basicInfo.setPhone(openId);
basicInfo.setNickName("微信扫码支付非会员用户");
basicInfo.undateFinalTenantId(new TenantEntity() {{
setTenantId(mall.getTenantId());
setParentTenantId(mall.getParentTenantId());
}});
basicInfo.setCreateDate(new Date());
int count = wxCUserBasicInfoMapper.insert(basicInfo);
if (count <=0 ) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(), "微信扫码支付添加会员用户失败");
}
userCreate = true;
}
if (userCreate) {
user1.setUserId(userId);
wxCUserService.saveOrUpdate(user1);
}
return null;
return new CreateUser(user1.getId(),userId);
}

@Override


+ 5
- 5
mallinkService/src/main/java/com/iformall/utils/CreditUtil.java View File

@@ -24,7 +24,7 @@ public class CreditUtil {
* @param wxLevelConfigMapper
* @return
*/
public static int calUserCredit(int creditOrigin, WxCUserBasicInfo wxCUserBasicInfo, WxScoreRulesService wxScoreRulesService, WxLevelConfigMapper wxLevelConfigMapper) {
public static int calUserCredit(TenantEntity tenantEntity,int creditOrigin, WxCUserBasicInfo wxCUserBasicInfo, WxScoreRulesService wxScoreRulesService, WxLevelConfigMapper wxLevelConfigMapper) {
Long userId = wxCUserBasicInfo.getId();
Integer score = wxCUserBasicInfo.getPoins();
String tenantId = wxCUserBasicInfo.getFinalTenantId();
@@ -34,7 +34,7 @@ public class CreditUtil {
int levelScale = getLevelScale(score, levelScaleConfig);

// 获取生日积分倍率:
int birthdayScale = getBirthdayScale(wxCUserBasicInfo, wxScoreRulesService);
int birthdayScale = getBirthdayScale(tenantEntity,wxCUserBasicInfo, wxScoreRulesService);

int creditNew = new BigDecimal(creditOrigin)
.multiply(new BigDecimal(levelScale))
@@ -76,7 +76,7 @@ public class CreditUtil {
* @param wxScoreRulesService
* @return
*/
private static int getBirthdayScale(WxCUserBasicInfo wxCUserBasicInfo, WxScoreRulesService wxScoreRulesService) {
private static int getBirthdayScale(TenantEntity tenantEntity,WxCUserBasicInfo wxCUserBasicInfo, WxScoreRulesService wxScoreRulesService) {
int birthdayScale = WxScoreRules.DEFAULT_SCALE;
if (Objects.isNull(wxCUserBasicInfo) || StringUtils.isBlank(wxCUserBasicInfo.getPhone())) {
return 0;
@@ -86,14 +86,14 @@ public class CreditUtil {
if(Objects.isNull(wxCUserBasicInfo.getScoreDate())) {
//设置过生日的用户
if (Objects.nonNull(wxCUserBasicInfo.getBirthdate()) && DateUtils.birthdaysBetween(wxCUserBasicInfo.getBirthdate()) == 0) {
birthdayScale = getBirthdayScoreScale(wxCUserBasicInfo, wxScoreRulesService);
birthdayScale = getBirthdayScoreScale(tenantEntity,wxScoreRulesService);
} else {
log.info("积分倍率计算:未设置生日或生日条件未匹配={}", wxCUserBasicInfo.getScoreDate());
}
} else {
//发过生日券的用户或者享受过生日积分倍率的用户
if (Objects.nonNull(wxCUserBasicInfo.getScoreDate()) && DateUtils.birthdaysBetween(wxCUserBasicInfo.getScoreDate()) == 0) {
birthdayScale = getBirthdayScoreScale(wxCUserBasicInfo, wxScoreRulesService);
birthdayScale = getBirthdayScoreScale(tenantEntity, wxScoreRulesService);
}
}



Loading…
Cancel
Save