|
@@ -89,8 +89,54 @@ public class ElectronicMembershipCardController {
|
|
|
ResultData resultData = null;
|
|
|
logger.info("获取用户电子会员卡信息参数:油站ID:"+ stationId+"用户unionId:"+unionId);
|
|
|
if(stationId !=null && unionId !=null && unionId !=""){
|
|
|
- String stationCardEnabledFlag = electronicMembershipCardService.getStationCardEnabledFlag(stationId);
|
|
|
- if(stationCardEnabledFlag.equals("1")){
|
|
|
+ StationInfo stationInfo = new StationInfo();
|
|
|
+ stationInfo.setStationId(stationId);
|
|
|
+ StationInfo stationInfos = stationService.selectStationInfo(stationInfo);
|
|
|
+ if(stationInfos.getCardEnabledFlag().equals("1")){
|
|
|
+ //1.获取当前油站所开启的电子卡种类
|
|
|
+ CustomerCardSetting customerCardSetting = new CustomerCardSetting();
|
|
|
+ customerCardSetting.setStationId(stationId);
|
|
|
+ if(stationInfos.getCardRuleFlag().equals("1")){
|
|
|
+ //集团下油站共享充值规则
|
|
|
+ customerCardSetting.setStationId(stationInfos.getGroupId());
|
|
|
+ }
|
|
|
+ List<CustomerCardSetting> cardRechargeSettingList = electronicMembershipCardService.getCardRechargeSettingList(customerCardSetting);
|
|
|
+ if(cardRechargeSettingList !=null && cardRechargeSettingList.size() >0){
|
|
|
+ //2.获取油站开卡的种类
|
|
|
+ String cardOilsType = cardRechargeSettingList.get(0).getCardOilsType();
|
|
|
+ String[] cardOilsTypeArray = cardOilsType.split(",");
|
|
|
+
|
|
|
+ //2.1查询客户现已拥有的电子卡
|
|
|
+ CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard();
|
|
|
+ customerElectronicCard.setStationId(customerCardSetting.getStationId());
|
|
|
+ customerElectronicCard.setUnionId(unionId);
|
|
|
+ String[] cardTypesArray = {};
|
|
|
+ List<String> hasCard = Arrays.asList(cardTypesArray);
|
|
|
+ List<CustomerElectronicCard> electronicCardList = electronicMembershipCardService.getElectronicCardList(customerElectronicCard);
|
|
|
+ for(CustomerElectronicCard c : electronicCardList){
|
|
|
+ hasCard.add(c.getCardOilsType());
|
|
|
+ }
|
|
|
+ List<String> cardOilsTypeArrayList = Arrays.asList(cardOilsTypeArray);
|
|
|
+ //2.2获取客户要新增的电子卡
|
|
|
+ for (int i=0; i<cardOilsTypeArrayList.size(); i++){
|
|
|
+ for (int y=0; y< hasCard.size(); y++){
|
|
|
+ if(cardOilsTypeArrayList.get(i).equals(hasCard.get(y))){
|
|
|
+ cardOilsTypeArrayList.remove(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //3.依次生成该用户的电子卡
|
|
|
+ System.out.println(cardOilsTypeArrayList);
|
|
|
+ List<CustomerElectronicCard> listParam = new ArrayList<>();
|
|
|
+ for(int i =0; i<cardOilsTypeArrayList.size(); i++){
|
|
|
+ CustomerElectronicCard c = new CustomerElectronicCard();
|
|
|
+ listParam.add(c);
|
|
|
+ }
|
|
|
+ //3.1批量插入
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard();
|
|
|
customerElectronicCard.setStationId(stationId);
|
|
|
customerElectronicCard.setUnionId(unionId);
|
|
@@ -353,8 +399,8 @@ public class ElectronicMembershipCardController {
|
|
|
params_1.put("stationId", stationId);
|
|
|
params_1.put("oilName", oilName);
|
|
|
//获取该油站的优惠方式
|
|
|
- String discountPlanType = stationService.getStationDiscountWay(stationId);
|
|
|
- logger.info("油站优惠方式:"+discountPlanType);
|
|
|
+// String discountPlanType = stationService.getStationDiscountWay(stationId);
|
|
|
+// logger.info("油站优惠方式:"+discountPlanType);
|
|
|
//获取客户会员信息
|
|
|
CustomerManage customerManageInfo = customerManagerService.getCustomerManageInfo(customerManage);
|
|
|
customerManage.setGroupId(Integer.valueOf(groupId));
|
|
@@ -616,10 +662,7 @@ public class ElectronicMembershipCardController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * 打印小票
|
|
|
- */
|
|
|
+ //小票机打印
|
|
|
public void printReceipt(PayOrder payOrder) {
|
|
|
Map<String, Object> infoMap = payOrderService.getOrderInfoAndUserInfoByOrderNo(payOrder);
|
|
|
//打印机打印小票
|
|
@@ -1035,6 +1078,7 @@ public class ElectronicMembershipCardController {
|
|
|
logger.info("客户当前充值后应有金额:" + customerElectronicCard.getAmt().toString());
|
|
|
electronicMembershipCardService.updateElectronicCardInfoByUnionId(customerElectronicCard);
|
|
|
}
|
|
|
+ customerCardUseRecord.setMobilePhone(electronicCardInfo.getMobilePhone());
|
|
|
customerCardUseRecord.setStatus("1");
|
|
|
customerCardUseRecord.setBalance(customerElectronicCard.getAmt());
|
|
|
customerCardUseRecord.setOrderNo(ordNo);
|
|
@@ -1074,11 +1118,8 @@ public class ElectronicMembershipCardController {
|
|
|
wxPushUtil.push(gzhAppId, gzhAppSecret, gzhNewsTemplateInfo.getTemplateId(), blogOpenid, wxMpTemplate);
|
|
|
logger.info("电子会员卡公众号消息推送成功,推送人:"+ blogOpenid);
|
|
|
logger.info("===================================本次充值流程结束===========================================");
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1096,7 +1137,11 @@ public class ElectronicMembershipCardController {
|
|
|
ResultData resultData = null;
|
|
|
if(stationId !=null && unionId !=null){
|
|
|
CustomerCardUseRecord customerCardUseRecord = new CustomerCardUseRecord();
|
|
|
- customerCardUseRecord.setUsageType(usageType); // '1' 代表充值 '0' 代表消费
|
|
|
+ if(usageType.equals("1")){
|
|
|
+ customerCardUseRecord.setUsageType("+");
|
|
|
+ }else if(usageType.equals("0")){
|
|
|
+ customerCardUseRecord.setUsageType("-"); // '1' 代表充值 '0' 代表消费
|
|
|
+ }
|
|
|
customerCardUseRecord.setStationId(stationId);
|
|
|
customerCardUseRecord.setUnionId(unionId);
|
|
|
List<CustomerCardUseRecord> cardUseRecordList = electronicMembershipCardService.getCardUseRecordList(customerCardUseRecord);
|