| 
					
				 | 
			
			
				@@ -5,11 +5,14 @@ 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.service.ElectronicMembershipCardService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.service.StationService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.utils.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Controller; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,6 +21,7 @@ import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.annotation.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.text.SimpleDateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -29,7 +33,6 @@ import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @RequestMapping("/demo") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static Logger logger =(Logger) LoggerFactory.getLogger(ElectronicMembershipCardController.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Resource 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37,7 +40,7 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private StationService stationService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //获取用户储蓄卡列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //获取用户电子会员卡(储蓄卡)列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/getElectronicCardList", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public String getElectronicCardList(@RequestParam Integer stationId, String unionId){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,72 +59,112 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return gson.toJson(resultData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //用户充值储蓄卡拉起随行付支付接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //用户充值电子会员卡(储蓄卡)生成充值记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/rechargeBalance", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public String rechargeBalance(RechargeBalance rechargeBalance){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public String rechargeBalance(@RequestBody RechargeBalance rechargeBalance){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Gson gson =new Gson(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //返回结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ResultData resultData = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(rechargeBalance !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BigDecimal amt = new BigDecimal(rechargeBalance.getAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String openId = rechargeBalance.getOpenId();    //公众号的openId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //String openId = rechargeBalance.getOpenId();    //公众号的openId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Integer stationId = rechargeBalance.getStationId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            BigDecimal presentAmt = new BigDecimal(rechargeBalance.getPresentAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //BigDecimal presentAmt = new BigDecimal(rechargeBalance.getPresentAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String payType = rechargeBalance.getPayType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String customerName = rechargeBalance.getCustomerName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String cardOilsType = rechargeBalance.getCardOilsType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String unionId = rechargeBalance.getUnionId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String stationName = rechargeBalance.getStationName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //电子会员卡使用记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            CustomerCardUseRecord customerCardUseRecord = new CustomerCardUseRecord(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setUnionId(unionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setAmt(amt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setPresentAmt(presentAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setCardOilsType(cardOilsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setStationName(stationName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setCustomerName(customerName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setUsageType("+"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setType("1");      //1表示微信 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setStatus("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //订单规则 时间+6位随机数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Random random = new Random(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String str=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for(int i=0; i<6; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                str+=random.nextInt(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String orderNo = System.nanoTime()+str; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerCardUseRecord.setOrderNo(orderNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String stationCardEnabledFlag = electronicMembershipCardService.getStationCardEnabledFlag(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //是否启用电子卡功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(stationCardEnabledFlag.equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard();       //电子会员卡 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CustomerCardUseRecord customerCardUseRecord = new CustomerCardUseRecord();      //电子会员卡使用记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CustomerCardSetting customerCardSetting = new CustomerCardSetting();        //电子卡优惠规则设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //电子会员卡 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            customerElectronicCard.setUnionId(unionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            customerElectronicCard.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            customerElectronicCard.setCardOilsType(cardOilsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerElectronicCard.setId(rechargeBalance.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            customerElectronicCard.setRecentlyTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //获取当前用户要充值的的电子会员卡信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            CustomerElectronicCard electronicCardInfo = electronicMembershipCardService.getElectronicCardInfo(customerElectronicCard); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(electronicCardInfo != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                BigDecimal amtBalance = electronicCardInfo.getAmt();        //用户当前卡内余额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(presentAmt !=null){  //有赠送金额时 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    customerElectronicCard.setAmt(amtBalance.add(presentAmt).add(amt)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else { //无赠送金额时 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    customerElectronicCard.setAmt(amtBalance.add(amt)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardSetting.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardSetting.setCardOilsType(cardOilsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //获取用户要充值电子卡的优惠规则信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<CustomerCardSetting> cardRechargeSettingList = electronicMembershipCardService.getCardRechargeSettingList(customerCardSetting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(cardRechargeSettingList !=null && cardRechargeSettingList.size() ==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String discountTime = cardRechargeSettingList.get(0).getDiscountTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String[] dctime={};     //会员充值活动时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(discountTime.contains(",")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dctime =discountTime.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dctime =new String[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dctime[0] = discountTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String currentTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); //当前时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //循环优惠规则明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (CustomerCardSettingDetail cardDetail : cardRechargeSettingList.get(0).getCustomerCardSettingDetailList()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(amt.compareTo(cardDetail.getDiscountAmtTerm()) ==1 || amt.compareTo(cardDetail.getDiscountAmtTerm()) ==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            //String isDiscountCoupon = cardRechargeSettingList.get(0).getIsDiscountCoupon();       //是否使用优惠券 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            //充值优惠类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if(cardDetail.getSettingRuleType().equals("1")){ //按充值金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                BigDecimal presentAmt = cardDetail.getPresentAmt(); //当前赠送金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if(dctime !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    for (String str : dctime){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        if(str.contains(currentTime)){  //如果当前时间在会员日活动时间内 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            //计算会员日内的总赠送积分 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            if(cardRechargeSettingList.get(0).getPresentScale() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                presentAmt = presentAmt.multiply(new BigDecimal(cardRechargeSettingList.get(0).getPresentScale())).add(presentAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                customerCardUseRecord.setAmt(amt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                customerCardUseRecord.setPresentAmt(presentAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            }else if(cardDetail.getSettingRuleType().equals("2")){      //按充值金额的比例 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                BigDecimal presentAmt = amt.multiply(cardDetail.getPresentAmt().divide(new BigDecimal(100))); //当前赠送金额比例的赠送积分 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if(dctime !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    for (String str : dctime){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        if(str.contains(currentTime)){  //如果当前时间在会员日活动时间内 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            //计算会员日期内的总赠送积分 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            if(cardRechargeSettingList.get(0).getPresentScale() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                presentAmt = presentAmt.multiply(new BigDecimal(cardRechargeSettingList.get(0).getPresentScale())).add(presentAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                customerCardUseRecord.setAmt(amt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                customerCardUseRecord.setPresentAmt(presentAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerCardUseRecord.setAmt(amt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerCardUseRecord.setPresentAmt(new BigDecimal(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setUnionId(unionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setCardOilsType(cardOilsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setStationName(stationName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setCustomerName(customerName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setUsageType("+"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setPayType(payType);      //1表示微信 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setStatus("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //订单规则 时间+6位随机数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Random random = new Random(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String str=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(int i=0; i<6; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    str+=random.nextInt(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                electronicMembershipCardService.updateElectronicCardInfo(customerElectronicCard);   //更新电子会员看余额信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String orderNo = System.nanoTime()+str; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerCardUseRecord.setOrderNo(orderNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 electronicMembershipCardService.insetCardUseRecord(customerCardUseRecord);      //插入电子会员卡的使用记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 resultData = ResultData.success(orderNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                resultData = ResultData.error(CodeMsg.USER_EXSIST_CARD); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return gson.toJson(resultData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //用户充值储蓄卡拉起随行付支付接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //用户充值电子会员卡(储蓄卡)拉起随行付支付接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/rechargeBalanceSXFPay", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public String rechargeBalanceSXFPay(@RequestBody RechargeBalance rechargeBalance){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -237,7 +280,7 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return gson.toJson(resultData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //电子会员卡(储蓄卡)充值功能随行付回调功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //用户电子会员卡(储蓄卡)充值功能随行付回调功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/getCardRechargeCallback", consumes = "application/json", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -366,9 +409,15 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(customerCardUseRecordInfo !=null && customerCardUseRecordInfo.getStatus().equals("0")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 customerElectronicCard.setUnionId(customerCardUseRecord.getUnionId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                customerElectronicCard.setAmt(new BigDecimal(amt)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //是否有赠送金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(customerCardUseRecordInfo.getPresentAmt() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    BigDecimal presentAmt = customerCardUseRecordInfo.getPresentAmt();  //客户充值赠送金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerElectronicCard.setAmt(new BigDecimal(amt).add(presentAmt)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerElectronicCard.setAmt(new BigDecimal(amt)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 customerElectronicCard.setRecentlyTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                electronicMembershipCardService.updateElectronicCardInfo(customerElectronicCard); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                electronicMembershipCardService.updateElectronicCardInfoByUnionId(customerElectronicCard); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 customerCardUseRecord.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 electronicMembershipCardService.updateCardRecordStatusByOrderNo(customerCardUseRecord); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.info("=====================电子会员卡充值成功============================="); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -378,8 +427,7 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //获取用户储蓄卡充值记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //获取用户电子会员卡(储蓄卡)充值记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/getCardRechargeRecord", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public String getCardRechargeRecord(@RequestParam Integer stationId, String unionId){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -399,7 +447,7 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return gson.toJson(resultData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //获取用户储蓄卡消费记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //获取用户电子会员卡(储蓄卡)消费记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/getCardConsumptionRecord", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public String getCardConsumptionRecord(@RequestParam Integer stationId, String unionId){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -419,5 +467,23 @@ public class ElectronicMembershipCardController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return gson.toJson(resultData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //查询油站电子会员卡(储蓄卡)充值设置规则 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @RequestMapping(value = "/getCardRechargeSettingList", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public String getCardRechargeSettingList(@RequestParam Integer stationId, String cardOilsType){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Gson gson =new Gson(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //返回结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ResultData resultData = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(stationId !=null && StringUtils.isNotBlank(cardOilsType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CustomerCardSetting customerCardSetting = new CustomerCardSetting(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            customerCardSetting.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            customerCardSetting.setCardOilsType(cardOilsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<CustomerCardSetting> cardRechargeSettingList = electronicMembershipCardService.getCardRechargeSettingList(customerCardSetting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultData = ResultData.success(cardRechargeSettingList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultData = ResultData.error(CodeMsg.REQUEST_FAIL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return gson.toJson(resultData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |