jk-GitHub-coder 3 роки тому
батько
коміт
706c9c994e

+ 26 - 0
YijiaRestful/src/main/java/com/platform/yijia/controller/AppUserInfoController.java

@@ -56,6 +56,8 @@ public class AppUserInfoController {
     private RedisCacheUtil redisCacheUtil;
     @Resource
     private ElectronicMembershipCardService electronicMembershipCardService;
+    @Resource
+    private LabelService labelService;
 
 //    String appId = "wxe1135cd390b38a54";        //微信小程序appID
 //    String appSecret = "0532c7d9ae876c4ad636df0b1e3b9ddb";      //微信小程序密钥
@@ -614,6 +616,30 @@ public class AppUserInfoController {
 //                }
 //            }
 
+            //如果该站开启标签功能
+            if(stationInfos.getLabelFlag() !=null && stationInfos.getLabelFlag().equals("1")){
+                //如果前端传来labelId,则表示一签一码;
+                if(StringUtils.isNotBlank(request.getLabelId()) && StringUtils.isNotBlank(request.getMobilePhone()) && request.getStationId() !=null){
+                    CustomerLabel customerLabel = new CustomerLabel();
+                    customerLabel.setStationId(request.getStationId());
+                    customerLabel.setPhone(request.getMobilePhone());
+                    //获取该标签用户信息
+                    CustomerLabel c = labelService.getCustomerLabel(customerLabel);
+                    if(c !=null){
+                        customerLabel.setLabelId(request.getLabelId());
+                        customerLabel.setUpdateBy(request.getCreateBy());
+                        customerLabel.setUpdateTime(new Date());
+                        labelService.updateCustomerLabel(customerLabel);
+                    }else {
+                        customerLabel.setCreateBy(request.getCreateBy());
+                        customerLabel.setCreateTime(new Date());
+                        customerLabel.setDelFlag("0");
+                        customerLabel.setLabelId(request.getLabelId());
+                        labelService.insertCustomerLabel(customerLabel);
+                    }
+                }
+            }
+
             //是否开起积分功能
             if(stationInfos.getIntegralRuleFlagGroup().equals("1")){
                 customerPoints.setStationId(stationInfos.getGroupId());

+ 5 - 2
YijiaRestful/src/main/java/com/platform/yijia/controller/PayOrderController.java

@@ -265,8 +265,10 @@ public class PayOrderController {
                 //如果前端传来labelId,则表示一码一签;
                 params.put("labelId", payOrderRequest.getLabelId());
                 payOrderResultInfo = this.calculateLabelDiscount(params);
-                //只要走次标签码,则不管该用户在何标签组,都将强行拉入此标签组;
-                labelService.updateCustomerLabel(customerLabel);
+                //是否强制将该扫码用户拉入此标签:0、否;1、是;
+                if(payOrderResultInfo.getIsAddLabel() !=null && payOrderResultInfo.getIsAddLabel().equals("1")){
+                    labelService.updateCustomerLabel(customerLabel);
+                }
             }else {
                 //按照正常优惠计算
                 CustomerLabel customerLabelInfo = labelService.getCustomerLabel(customerLabel); //获取该用户是否在标签组内
@@ -412,6 +414,7 @@ public class PayOrderController {
         labelRule.setLabelId(Integer.valueOf(params.get("labelId").toString()));//
         List<LabelRule> labelRuleList = labelService.getLabelRuleList(labelRule);
         if(labelRuleList !=null && labelRuleList.size()> 0){
+            payOrderResultInfo.setIsAddLabel(labelRuleList.get(0).getIsAddLabel()); //'是否强制将该扫码用户拉入此标签:0、否;1、是
             //获取该油品的优惠明细
             List<LabelRuleDetail> labelRuleDetailList = labelRuleList.get(0).getLabelRuleDetailList();
             if(labelRuleDetailList !=null && labelRuleDetailList.size() ==1){

+ 4 - 0
YijiaRestful/src/main/java/com/platform/yijia/param/request/AppUserInfoRequest.java

@@ -27,4 +27,8 @@ public class AppUserInfoRequest {
     private String stationName;          //油站名称
     private String aLiId;               //支付宝ID
 
+    //标签功能参数值
+    private String labelId;             //标签ID
+    private String createBy;            //标签创建人
+
 }

+ 1 - 0
YijiaRestful/src/main/java/com/platform/yijia/pojo/LabelRule.java

@@ -14,6 +14,7 @@ public class LabelRule {
     private String labelName;        //'标签名',
     private Integer stationId;       //'油站id',
     private String delFlag;          //'删除标识1 是 0 否',
+    private String isAddLabel;       //是否强制将该扫码用户拉入此标签:0、否;1、是;
     private String createBy;         //'创建人',
     private Date createTime;         //'创建时间',
     private String updateBy;         //'修改人',

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/pojo/PayOrderResultInfo.java

@@ -22,6 +22,9 @@ public class PayOrderResultInfo {
     private String cardOilsType;    //电子卡类型
     private String oilsCardFlag;      //该用户是否有改电子卡
 
+    //是否强制将该扫码用户拉入此标签:0、否;1、是;
+    private String isAddLabel;
+
     //集团为LNG平台加气 时所需司机价
     private String sellPrice;             //司机价
     private String sellAmt;               //司机价后实收金额

+ 3 - 0
YijiaRestful/src/main/resources/mapper/LabelMapper.xml

@@ -19,6 +19,8 @@
       <id     column="id"               jdbcType="INTEGER"      property="id" />
       <result column="station_id"       jdbcType="INTEGER"      property="stationId" />
       <result column="label_name"       jdbcType="VARCHAR"      property="labelName" />
+      <result column="is_add_label"     jdbcType="VARCHAR"      property="isAddLabel" />
+
       <result column="create_by"        jdbcType="VARCHAR"      property="createBy" />
       <result column="create_time"      jdbcType="TIMESTAMP"    property="createTime" />
       <result column="update_by"        jdbcType="VARCHAR"      property="updateBy" />
@@ -48,6 +50,7 @@
         T1.id,
         T1.station_id,
         T1.label_name,
+        T1.is_add_label,
         T2.id                           AS      labelRuleDetailId,
         T2.parent_id,
         T2.oil_name,