|
@@ -168,55 +168,57 @@ public class IntegralShoppingMallController {
|
|
|
// }
|
|
|
}
|
|
|
|
|
|
- //更新用户积分
|
|
|
- String surplusPoints =""; //剩余积分
|
|
|
- String orderSumIntegral =""; //订单消费总积分
|
|
|
- CustomerPoints customerPointsInfo = customerPointsService.getCustomerPointsInfo(customerPoints);
|
|
|
- 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);
|
|
|
- }
|
|
|
-
|
|
|
//更新商品已售数量
|
|
|
List<IntegralWares> integralWaresInfoList = integralWaresService.getIntegralWaresInfoList(integralWares);
|
|
|
- if(integralWaresInfoList !=null && integralWaresInfoList.size() ==1){
|
|
|
+ if(integralWaresInfoList !=null && integralWaresInfoList.size() ==1 && integralWaresInfoList.get(0).getWaresCount() >0){
|
|
|
+ //更新用户积分
|
|
|
+ String surplusPoints =""; //剩余积分
|
|
|
+ String orderSumIntegral =""; //订单消费总积分
|
|
|
+ CustomerPoints customerPointsInfo = customerPointsService.getCustomerPointsInfo(customerPoints);
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+
|
|
|
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);
|
|
|
+ //插入客户记录表
|
|
|
+ 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);
|
|
|
+ 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.success(CodeMsg.REQUEST_FAIL);
|
|
|
+ resultData=ResultData.error(CodeMsg.WARSECOUNT_FAIL);
|
|
|
}
|
|
|
return gson.toJson(resultData);
|
|
|
}
|