jk-GitHub-coder vor 4 Jahren
Ursprung
Commit
67343ea380

+ 23 - 11
YijiaRestful/src/main/java/com/platform/yijia/controller/AppUserInfoController.java

@@ -606,14 +606,26 @@ public class AppUserInfoController {
                 customerPoints.setStationName(stationInfos.getStationName());
                 customerElectronicCard.setStationName(stationInfos.getStationName());
             }
+            if(stationInfos.getCardRuleFlag().equals("1")){
+                if(stationInfos.getCardEnabledFlagGroup().equals("1")){
+                    customerPoints.setStationId(stationInfos.getGroupId());
+                    this.insertCustomerPointsInfo(customerPoints, request, stationInfos);
+                }
+            }
+
             //是否开起积分功能
-            if(stationInfos !=null && stationInfos.getIntegralFlag().equals("1")){
-                this.insertCustomerPointsInfo(customerPoints, request, stationInfos);
+            if(stationInfos.getIntegralRuleFlagGroup().equals("1")){
+                if(stationInfos.getIntegralFlagGroup().equals("1")){
+                    this.insertCustomerPointsInfo(customerPoints, request, stationInfos);
+                }
             }
+//            if(stationInfos !=null && stationInfos.getIntegralFlag().equals("1")){
+//                this.insertCustomerPointsInfo(customerPoints, request, stationInfos);
+//            }
             //是否开起电子卡功能
-            if(stationInfos !=null && stationInfos.getCardEnabledFlag().equals("1")){
-                this.insertCustomerElectronicCard(customerElectronicCard, request, stationInfos);
-            }
+//            if(stationInfos !=null && stationInfos.getCardEnabledFlag().equals("1")){
+//                this.insertCustomerElectronicCard(customerElectronicCard, request, stationInfos);
+//            }
             resultData = ResultData.success(CodeMsg.SUCCESS);
         }catch (Exception e){
             resultData = ResultData.error(CodeMsg.INSERT_FAIL);
@@ -631,14 +643,14 @@ public class AppUserInfoController {
             c.setStationId(request.getStationId());
             c.setMobilePhone(request.getMobilePhone());
             c.setStationId(request.getStationId());
-            if(stationInfos !=null && stationInfos.getIntegralRuleFlag().equals("1")){
-                c.setStationId(stationInfos.getGroupId());
-            }
+//            if(stationInfos !=null && stationInfos.getIntegralRuleFlag().equals("1")){
+//                c.setStationId(stationInfos.getGroupId());
+//            }
             customerPointsService.updateCustomerPointsInfo(c);
         }else {
-            if(stationInfos !=null && stationInfos.getIntegralRuleFlag().equals("1")){
-                customerPoints.setStationId(stationInfos.getGroupId());
-            }
+//            if(stationInfos !=null && stationInfos.getIntegralRuleFlag().equals("1")){
+//                customerPoints.setStationId(stationInfos.getGroupId());
+//            }
             customerPointsService.insertCustomerPointsInfo(customerPoints);
         }
     }

+ 67 - 38
YijiaRestful/src/main/java/com/platform/yijia/controller/PayOrderController.java

@@ -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;
     }

+ 1 - 0
YijiaRestful/src/main/java/com/platform/yijia/param/request/PayOrderRequest.java

@@ -44,6 +44,7 @@ public class PayOrderRequest {
     private String oilType; //油品类型
 
     private String unionId; //unionId
+    private String customerName; //unionId
 
 
 

+ 37 - 1
YijiaRestful/src/main/java/com/platform/yijia/pojo/StationInfo.java

@@ -136,7 +136,43 @@ public class StationInfo {
     private String image3;
     private String image4;
     private String image5;
-    private String printDeviceType;     //小票打印方式的选择
+    private String printDeviceType;         //小票打印方式的选择
+    private String integralRuleFlagGroup;   //集团积分规则是否共享
+    private String integralFlagGroup;       //集团是否开启积分功能
+    private String cardRuleFlagGroup;       //集团是否共享电子卡充值规则
+    private String cardEnabledFlagGroup;    //集团是否开启电子卡
+
+    public String getIntegralFlagGroup() {
+        return integralFlagGroup;
+    }
+
+    public void setIntegralFlagGroup(String integralFlagGroup) {
+        this.integralFlagGroup = integralFlagGroup;
+    }
+
+    public String getCardRuleFlagGroup() {
+        return cardRuleFlagGroup;
+    }
+
+    public void setCardRuleFlagGroup(String cardRuleFlagGroup) {
+        this.cardRuleFlagGroup = cardRuleFlagGroup;
+    }
+
+    public String getIntegralRuleFlagGroup() {
+        return integralRuleFlagGroup;
+    }
+
+    public void setIntegralRuleFlagGroup(String integralRuleFlagGroup) {
+        this.integralRuleFlagGroup = integralRuleFlagGroup;
+    }
+
+    public String getCardEnabledFlagGroup() {
+        return cardEnabledFlagGroup;
+    }
+
+    public void setCardEnabledFlagGroup(String cardEnabledFlagGroup) {
+        this.cardEnabledFlagGroup = cardEnabledFlagGroup;
+    }
 
     public String getPrintDeviceType() {
         return printDeviceType;

+ 13 - 4
YijiaRestful/src/main/resources/mapper/StationInfoMapper.xml

@@ -28,6 +28,13 @@
     <result column="integral_flag"        jdbcType="VARCHAR" property="integralFlag" />
     <result column="integral_print_flag"  jdbcType="VARCHAR" property="integralPrintFlag" />
     <result column="integral_rule_flag"   jdbcType="VARCHAR" property="integralRuleFlag" />
+
+    <result column="card_rule_flag_group"       jdbcType="VARCHAR" property="cardRuleFlagGroup" />
+    <result column="card_enabled_flag_group"    jdbcType="VARCHAR" property="cardEnabledFlagGroup" />
+    <result column="integral_flag_group"        jdbcType="VARCHAR" property="integralFlagGroup" />
+    <result column="integral_rule_flag_group"   jdbcType="VARCHAR" property="integralRuleFlagGroup" />
+
+
     <result column="single_station_flag"  jdbcType="VARCHAR" property="singleStationFlag" />
     <result column="card_rule_flag"       jdbcType="VARCHAR" property="cardRuleFlag" />
     <result column="print_device_type"    jdbcType="VARCHAR" property="printDeviceType" />
@@ -130,12 +137,14 @@
         T1.ws_print_flag,
         T1.print_setting,
         T1.discount_setting,
-        T1.card_enabled_flag,
-        T1.integral_flag,
         T1.integral_print_flag,
         T1.print_device_type,
-        T2.card_rule_flag,
-        T2.integral_rule_flag
+        T1.card_enabled_flag,
+        T1.integral_flag,
+        T2.card_enabled_flag    AS card_enabled_flag_group,
+        T2.card_rule_flag       AS card_rule_flag_group,
+        T2.integral_flag        AS integral_flag_group,
+        T2.integral_rule_flag   AS integral_rule_flag_group
     FROM          sys_dept      AS T1
         LEFT JOIN sys_dept      AS T2 ON T1.parent_id = T2.dept_id
     <where>