|
@@ -164,44 +164,48 @@ public class IntegralShoppingMallController {
|
|
|
if(customerPointsInfo !=null){
|
|
|
BigDecimal multiply = new BigDecimal(request.getIntegral()).multiply(new BigDecimal(request.getExchangeNum())); //该订单总积分
|
|
|
orderSumIntegral = multiply.toString();
|
|
|
- //用户剩余积分
|
|
|
- BigDecimal points = new BigDecimal(customerPointsInfo.getPoints()).subtract(multiply);
|
|
|
- customerPoints.setPoints(Integer.valueOf(points.toString()));
|
|
|
- surplusPoints = points.toString();
|
|
|
- //用户已消费积分累积
|
|
|
- BigDecimal consumptionPoints = new BigDecimal(customerPointsInfo.getConsumptionPoints()).add(multiply);
|
|
|
- customerPoints.setConsumptionPoints(Integer.valueOf(consumptionPoints.toString()));
|
|
|
- logger.info("用户积分: "+ consumptionPoints.toString());
|
|
|
- customerPointsService.updateCustomerPointsInfo(customerPoints);
|
|
|
- }
|
|
|
+ //用户剩余积分且大于订单积分
|
|
|
+ if(new BigDecimal(customerPointsInfo.getPoints()).compareTo(multiply) ==1){
|
|
|
+ BigDecimal points = new BigDecimal(customerPointsInfo.getPoints()).subtract(multiply);
|
|
|
+ customerPoints.setPoints(Integer.valueOf(points.toString()));
|
|
|
+ surplusPoints = points.toString();
|
|
|
+ //用户已消费积分累积
|
|
|
+ BigDecimal consumptionPoints = new BigDecimal(customerPointsInfo.getConsumptionPoints()).add(multiply);
|
|
|
+ customerPoints.setConsumptionPoints(Integer.valueOf(consumptionPoints.toString()));
|
|
|
+ logger.info("用户积分: "+ consumptionPoints.toString());
|
|
|
+ customerPointsService.updateCustomerPointsInfo(customerPoints);
|
|
|
|
|
|
- integralWares.setWaresOutCount(integralWaresInfoList.get(0).getWaresOutCount()+1);
|
|
|
- integralWares.setWaresCount(integralWaresInfoList.get(0).getWaresCount()-1);
|
|
|
- logger.info("商品已售数量: "+ integralWares.toString());
|
|
|
- integralWaresService.updateIntegralWaresInfo(integralWares);
|
|
|
- //插入客户记录表
|
|
|
- customerPointsRecord.setRecordType("-"); //客户积分表记录
|
|
|
- customerPointsRecord.setCreateTime(new Date());
|
|
|
- //插入客户积分记录
|
|
|
- customerPointsRecordService.insertCustomerPointsInfo(customerPointsRecord);
|
|
|
+ integralWares.setWaresOutCount(integralWaresInfoList.get(0).getWaresOutCount()+1);
|
|
|
+ integralWares.setWaresCount(integralWaresInfoList.get(0).getWaresCount()-1);
|
|
|
+ logger.info("商品已售数量: "+ integralWares.toString());
|
|
|
+ integralWaresService.updateIntegralWaresInfo(integralWares);
|
|
|
+ //插入客户记录表
|
|
|
+ customerPointsRecord.setRecordType("-"); //客户积分表记录
|
|
|
+ customerPointsRecord.setCreateTime(new Date());
|
|
|
+ //插入客户积分记录
|
|
|
+ customerPointsRecordService.insertCustomerPointsInfo(customerPointsRecord);
|
|
|
|
|
|
- boolean b = integralOrderService.insertIntegralOrder(integralOrder);
|
|
|
- if (b){
|
|
|
- //公众号积分消耗消息推送
|
|
|
- List<WxMpTemplateData> wxMpTemplate = new ArrayList<>();
|
|
|
- wxMpTemplate.add(new WxMpTemplateData("first","您好!您已成功在"+stationName+"完成积分商品兑换:"));
|
|
|
- wxMpTemplate.add(new WxMpTemplateData("keyword1", request.getCustomerName()));
|
|
|
- wxMpTemplate.add(new WxMpTemplateData("keyword2", integralOrderNo));
|
|
|
- wxMpTemplate.add(new WxMpTemplateData("keyword3", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
|
|
- wxMpTemplate.add(new WxMpTemplateData("keyword4", request.getWaresName()+" x "+ request.getExchangeNum()));
|
|
|
- wxMpTemplate.add(new WxMpTemplateData("keyword5", orderSumIntegral));
|
|
|
- wxMpTemplate.add(new WxMpTemplateData("remark",
|
|
|
- "截止至" + new SimpleDateFormat(" yyyy年MM月dd日HH时mm分").format(new Date())+",您在"+stationName+"的积分值还剩余 "+surplusPoints+" 分"));
|
|
|
- String templateId = "9EWrreI-P8r4xDgoOcczC4jHt1v0HEjKzkgVRDzoNXA"; //积分兑换成功通知模板
|
|
|
- wxPushUtil.push(gzhAppId, gzhAppSecret, templateId, request.getOpenId(), wxMpTemplate);
|
|
|
- resultData=ResultData.success(CodeMsg.SUCCESS);
|
|
|
- }else {
|
|
|
- resultData=ResultData.error(CodeMsg.REQUEST_FAIL);
|
|
|
+ boolean b = integralOrderService.insertIntegralOrder(integralOrder);
|
|
|
+ if (b){
|
|
|
+ //公众号积分消耗消息推送
|
|
|
+ List<WxMpTemplateData> wxMpTemplate = new ArrayList<>();
|
|
|
+ wxMpTemplate.add(new WxMpTemplateData("first","您好!您已成功在"+stationName+"完成积分商品兑换:"));
|
|
|
+ wxMpTemplate.add(new WxMpTemplateData("keyword1", request.getCustomerName()));
|
|
|
+ wxMpTemplate.add(new WxMpTemplateData("keyword2", integralOrderNo));
|
|
|
+ wxMpTemplate.add(new WxMpTemplateData("keyword3", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
|
|
+ wxMpTemplate.add(new WxMpTemplateData("keyword4", request.getWaresName()+" x "+ request.getExchangeNum()));
|
|
|
+ wxMpTemplate.add(new WxMpTemplateData("keyword5", orderSumIntegral));
|
|
|
+ wxMpTemplate.add(new WxMpTemplateData("remark",
|
|
|
+ "截止至" + new SimpleDateFormat(" yyyy年MM月dd日HH时mm分").format(new Date())+",您在"+stationName+"的积分值还剩余 "+surplusPoints+" 分"));
|
|
|
+ String templateId = "9EWrreI-P8r4xDgoOcczC4jHt1v0HEjKzkgVRDzoNXA"; //积分兑换成功通知模板
|
|
|
+ wxPushUtil.push(gzhAppId, gzhAppSecret, templateId, request.getOpenId(), wxMpTemplate);
|
|
|
+ resultData=ResultData.success(CodeMsg.SUCCESS);
|
|
|
+ }else {
|
|
|
+ resultData=ResultData.error(CodeMsg.REQUEST_FAIL);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ resultData=ResultData.error(CodeMsg.INTEGRAL_INSUFFICIENT);
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
resultData=ResultData.error(CodeMsg.WARSECOUNT_FAIL);
|