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

微信用户昵称授权

release_toaliyun_real
xhxu 5 лет назад
Родитель
Сommit
42b3206974
5 измененных файлов: 145 добавлений и 192 удалений
  1. +47
    -72
      mallinkCApi/src/main/java/com/iformall/controller/BaseController.java
  2. +7
    -27
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  3. +86
    -86
      mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java
  4. +3
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java
  5. +2
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java

+ 47
- 72
mallinkCApi/src/main/java/com/iformall/controller/BaseController.java Просмотреть файл

@@ -5,7 +5,6 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.domain.po.base.BaseCUserEntity; import com.iformall.domain.po.base.BaseCUserEntity;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumAppPlat;
import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxCUserBasicInfo;
@@ -13,8 +12,6 @@ import com.iformall.exception.MallinkException;
import com.iformall.service.CUserTokenService; import com.iformall.service.CUserTokenService;
import com.iformall.service.WxAppinfoService; import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCUserService;
import com.iformall.service.cuser.CUserServiceFactory;
import com.iformall.service.wechat.FmOpenService; import com.iformall.service.wechat.FmOpenService;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
@@ -22,10 +19,11 @@ import com.iformall.utils.MaUtil;
import com.iformall.utils.RedisCacheUtils; import com.iformall.utils.RedisCacheUtils;


import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@@ -37,15 +35,14 @@ import java.beans.PropertyEditorSupport;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.concurrent.TimeUnit;


@RestController @RestController
public class BaseController { public class BaseController {
@Autowired
private boolean isFmOpen;
private final Logger logger = LoggerFactory.getLogger(this.getClass());


@Autowired @Autowired
private WxCUserService wxCUserService;
private boolean isFmOpen;


@Autowired @Autowired
private WxAppinfoService wxAppinfoService; private WxAppinfoService wxAppinfoService;
@@ -104,17 +101,10 @@ public class BaseController {


public String getFinalTenantId() { public String getFinalTenantId() {
TenantEntity tenantEntity = getTenantInfo(); TenantEntity tenantEntity = getTenantInfo();
String tenantId = tenantEntity.getTenantId();
return tenantEntity.getFinalTenantId(); return tenantEntity.getFinalTenantId();
} }
// public Long getUserId() {
// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
// Long cUserId = (Long) request.getAttribute(Constant.LOGIN_USER_KEY);
// return cUserId;
// }


public Long getMemberId() throws Exception {
public Long getMemberId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Long memberId = (Long) request.getAttribute(Constant.LOGIN_MEMBER_KEY); Long memberId = (Long) request.getAttribute(Constant.LOGIN_MEMBER_KEY);
if(memberId == null){ if(memberId == null){
@@ -130,8 +120,7 @@ public class BaseController {
public WxCUser getWxCUser() { public WxCUser getWxCUser() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
BaseCUserEntity baseuser = (BaseCUserEntity) request.getAttribute(Constant.REQUEST_C_USER_KEY); BaseCUserEntity baseuser = (BaseCUserEntity) request.getAttribute(Constant.REQUEST_C_USER_KEY);
// Long cUserId = getUserId();
// WxCUser user = wxCUserService.getById(cUserId);

if (baseuser == null) { if (baseuser == null) {
throw new MallinkException(ErrorCode.USER_IS_EMPTY); throw new MallinkException(ErrorCode.USER_IS_EMPTY);
} }
@@ -190,14 +179,6 @@ public class BaseController {
String shortKey = "webapp:short:member:"+memberId; String shortKey = "webapp:short:member:"+memberId;
RedisCacheUtils.removeCache(cuserBasicInfoTemplate, shortKey); RedisCacheUtils.removeCache(cuserBasicInfoTemplate, shortKey);
} }
// public WxCUserBasicInfo getMember() throws Exception {
// Long memberId = getMemberId();
// WxCUserBasicInfo member = wxCUserBasicInfoService.getById(memberId);
// if (member == null) {
// throw new MallinkException(ErrorCode.USER_IS_EMPTY);
// }
// return member;
// }


public WxAppinfo getAppInfo(String appId) { public WxAppinfo getAppInfo(String appId) {
return wxAppinfoService.getByAppId(appId); return wxAppinfoService.getByAppId(appId);
@@ -236,62 +217,56 @@ public class BaseController {
byId = wxCUserBasicInfoService.getById(userId,getFinalTenantId()); byId = wxCUserBasicInfoService.getById(userId,getFinalTenantId());
} }


// List<WxCUserBasicInfo> list = wxCUserBasicInfoService.findByPhone(tenantEntity, phone);
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, userPhone); WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, userPhone);


if (basicInfo != null) { if (basicInfo != null) {
if(byId != null && !byId.getPhone().equals(basicInfo.getPhone())){
return Long.valueOf(-1);
if (byId != null) {
if (!byId.getId().equals(basicInfo.getId())) {
//数据库存在此手机号的会员,并且当前微信存在另一手机号会员
logger.error("会员" + userId + "更换手机号时,当前手机号会员表已存在:" + userPhone);
return Long.valueOf(-1);
}
} }
if(!basicInfo.getTenantId().contains(","+tenantEntity.getTenantId()+",")){
basicInfo.setTenantId(basicInfo.getTenantId()+tenantEntity.getTenantId()+",");
wxCUserBasicInfoService.update(basicInfo);
if (!basicInfo.getTenantId().contains("," + tenantEntity.getTenantId() + ",")) {
basicInfo.setTenantId(basicInfo.getTenantId() + tenantEntity.getTenantId() + ",");
} }
// WxCUserBasicInfo basicInfo = list.get(0);
// 微信名称,统一成微信昵称
// if (!Objects.equals(basicInfo.getNickName(), user.getNickName())) {
// basicInfo.setNickName(user.getNickName());
// }
// // 性别
// if (basicInfo.getSex() == null) {
// basicInfo.setSex(user.getGender());
// }
// // 成长值
// if (Objects.nonNull(user.getScore())) {
// basicInfo.setPoins(user.getScore());
// }
// // 积分
// if (Objects.nonNull(user.getCredit())) {
// basicInfo.setCredit(user.getCredit());
// }
//wxCUserBasicInfoService.updateObj(basicInfo, user);
return basicInfo.getId();
} else if(byId != null){
byId.setPhone(userPhone);
byId.setNickName(userName);
byId.setAvatarUrl(avatarUrl);
byId.setSex(sex);
wxCUserBasicInfoService.update(byId);
removeCacheMember(byId.getId());
return byId.getId();
}else{
Date cur = new Date();
basicInfo = new WxCUserBasicInfo();
final IdWorker idWorker = IdWorker.get();
basicInfo.setId(idWorker.nextId());
basicInfo.setTenantId(","+tenantEntity.getTenantId()+",");
basicInfo.undateFinalTenantId(tenantEntity);
basicInfo.setPhone(userPhone);
basicInfo.setNickName(userName); basicInfo.setNickName(userName);
basicInfo.setAvatarUrl(avatarUrl); basicInfo.setAvatarUrl(avatarUrl);
basicInfo.setSex(sex); basicInfo.setSex(sex);
basicInfo.setLoginCount(1);
basicInfo.setActiveTime(cur);
basicInfo.setCreateDate(cur);
basicInfo.setUpdateDate(cur);
wxCUserBasicInfoService.save(basicInfo);
wxCUserBasicInfoService.update(basicInfo);
removeCacheMember(basicInfo.getId()); removeCacheMember(basicInfo.getId());
return basicInfo.getId(); return basicInfo.getId();
} else {
if (byId != null) {
if (!byId.getTenantId().contains("," + tenantEntity.getTenantId() + ",")) {
byId.setTenantId(byId.getTenantId() + tenantEntity.getTenantId() + ",");
}
byId.setPhone(userPhone);
byId.setNickName(userName);
byId.setAvatarUrl(avatarUrl);
byId.setSex(sex);
wxCUserBasicInfoService.update(byId);
removeCacheMember(basicInfo.getId());
return byId.getId();
} else {
Date cur = new Date();
basicInfo = new WxCUserBasicInfo();
final IdWorker idWorker = IdWorker.get();
basicInfo.setId(idWorker.nextId());
basicInfo.setTenantId("," + tenantEntity.getTenantId() + ",");
basicInfo.setFinalTenantId(tenantEntity.getFinalTenantId());
basicInfo.setPhone(userPhone);
basicInfo.setNickName(userName);
basicInfo.setAvatarUrl(avatarUrl);
basicInfo.setSex(sex);
basicInfo.setLoginCount(1);
basicInfo.setActiveTime(cur);
basicInfo.setCreateDate(cur);
basicInfo.setUpdateDate(cur);
wxCUserBasicInfoService.save(basicInfo);
removeCacheMember(basicInfo.getId());
return basicInfo.getId();
}
} }
} }




+ 7
- 27
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Просмотреть файл

@@ -549,11 +549,6 @@ public class WxUserGrantController extends BaseController {
if (user != null) { if (user != null) {
logger.debug(user.toString()); logger.debug(user.toString());


// boolean bFirstNickName = false;
// if(StringUtils.isNoneEmpty(user.getNickName())) {
// bFirstNickName = true;
// }

WxMaService wxMaService = getWeappService(user.getAppId()); WxMaService wxMaService = getWeappService(user.getAppId());


String session_key = user.getSessionKey(); String session_key = user.getSessionKey();
@@ -592,13 +587,6 @@ public class WxUserGrantController extends BaseController {


removeCacheCUser(); removeCacheCUser();


// if(bFirstNickName) {
// // 首次获取昵称
// // 成长值
// wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.WECHAT_PERSION, user);
// //增加积分
// wxCUserService.addCredit(user, EnumScoreType.WECHAT_PERSION);
// }
resultMap.put("openId", user.getOpenId()); resultMap.put("openId", user.getOpenId());
resultMap.put("unionId", user.getUnionId()); resultMap.put("unionId", user.getUnionId());
resultMap.put("msg", "获取用户信息成功!"); resultMap.put("msg", "获取用户信息成功!");
@@ -624,9 +612,9 @@ public class WxUserGrantController extends BaseController {
@PostMapping("/getUserPhone") @PostMapping("/getUserPhone")
@ApiOperation(value = "授权后获取用户的手机号", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}") @ApiOperation(value = "授权后获取用户的手机号", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}")
public ResultData getUserPhone(@RequestBody Map<String, String> map) { public ResultData getUserPhone(@RequestBody Map<String, String> map) {
logger.debug(map.toString());
logger.info(map.toString());
TenantEntity tenantEntity = getTenantInfo(); TenantEntity tenantEntity = getTenantInfo();
Map resultMap = new HashMap();
String encryptedData = map.get("encryptedData"); String encryptedData = map.get("encryptedData");
String iv = map.get("iv"); String iv = map.get("iv");


@@ -638,6 +626,8 @@ public class WxUserGrantController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空");
} }


Map resultMap = new HashMap();

WxCUser user = getWxCUser(); WxCUser user = getWxCUser();


if (user == null) { if (user == null) {
@@ -645,7 +635,7 @@ public class WxUserGrantController extends BaseController {
} }


boolean isFirstPhone = false; boolean isFirstPhone = false;
if(StringUtils.isBlank(user.getPhone())) {
if(user.getUserId() == null) {
isFirstPhone = true; isFirstPhone = true;
} }


@@ -660,18 +650,6 @@ public class WxUserGrantController extends BaseController {
user.setPhone(phoneNoInfo.getPhoneNumber()); user.setPhone(phoneNoInfo.getPhoneNumber());
user.setPurePhone(phoneNoInfo.getPurePhoneNumber()); user.setPurePhone(phoneNoInfo.getPurePhoneNumber());
user.setCountryCode(phoneNoInfo.getCountryCode()); user.setCountryCode(phoneNoInfo.getCountryCode());
if (isFirstPhone) {
//检查是否存在会员信息 如果有 赋值积分
// WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, user.getPhone());
// if (basicInfo != null ) {
// int credit = user.getCredit() == null ? 0 : user.getCredit();
// int score = user.getScore() == null ? 0 : user.getScore();
// int memScore = basicInfo.getPoins() == null ? 0 : basicInfo.getPoins();
// int memCredit = basicInfo.getCredit() == null ? 0 : basicInfo.getCredit();
// user.setCredit(memCredit + credit);
// user.setScore(memScore + score);
// }
}


if (!user.getPhone().contains("*")) { // 用户手机非加密 if (!user.getPhone().contains("*")) { // 用户手机非加密
String phone = user.getPhone(); String phone = user.getPhone();
@@ -685,6 +663,8 @@ public class WxUserGrantController extends BaseController {
return new ResultData(ErrorCode.USER_PHONE_IS_FOUND); return new ResultData(ErrorCode.USER_PHONE_IS_FOUND);
} }
user.setUserId(userBasicId); user.setUserId(userBasicId);
}else{
return new ResultData(ErrorCode.PHONE_DECODE_ERR, resultMap);
} }
wxCUserService.saveOrUpdate(user); wxCUserService.saveOrUpdate(user);
wxCUserService.delForUserIdOnly(user.getId(),user.getUserId(),user.getTenantId()); wxCUserService.delForUserIdOnly(user.getId(),user.getUserId(),user.getTenantId());


+ 86
- 86
mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java Просмотреть файл

@@ -1414,92 +1414,92 @@ public class PosServiceImpl implements PosService {
return 0; return 0;
} }


/**
* 核销回退
* @param couponOrderCVo
* @param buUserId
* @param posOrderId
*/
private void cancelVerify(WxCouponOrderCVo couponOrderCVo, Long buUserId, Long posOrderId) {
// 1. 积分历史回退
try {
WxCreditHistory creditHistory = new WxCreditHistory();
creditHistory.setOperatorType(EnumUserType.BUSER.getCode());
creditHistory.setOperatorId(buUserId);
creditHistory.setCUserId(couponOrderCVo.getcUserId());
// creditHistory.updateTenantInfo(couponOrderCVo);
creditHistory.setFinalTenantId(couponOrderCVo.getFinalTenantId());
creditHistory.setTenantId(couponOrderCVo.getFinalTenantId());
creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode());
creditHistory.setCouponId(couponOrderCVo.getCouponId());
int num = creditHistoryService.cancelCredit(creditHistory);
if (num <= 1) {
logger.warn("核销积分历史回退: " + creditHistory.toString());
}
} catch (Exception e) {
String errMessage = "核销积分历史回退:" + e.getMessage();
logger.error(errMessage);
throw new MallinkException(500, errMessage);
}
// 2. 成长值历史回退
try {
WxScoreHistory scoreHistory = new WxScoreHistory();
// scoreHistory.updateTenantInfo(couponOrderCVo);
scoreHistory.setTenantId(couponOrderCVo.getFinalTenantId());
scoreHistory.setFinalTenantId(couponOrderCVo.getFinalTenantId());
scoreHistory.setScoreType(EnumScoreType.CONSUMPTION.getCode());
scoreHistory.setCUserId(couponOrderCVo.getcUserId());
scoreHistory.setOrderId(couponOrderCVo.getOrderId());
int num = scoreRulesService.cancelScore(scoreHistory);
if (num <= 1) {
logger.warn("核销成长值历史回退: " + scoreHistory.toString());
}
} catch (Exception e) {
String errMessage = "核销成长值历史回退:" + e.getMessage();
logger.error(errMessage);
throw new MallinkException(500, errMessage);
}
// 3. update posOrderId
PosCouponOrderVerify posCouponOrderVerify = new PosCouponOrderVerify();
posCouponOrderVerify.updateTenantInfo(couponOrderCVo);
posCouponOrderVerify.setCouponOrderId(couponOrderCVo.getId());
posCouponOrderVerify.setPosOrderId(posOrderId);
posCouponOrderVerify.setState(EnumEnableType.Enable.getCode());
List<PosCouponOrderVerify> posCouponOrderVerifyList = posCouponOrderVerifyService.getList(posCouponOrderVerify);
if (posCouponOrderVerifyList.size() == 1) {
posCouponOrderVerify = posCouponOrderVerifyList.get(0);
if (posCouponOrderVerify != null) {
try {
posCouponOrderVerifyService.deleteById(posCouponOrderVerify.getId());
} catch(Exception e){
logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
}
}
} else {
logger.error(ErrorCode.VERIFY_POS_ORDER_NOT_EQUAL.getMessage() + ": " + posOrderId);
throw new MallinkException(ErrorCode.VERIFY_POS_ORDER_NOT_EQUAL);
}
// 4. update couponOrder
int num = 0;
try {
WxCouponOrder couponOrder = new WxCouponOrder();
couponOrder.setId(couponOrderCVo.getId());
couponOrder.updateTenantInfo(couponOrderCVo);
couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode());
couponOrder.setUpdateDate(new Date());
num = couponOrderMapper.cancelVerifyCouponOrder(couponOrder);
} catch (Exception e) {
logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
}
if (num != 1) {
logger.error("核销异常:updatete num " + num);
throw new MallinkException(ErrorCode.VERIFY_ERROR.getCode(), "updatete num " + num);
}
logger.info("核销已取消: " + couponOrderCVo.getId());
}
// /**
// * 核销回退
// * @param couponOrderCVo
// * @param buUserId
// * @param posOrderId
// */
// private void cancelVerify(WxCouponOrderCVo couponOrderCVo, Long buUserId, Long posOrderId) {
// // 1. 积分历史回退
// try {
// WxCreditHistory creditHistory = new WxCreditHistory();
// creditHistory.setOperatorType(EnumUserType.BUSER.getCode());
// creditHistory.setOperatorId(buUserId);
// creditHistory.setCUserId(couponOrderCVo.getcUserId());
//// creditHistory.updateTenantInfo(couponOrderCVo);
// creditHistory.setFinalTenantId(couponOrderCVo.getFinalTenantId());
// creditHistory.setTenantId(couponOrderCVo.getFinalTenantId());
// creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode());
// creditHistory.setCouponId(couponOrderCVo.getCouponId());
// int num = creditHistoryService.cancelCredit(creditHistory);
// if (num <= 1) {
// logger.warn("核销积分历史回退: " + creditHistory.toString());
// }
// } catch (Exception e) {
// String errMessage = "核销积分历史回退:" + e.getMessage();
// logger.error(errMessage);
// throw new MallinkException(500, errMessage);
// }
// // 2. 成长值历史回退
// try {
// WxScoreHistory scoreHistory = new WxScoreHistory();
//// scoreHistory.updateTenantInfo(couponOrderCVo);
// scoreHistory.setTenantId(couponOrderCVo.getFinalTenantId());
// scoreHistory.setFinalTenantId(couponOrderCVo.getFinalTenantId());
// scoreHistory.setScoreType(EnumScoreType.CONSUMPTION.getCode());
// scoreHistory.setCUserId(couponOrderCVo.getcUserId());
// scoreHistory.setOrderId(couponOrderCVo.getOrderId());
// int num = scoreRulesService.cancelScore(scoreHistory);
// if (num <= 1) {
// logger.warn("核销成长值历史回退: " + scoreHistory.toString());
// }
// } catch (Exception e) {
// String errMessage = "核销成长值历史回退:" + e.getMessage();
// logger.error(errMessage);
// throw new MallinkException(500, errMessage);
// }
//
// // 3. update posOrderId
// PosCouponOrderVerify posCouponOrderVerify = new PosCouponOrderVerify();
// posCouponOrderVerify.updateTenantInfo(couponOrderCVo);
// posCouponOrderVerify.setCouponOrderId(couponOrderCVo.getId());
// posCouponOrderVerify.setPosOrderId(posOrderId);
// posCouponOrderVerify.setState(EnumEnableType.Enable.getCode());
// List<PosCouponOrderVerify> posCouponOrderVerifyList = posCouponOrderVerifyService.getList(posCouponOrderVerify);
// if (posCouponOrderVerifyList.size() == 1) {
// posCouponOrderVerify = posCouponOrderVerifyList.get(0);
// if (posCouponOrderVerify != null) {
// try {
// posCouponOrderVerifyService.deleteById(posCouponOrderVerify.getId());
// } catch(Exception e){
// logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage());
// throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
// }
// }
// } else {
// logger.error(ErrorCode.VERIFY_POS_ORDER_NOT_EQUAL.getMessage() + ": " + posOrderId);
// throw new MallinkException(ErrorCode.VERIFY_POS_ORDER_NOT_EQUAL);
// }
// // 4. update couponOrder
// int num = 0;
// try {
// WxCouponOrder couponOrder = new WxCouponOrder();
// couponOrder.setId(couponOrderCVo.getId());
// couponOrder.updateTenantInfo(couponOrderCVo);
// couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode());
// couponOrder.setUpdateDate(new Date());
// num = couponOrderMapper.cancelVerifyCouponOrder(couponOrder);
// } catch (Exception e) {
// logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage());
// throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
// }
// if (num != 1) {
// logger.error("核销异常:updatete num " + num);
// throw new MallinkException(ErrorCode.VERIFY_ERROR.getCode(), "updatete num " + num);
// }
// logger.info("核销已取消: " + couponOrderCVo.getId());
// }


@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)


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

@@ -348,10 +348,10 @@ public class WxCUserServiceImpl implements WxCUserService {
wxCreditHistory.setCreditType(enumScoreType.getCode()); wxCreditHistory.setCreditType(enumScoreType.getCode());
wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode());
wxCreditHistory.setOperatorId(user.getUserId()); wxCreditHistory.setOperatorId(user.getUserId());
wxCreditHistory.setCreditNum(user.getCredit());
wxCreditHistory.setCreditAmount(user.getCredit());
// wxCreditHistory.setCreditNum(user.getCredit());
// wxCreditHistory.setCreditAmount(user.getCredit());
WxCreditHistory record = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); WxCreditHistory record = wxCreditHistoryService.saveOrUpdate(wxCreditHistory);
user.setCredit(record.getCreditAmount());
// user.setCredit(record.getCreditAmount());
return record.getCreditAmount(); return record.getCreditAmount();
} }




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

@@ -212,13 +212,11 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService {
record.setSpend(new BigDecimal(record.getSpendStr()).multiply(new BigDecimal(100)).intValue()); record.setSpend(new BigDecimal(record.getSpendStr()).multiply(new BigDecimal(100)).intValue());
} }
int currentCreditAmount = 0; int currentCreditAmount = 0;
//获取当前用户总积分规则:优先获取wxCUser中数据 若不存在 再获取wxCUserBasicInfo表中数据
//获取当前用户总积分规则:
if (wxCUserBasicInfo != null && wxCUserBasicInfo.getCredit() != null && wxCUserBasicInfo.getCredit() > 0) { if (wxCUserBasicInfo != null && wxCUserBasicInfo.getCredit() != null && wxCUserBasicInfo.getCredit() > 0) {
currentCreditAmount = wxCUserBasicInfo.getCredit(); currentCreditAmount = wxCUserBasicInfo.getCredit();
} }
if (record.getCreditAmount() == null) {
record.setCreditAmount(currentCreditAmount);
}
record.setCreditAmount(currentCreditAmount);


int creditChangeNumOrigin = creditIncrement(record); int creditChangeNumOrigin = creditIncrement(record);
int creditChangeNum = creditChangeNumOrigin ; int creditChangeNum = creditChangeNumOrigin ;


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