| 
					
				 | 
			
			
				@@ -5,13 +5,13 @@ import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.parser.Feature; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.google.gson.Gson; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.param.request.RechargeBalance; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.platform.yijia.pojo.CustomerCardSetting; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.platform.yijia.pojo.CustomerCardSettingDetail; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.platform.yijia.pojo.CustomerCardUseRecord; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.platform.yijia.pojo.CustomerElectronicCard; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.platform.yijia.pojo.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.service.ElectronicMembershipCardService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.platform.yijia.service.GzhNewsTemplateService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.service.StationService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.utils.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.platform.yijia.utils.weixinapp.WxPushUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import me.chanjar.weixin.mp.bean.template.WxMpTemplateData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.LoggerFactory; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,6 +39,10 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ElectronicMembershipCardService electronicMembershipCardService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private StationService stationService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private GzhNewsTemplateService gzhNewsTemplateService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private WxPushUtil wxPushUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //获取用户电子会员卡(储蓄卡)列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/getElectronicCardList", method = RequestMethod.GET) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -100,7 +104,7 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     calendar.setTime(new Date());   //获取当前时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //循环优惠规则明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     for (CustomerCardSettingDetail cardDetail : cardRechargeSettingList.get(0).getCustomerCardSettingDetailList()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if(amt.compareTo(cardDetail.getDiscountAmtTerm()) ==1 || amt.compareTo(cardDetail.getDiscountAmtTerm()) ==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(amt.compareTo(cardDetail.getDiscountAmtEnd()) ==1 || amt.compareTo(cardDetail.getDiscountAmtEnd()) ==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //String isDiscountCoupon = cardRechargeSettingList.get(0).getIsDiscountCoupon();       //是否使用优惠券 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //充值优惠类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if(cardDetail.getSettingRuleType().equals("1")){ //按充值金额 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -448,11 +452,14 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             CustomerCardUseRecord customerCardUseRecordInfo = electronicMembershipCardService.getCardRecordByOrderNo(customerCardUseRecord); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 0表示未支付  1表示已支付 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(customerCardUseRecordInfo !=null && customerCardUseRecordInfo.getStatus().equals("0")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("充值单号:" + ordNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 customerElectronicCard.setUnionId(customerCardUseRecord.getUnionId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setStationId(customerCardUseRecordInfo.getStationId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //是否有赠送金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                BigDecimal presentAmt =new BigDecimal(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(customerCardUseRecordInfo.getPresentAmt() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    BigDecimal presentAmt = customerCardUseRecordInfo.getPresentAmt();  //客户充值赠送金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    presentAmt = customerCardUseRecordInfo.getPresentAmt();  //客户充值赠送金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     customerElectronicCard.setAmt(new BigDecimal(amt).add(presentAmt)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     customerElectronicCard.setAmt(new BigDecimal(amt)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -464,6 +471,39 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 customerCardUseRecord.setBalance(customerElectronicCard.getAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 electronicMembershipCardService.updateCardRecordStatusByOrderNo(customerCardUseRecord); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.info("=====================电子会员卡充值成功============================="); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setUnionId(customerCardUseRecordInfo.getUnionId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CustomerElectronicCard electronicCardInfo = electronicMembershipCardService.getElectronicCardInfo(customerElectronicCard); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(electronicCardInfo !=null && electronicCardInfo.getBlogOpenid() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String stationName = electronicCardInfo.getStationName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String blogOpenid = electronicCardInfo.getBlogOpenid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Integer stationId = electronicCardInfo.getStationId();      //油站ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String customerName = electronicCardInfo.getCustomerName(); //客户名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    BigDecimal balance = electronicCardInfo.getAmt();   //当前余额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String customerNo = electronicCardInfo.getCustomerNo();     //电子卡号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //获取要推送充值成功模板的ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    GzhNewsTemplate gzhNewsTemplate = new GzhNewsTemplate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    gzhNewsTemplate.setTemplateType("3");   //3 代表电子会员卡充值成功模板类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    gzhNewsTemplate.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    GzhNewsTemplate gzhNewsTemplateInfo = gzhNewsTemplateService.getGzhNewsTemplate(gzhNewsTemplate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(gzhNewsTemplateInfo !=null && gzhNewsTemplateInfo.getTemplateId() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        List<WxMpTemplateData> wxMpTemplate = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        wxMpTemplate.add(new WxMpTemplateData("first","尊敬的"+customerName+",您好:\n" + "您在"+stationName+"的电子会员卡充值成功信息如下")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        wxMpTemplate.add(new WxMpTemplateData("keyword1", customerNo)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        wxMpTemplate.add(new WxMpTemplateData("keyword2", amt)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        wxMpTemplate.add(new WxMpTemplateData("keyword3", presentAmt.toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        wxMpTemplate.add(new WxMpTemplateData("keyword4", balance.toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        wxMpTemplate.add(new WxMpTemplateData("keyword5", new SimpleDateFormat("yyyy年MM月dd日HH时mm分").format(new Date()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        wxMpTemplate.add(new WxMpTemplateData("remark","感谢您在"+ stationName+"的本次充值!")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Map<String, String> m = stationService.getStationAppIdAndAppSecret(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(m !=null && m.containsKey("gzhAppId") && m.containsKey("gzhAppSecret")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            String gzhAppId = m.get("gzhAppId"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            String gzhAppSecret = m.get("gzhAppSecret"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            wxPushUtil.push(gzhAppId, gzhAppSecret, gzhNewsTemplateInfo.getTemplateId(), blogOpenid, wxMpTemplate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            logger.info("电子会员卡公众号消息推送成功,推送人:"+ blogOpenid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.info("验签失败"); 
			 |