|
@@ -74,6 +74,7 @@ public class PayOrderController {
|
|
|
if(appUserInfos !=null){
|
|
|
payOrderRequest.setCustomerPhone(appUserInfos.getMobilePhone()); //客户手机号; 注:此处存放手机号用于获取客户信息参数查询
|
|
|
payOrderRequest.setUnionId(appUserInfos.getUnionId()); //客户UnionId;注:此处存放unionId用于获取客户电子卡参数查询
|
|
|
+ payOrderRequest.setCustomerName(appUserInfos.getBlogNickName()); //昵称
|
|
|
payOrder.setConsumer(appUserInfos.getBlogNickName()); //昵称
|
|
|
payOrder.setConsumerId(appUserInfos.getUserId()); //用户id
|
|
|
Random random = new Random();
|
|
@@ -184,6 +185,8 @@ public class PayOrderController {
|
|
|
BigDecimal receivableAmt = new BigDecimal(payOrderRequest.getReceivableAmt()); //应收金额 用户输入的金额
|
|
|
String oilName = payOrderRequest.getOilName(); //油品名称
|
|
|
String openId = payOrderRequest.getOpenId(); //用户的openId
|
|
|
+ String userPhone = payOrderRequest.getCustomerPhone(); //用户手机号
|
|
|
+ String customerName = payOrderRequest.getCustomerName(); //用户手机号
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("oilName", oilName);
|
|
|
map.put("stationId", stationId);
|
|
@@ -207,6 +210,8 @@ public class PayOrderController {
|
|
|
params.put("groupId", groupId);
|
|
|
params.put("unionId", payOrderRequest.getUnionId());
|
|
|
params.put("cardOilsType", payOrderRequest.getCardOilsType());
|
|
|
+ params.put("customerName", customerName);
|
|
|
+ params.put("userPhone", userPhone);
|
|
|
|
|
|
switch (discountSetting){
|
|
|
case "0": //不执营销方案时 计算等级优惠
|
|
@@ -329,8 +334,14 @@ public class PayOrderController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard();
|
|
|
+ customerElectronicCard.setStationId(Integer.valueOf(params.get("stationId").toString()));
|
|
|
+ customerElectronicCard.setCardOilsType(params.get("cardOilsType").toString());
|
|
|
+ customerElectronicCard.setUnionId(params.get("unionId").toString());
|
|
|
+ customerElectronicCard.setMobilePhone(params.get("userPhone").toString());
|
|
|
+ customerElectronicCard.setCustomerName(params.get("customerName").toString());
|
|
|
//查询客户余额和卡的类型
|
|
|
- Map<String, String> map = this.selectCardBalance(Integer.valueOf(params.get("stationId").toString()), params.get("cardOilsType").toString(), params.get("unionId").toString());
|
|
|
+ Map<String, String> map = this.selectCardBalance(customerElectronicCard);
|
|
|
payOrderResultInfo.setBalance(map.get("balance"));
|
|
|
payOrderResultInfo.setOilsCardFlag(map.get("oilsCardFlag"));
|
|
|
payOrderResultInfo.setCardOilsType(map.get("cardOilsType"));
|
|
@@ -427,8 +438,14 @@ public class PayOrderController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard();
|
|
|
+ customerElectronicCard.setStationId(Integer.valueOf(params.get("stationId").toString()));
|
|
|
+ customerElectronicCard.setCardOilsType(params.get("cardOilsType").toString());
|
|
|
+ customerElectronicCard.setUnionId(params.get("unionId").toString());
|
|
|
+ customerElectronicCard.setMobilePhone(params.get("userPhone").toString());
|
|
|
+ customerElectronicCard.setCustomerName(params.get("customerName").toString());
|
|
|
//查询客户余额和卡的类型
|
|
|
- Map<String, String> map = this.selectCardBalance(Integer.valueOf(params.get("stationId").toString()), params.get("cardOilsType").toString(), params.get("unionId").toString());
|
|
|
+ Map<String, String> map = this.selectCardBalance(customerElectronicCard);
|
|
|
payOrderResultInfo.setBalance(map.get("balance"));
|
|
|
payOrderResultInfo.setOilsCardFlag(map.get("oilsCardFlag"));
|
|
|
payOrderResultInfo.setCardOilsType(map.get("cardOilsType"));
|
|
@@ -528,8 +545,14 @@ public class PayOrderController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard();
|
|
|
+ customerElectronicCard.setStationId(Integer.valueOf(params.get("stationId").toString()));
|
|
|
+ customerElectronicCard.setCardOilsType(params.get("cardOilsType").toString());
|
|
|
+ customerElectronicCard.setUnionId(params.get("unionId").toString());
|
|
|
+ customerElectronicCard.setMobilePhone(params.get("userPhone").toString());
|
|
|
+ customerElectronicCard.setCustomerName(params.get("customerName").toString());
|
|
|
//查询客户余额和卡的类型
|
|
|
- Map<String, String> map = this.selectCardBalance(Integer.valueOf(params.get("stationId").toString()), params.get("cardOilsType").toString(), params.get("unionId").toString());
|
|
|
+ Map<String, String> map = this.selectCardBalance(customerElectronicCard);
|
|
|
payOrderResultInfo.setBalance(map.get("balance"));
|
|
|
payOrderResultInfo.setOilsCardFlag(map.get("oilsCardFlag"));
|
|
|
payOrderResultInfo.setCardOilsType(map.get("cardOilsType"));
|
|
@@ -612,8 +635,14 @@ public class PayOrderController {
|
|
|
payOrderResultInfo.setDzkDiscountAmt(discountAmt.toString());
|
|
|
}
|
|
|
}
|
|
|
+ CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard();
|
|
|
+ customerElectronicCard.setStationId(Integer.valueOf(params.get("stationId").toString()));
|
|
|
+ customerElectronicCard.setCardOilsType(params.get("cardOilsType").toString());
|
|
|
+ customerElectronicCard.setUnionId(params.get("unionId").toString());
|
|
|
+ customerElectronicCard.setMobilePhone(params.get("userPhone").toString());
|
|
|
+ customerElectronicCard.setCustomerName(params.get("customerName").toString());
|
|
|
//查询客户余额和卡的类型
|
|
|
- Map<String, String> map = this.selectCardBalance(Integer.valueOf(params.get("stationId").toString()), params.get("cardOilsType").toString(), params.get("unionId").toString());
|
|
|
+ Map<String, String> map = this.selectCardBalance(customerElectronicCard);
|
|
|
payOrderResultInfo.setBalance(map.get("balance"));
|
|
|
payOrderResultInfo.setOilsCardFlag(map.get("oilsCardFlag"));
|
|
|
payOrderResultInfo.setCardOilsType(map.get("cardOilsType"));
|
|
@@ -622,58 +651,58 @@ public class PayOrderController {
|
|
|
}
|
|
|
|
|
|
//查询用户电子会员卡余额
|
|
|
- public Map<String, String> selectCardBalance(Integer stationId, String cardOilsType, String unionId) {
|
|
|
+ public Map<String, String> selectCardBalance(CustomerElectronicCard card) {
|
|
|
CustomerElectronicCard customerElectronicCard = new CustomerElectronicCard();
|
|
|
- customerElectronicCard.setCardOilsType(cardOilsType);
|
|
|
- customerElectronicCard.setStationId(stationId);
|
|
|
- customerElectronicCard.setUnionId(unionId);
|
|
|
- CustomerElectronicCard electronicCardInfo = electronicMembershipCardService.getElectronicCardInfoByUnionId(customerElectronicCard);
|
|
|
+ customerElectronicCard.setCardOilsType(card.getCardOilsType());
|
|
|
+ customerElectronicCard.setStationId(card.getStationId());
|
|
|
+ customerElectronicCard.setUnionId(card.getUnionId());
|
|
|
BigDecimal balance = null;
|
|
|
String cardOilsType1 ="";
|
|
|
-
|
|
|
Map<String, String> result = new HashMap<>();
|
|
|
- if(electronicCardInfo !=null){
|
|
|
- balance = electronicCardInfo.getAmt();
|
|
|
- cardOilsType1 = electronicCardInfo.getCardOilsType();
|
|
|
- result.put("balance",balance.toString());
|
|
|
- result.put("oilsCardFlag", "1");
|
|
|
- result.put("cardOilsType",cardOilsType1);
|
|
|
- }else {
|
|
|
- StationInfo stationInfo = new StationInfo();
|
|
|
- stationInfo.setStationId(stationId);
|
|
|
- StationInfo stationInfos = stationService.selectStationInfo(stationInfo);
|
|
|
-
|
|
|
- CustomerCardSetting customerCardSetting = new CustomerCardSetting();
|
|
|
- customerCardSetting.setStationId(stationId);
|
|
|
- if(stationInfos.getCardRuleFlag().equals("1")){
|
|
|
- customerCardSetting.setStationId(stationInfos.getGroupId());
|
|
|
- }
|
|
|
- customerCardSetting.setDelFlag("0");
|
|
|
- //customerCardSetting.setCardOilsType(cardOilsType);
|
|
|
- List<CustomerCardSetting> cardRechargeSettingList = electronicMembershipCardService.getCardRechargeSettingList(customerCardSetting);
|
|
|
- if(cardRechargeSettingList !=null && cardRechargeSettingList.size()>0){
|
|
|
- String cardOilsTypeExist = cardRechargeSettingList.get(0).getCardOilsType();
|
|
|
- String[] split = cardOilsTypeExist.split(",");
|
|
|
- List<String> strings = Arrays.asList(split);
|
|
|
- if(strings.contains(cardOilsType)){
|
|
|
+ StationInfo stationInfo = new StationInfo();
|
|
|
+ stationInfo.setStationId(card.getStationId());
|
|
|
+ StationInfo stationInfos = stationService.selectStationInfo(stationInfo);
|
|
|
+ CustomerCardSetting customerCardSetting = new CustomerCardSetting();
|
|
|
+ customerCardSetting.setStationId(card.getStationId());
|
|
|
+ if(stationInfos.getCardRuleFlag().equals("1")){
|
|
|
+ customerCardSetting.setStationId(stationInfos.getGroupId());
|
|
|
+ customerElectronicCard.setStationId(stationInfos.getGroupId());
|
|
|
+ }
|
|
|
+ List<CustomerCardSetting> cardRechargeSettingList = electronicMembershipCardService.getCardRechargeSettingList(customerCardSetting);
|
|
|
+ if(cardRechargeSettingList !=null && cardRechargeSettingList.size()>0){
|
|
|
+ String cardOilsTypeExist = cardRechargeSettingList.get(0).getCardOilsType();
|
|
|
+ String[] split = cardOilsTypeExist.split(",");
|
|
|
+ List<String> strings = Arrays.asList(split);
|
|
|
+ if(strings.contains(card.getCardOilsType())){
|
|
|
+ CustomerElectronicCard electronicCardInfo = electronicMembershipCardService.getElectronicCardInfoByUnionId(customerElectronicCard);
|
|
|
+ if(electronicCardInfo !=null){
|
|
|
+ //已存在卡
|
|
|
+ balance = electronicCardInfo.getAmt();
|
|
|
+ cardOilsType1 = electronicCardInfo.getCardOilsType();
|
|
|
+ result.put("balance",balance.toString());
|
|
|
+ result.put("oilsCardFlag", "1");
|
|
|
+ result.put("cardOilsType",cardOilsType1);
|
|
|
+ }else {
|
|
|
+ //如果油站已开启该卡,用户没有卡
|
|
|
String currentTime = String.valueOf(System.currentTimeMillis());
|
|
|
- String customerNo = stationId + currentTime;
|
|
|
+ String customerNo = card.getStationId() + currentTime;
|
|
|
customerElectronicCard.setCustomerNo(customerNo);
|
|
|
customerElectronicCard.setAmt(new BigDecimal(0));
|
|
|
customerElectronicCard.setCreateTime(new Date());
|
|
|
+ customerElectronicCard.setCustomerName(card.getCustomerName());
|
|
|
+ customerElectronicCard.setMobilePhone(card.getMobilePhone());
|
|
|
electronicMembershipCardService.insetElectronicCard(customerElectronicCard);
|
|
|
CustomerElectronicCard electronicCardInfoNew = electronicMembershipCardService.getElectronicCardInfoByUnionId(customerElectronicCard);
|
|
|
balance = electronicCardInfoNew.getAmt();
|
|
|
result.put("balance",balance.toString());
|
|
|
result.put("oilsCardFlag", "1");
|
|
|
result.put("cardOilsType",electronicCardInfoNew.getCardOilsType());
|
|
|
- }else {
|
|
|
- result.put("oilsCardFlag", "0");
|
|
|
}
|
|
|
}else {
|
|
|
result.put("oilsCardFlag", "0");
|
|
|
}
|
|
|
-
|
|
|
+ }else {
|
|
|
+ result.put("oilsCardFlag", "0");
|
|
|
}
|
|
|
return result;
|
|
|
}
|