| 
														
															@@ -5,13 +5,13 @@ import com.alibaba.fastjson.JSONObject; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.alibaba.fastjson.parser.Feature; 
														 | 
														
														 | 
														
															 import com.alibaba.fastjson.parser.Feature; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.google.gson.Gson; 
														 | 
														
														 | 
														
															 import com.google.gson.Gson; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.platform.yijia.param.request.RechargeBalance; 
														 | 
														
														 | 
														
															 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.ElectronicMembershipCardService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.platform.yijia.service.GzhNewsTemplateService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.platform.yijia.service.StationService; 
														 | 
														
														 | 
														
															 import com.platform.yijia.service.StationService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.platform.yijia.utils.*; 
														 | 
														
														 | 
														
															 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.apache.commons.lang3.StringUtils; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.slf4j.Logger; 
														 | 
														
														 | 
														
															 import org.slf4j.Logger; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.slf4j.LoggerFactory; 
														 | 
														
														 | 
														
															 import org.slf4j.LoggerFactory; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -39,6 +39,10 @@ public class ElectronicMembershipCardController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private ElectronicMembershipCardService electronicMembershipCardService; 
														 | 
														
														 | 
														
															     private ElectronicMembershipCardService electronicMembershipCardService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Resource 
														 | 
														
														 | 
														
															     @Resource 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private StationService stationService; 
														 | 
														
														 | 
														
															     private StationService stationService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Resource 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private GzhNewsTemplateService gzhNewsTemplateService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Resource 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private WxPushUtil wxPushUtil; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     //获取用户电子会员卡(储蓄卡)列表 
														 | 
														
														 | 
														
															     //获取用户电子会员卡(储蓄卡)列表 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @RequestMapping(value = "/getElectronicCardList", method = RequestMethod.GET) 
														 | 
														
														 | 
														
															     @RequestMapping(value = "/getElectronicCardList", method = RequestMethod.GET) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -100,7 +104,7 @@ public class ElectronicMembershipCardController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     calendar.setTime(new Date());   //获取当前时间 
														 | 
														
														 | 
														
															                     calendar.setTime(new Date());   //获取当前时间 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     //循环优惠规则明细 
														 | 
														
														 | 
														
															                     //循环优惠规则明细 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     for (CustomerCardSettingDetail cardDetail : cardRechargeSettingList.get(0).getCustomerCardSettingDetailList()){ 
														 | 
														
														 | 
														
															                     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();       //是否使用优惠券 
														 | 
														
														 | 
														
															                             //String isDiscountCoupon = cardRechargeSettingList.get(0).getIsDiscountCoupon();       //是否使用优惠券 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             //充值优惠类型 
														 | 
														
														 | 
														
															                             //充值优惠类型 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             if(cardDetail.getSettingRuleType().equals("1")){ //按充值金额 
														 | 
														
														 | 
														
															                             if(cardDetail.getSettingRuleType().equals("1")){ //按充值金额 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -448,11 +452,14 @@ public class ElectronicMembershipCardController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             CustomerCardUseRecord customerCardUseRecordInfo = electronicMembershipCardService.getCardRecordByOrderNo(customerCardUseRecord); 
														 | 
														
														 | 
														
															             CustomerCardUseRecord customerCardUseRecordInfo = electronicMembershipCardService.getCardRecordByOrderNo(customerCardUseRecord); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 0表示未支付  1表示已支付 
														 | 
														
														 | 
														
															             // 0表示未支付  1表示已支付 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if(customerCardUseRecordInfo !=null && customerCardUseRecordInfo.getStatus().equals("0")){ 
														 | 
														
														 | 
														
															             if(customerCardUseRecordInfo !=null && customerCardUseRecordInfo.getStatus().equals("0")){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                logger.info("充值单号:" + ordNo); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard(); 
														 | 
														
														 | 
														
															                 CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 customerElectronicCard.setUnionId(customerCardUseRecord.getUnionId()); 
														 | 
														
														 | 
														
															                 customerElectronicCard.setUnionId(customerCardUseRecord.getUnionId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                customerCardUseRecord.setStationId(customerCardUseRecordInfo.getStationId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 //是否有赠送金额 
														 | 
														
														 | 
														
															                 //是否有赠送金额 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                BigDecimal presentAmt =new BigDecimal(0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if(customerCardUseRecordInfo.getPresentAmt() !=null){ 
														 | 
														
														 | 
														
															                 if(customerCardUseRecordInfo.getPresentAmt() !=null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    BigDecimal presentAmt = customerCardUseRecordInfo.getPresentAmt();  //客户充值赠送金额 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    presentAmt = customerCardUseRecordInfo.getPresentAmt();  //客户充值赠送金额 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     customerElectronicCard.setAmt(new BigDecimal(amt).add(presentAmt)); 
														 | 
														
														 | 
														
															                     customerElectronicCard.setAmt(new BigDecimal(amt).add(presentAmt)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 }else { 
														 | 
														
														 | 
														
															                 }else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     customerElectronicCard.setAmt(new BigDecimal(amt)); 
														 | 
														
														 | 
														
															                     customerElectronicCard.setAmt(new BigDecimal(amt)); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -464,6 +471,39 @@ public class ElectronicMembershipCardController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 customerCardUseRecord.setBalance(customerElectronicCard.getAmt()); 
														 | 
														
														 | 
														
															                 customerCardUseRecord.setBalance(customerElectronicCard.getAmt()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 electronicMembershipCardService.updateCardRecordStatusByOrderNo(customerCardUseRecord); 
														 | 
														
														 | 
														
															                 electronicMembershipCardService.updateCardRecordStatusByOrderNo(customerCardUseRecord); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 logger.info("=====================电子会员卡充值成功============================="); 
														 | 
														
														 | 
														
															                 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 { 
														 | 
														
														 | 
														
															         }else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             logger.info("验签失败"); 
														 | 
														
														 | 
														
															             logger.info("验签失败"); 
														 |