| 
					
				 | 
			
			
				@@ -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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |