Quellcode durchsuchen

优惠券 订单 支付宝获取油站列表

jk-GitHub-coder vor 3 Jahren
Ursprung
Commit
f4b6a7e0ca

+ 3 - 2
YijiaRestful/src/main/java/com/platform/yijia/controller/CouponController.java

@@ -242,6 +242,9 @@ public class CouponController {
                         Boolean boo = false;
                         //根据核销人员的级别去做业务逻辑处理
                         switch (staCvuInfo_jiBie){
+                            case "0":       //顶级账号
+                                boo = false;
+                                break;
                             case "1":   //集团级别核销人员
                                 if("1".equals(staCouponInfo_jiBie)){        //此张兑换券的核销点为:优惠券本身创建站点 + 优惠券核销点
                                     if(staIdCoupon.toString().equals(staIdCvu.toString())){
@@ -508,8 +511,6 @@ public class CouponController {
             }
         }catch (Exception e){
             e.printStackTrace();
-            //logger.error("用户领取优惠券错误信息:" + e.getMessage());
-            //resultData = ResultData.error(CodeMsg.INSERT_FAIL);
         }
         return gson.toJson(resultData);
     }

+ 2 - 3
YijiaRestful/src/main/java/com/platform/yijia/controller/PayController.java

@@ -1010,10 +1010,9 @@ public class PayController {
                                         logger.info("当前优惠券模板本次使用后次数:"+ couponUseNum.toString());
                                         coupon_up.setCouponUseNum(couponUseNum);
                                         couponService.updateCouponInfo(coupon_up);
-
-                                        //主动领取优惠券
-                                        this.drawCoupon(infoMap);
                                     }
+                                    //主动领取优惠券
+                                    this.drawCoupon(infoMap);
                                 }
 
                                 //当前系统主要业务逻辑

+ 6 - 3
YijiaRestful/src/main/java/com/platform/yijia/controller/PayOrderController.java

@@ -213,9 +213,12 @@ public class PayOrderController {
                         resultMap.put("couponIssueId", couponIssueId);
                         List<CouponIssue> couponIssueList = this.getCouponIssue(stationId);
                         if(couponIssueList !=null && couponIssueList.size()>0){
-                            couponIssueId = this.getCouponIssue(stationId).get(0).getCouponIssueId();
-                            if(StringUtils.isNotBlank(couponIssueId)){
-                                resultMap.put("couponIssueId", couponIssueId);
+                            BigDecimal discountThresholdAmt = couponIssueList.get(0).getDiscountThresholdAmt();
+                            if(discountThresholdAmt !=null && !(new BigDecimal(payOrderRequest.getReceivableAmt()).compareTo(discountThresholdAmt) == -1)){
+                                couponIssueId = couponIssueList.get(0).getCouponIssueId();
+                                if(StringUtils.isNotBlank(couponIssueId)){
+                                    resultMap.put("couponIssueId", couponIssueId);
+                                }
                             }
                         }
                         List<UserCoupon> userCouponsList = new ArrayList<>();       //用户的优惠券

+ 8 - 8
YijiaRestful/src/main/java/com/platform/yijia/controller/StationController.java

@@ -90,16 +90,16 @@ public class StationController {
         Gson gson =new Gson();
         //返回结果集
         ResultData resultData= null;
-        StationRequest stationRequest = new StationRequest();
-        stationRequest.setJiBie("2");
-        stationRequest.setIsAliPayFlag("1");
+        StationInfo stationInfo = new StationInfo();
         if(StringUtils.isNotBlank(stationLatitude) && StringUtils.isNotBlank(stationLongitude)){
-            stationRequest.setStationLatitude(stationLatitude);
-            stationRequest.setStationLongitude(stationLongitude);
-            stationRequest.setPageNum(pageNum);
-            stationRequest.setPageSize(pageSize);
+            stationInfo.setStationLatitude(stationLatitude);
+            stationInfo.setStationLongitude(stationLongitude);
+            stationInfo.setPageNum(pageNum);
+            stationInfo.setPageSize(pageSize);
+            stationInfo.setJiBie("2");
+            stationInfo.setIsAliPayFlag("1");
             //调用接口 根据坐标筛选距离最近的加油站
-            StationInfoVo stationInfoVo = stationService.stationInfoList(stationRequest);
+            StationInfoVo stationInfoVo = stationService.getStationListByGeoSituationToAliPay(stationInfo);
             logger.info("支付宝小程序有经纬度获取油站列表:"+stationInfoVo.toString());
             JSONObject location = BaiduMapUtil.getLocation(stationLongitude, stationLatitude);
             if(location !=null && location.containsKey("status") && location.get("status").toString().equals("0")){

+ 2 - 2
YijiaRestful/src/main/java/com/platform/yijia/param/request/StationRequest.java

@@ -17,8 +17,8 @@ public class StationRequest {
     private String userType;
     private String token;
     private String appId;       //小程序APPID
-    private String jiBie;
-    private String isAliPayFlag;
+    private String jiBie;       //级别
+    private String isAliPayFlag;        //是否开启支付宝支付
 
     public String getIsAliPayFlag() {
         return isAliPayFlag;

+ 19 - 0
YijiaRestful/src/main/java/com/platform/yijia/pojo/StationInfo.java

@@ -154,6 +154,25 @@ public class StationInfo {
     private String jiBie;                   //级别
     private String isAliPayFlag;
 
+    private Integer pageSize;//每页条数
+    private Integer pageNum;//当前页
+
+    public Integer getPageNum() {
+        return pageNum;
+    }
+
+    public void setPageNum(Integer pageNum) {
+        this.pageNum = pageNum;
+    }
+
+    public Integer getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        this.pageSize = pageSize;
+    }
+
     public String getIsAliPayFlag() {
         return isAliPayFlag;
     }

+ 4 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/StationService.java

@@ -19,6 +19,10 @@ public interface StationService {
     //支付宝小程序查询油站列表
     List<StationInfo> getStationListToAliPay(StationInfo stationInfo);
 
+    //支付宝小程序根据地理位置查询油站列表
+    StationInfoVo getStationListByGeoSituationToAliPay(StationInfo stationInfo);
+
+
     //获取油站的某个油品的价格和营销方案信息
     Map<String, Object> selectStationOilPriceAndDiscountSetting(Map<String, Object> map);
 

+ 38 - 2
YijiaRestful/src/main/java/com/platform/yijia/service/impl/StationServiceImpl.java

@@ -40,6 +40,38 @@ public class StationServiceImpl implements StationService {
         return stationInfoMapper.getStationListToAliPay(stationInfo);
     }
 
+    //支付宝小程序根据地理位置查询油站列表
+    @Override
+    public StationInfoVo getStationListByGeoSituationToAliPay(StationInfo stationInfo) {
+        //根据传过来的坐标查询数据
+        List<StationInfoResponse> distanceAndResidueSeat = new ArrayList<>();
+        // 数据库查询门店数据
+        List<StationInfo> stationInfolist = stationInfoMapper.getStationListToAliPay(stationInfo);
+        // 入参坐标拼接
+        String coordinate = stationInfo.getStationLatitude()+","+stationInfo.getStationLongitude();
+        if(StringUtils.isNotBlank(stationInfo.getStationLatitude()) && StringUtils.isNotBlank(stationInfo.getStationLongitude())){
+            //根据地址坐标计算距离
+            List<StationInfoResponse> stationInfos = computeDistance(coordinate, stationInfolist);
+            //根据距离排序
+            distanceAndResidueSeat = getDistanceAndResidueSeat(stationInfos);
+        }
+        StationInfoVo stationInfoVo=new StationInfoVo();
+        if(stationInfo.getPageSize()==0){
+            stationInfoVo.setPageSize(10);
+        }else{
+            stationInfoVo.setPageSize(stationInfo.getPageSize());
+        }
+        stationInfoVo.setPageNum(stationInfo.getPageNum());
+        if(distanceAndResidueSeat!=null&&distanceAndResidueSeat.size()>0){
+            if( distanceAndResidueSeat.size()<=stationInfoVo.getPageNum()*stationInfoVo.getPageSize() || distanceAndResidueSeat.size()>stationInfoVo.getPageNum()*stationInfoVo.getPageSize()){
+                List<StationInfoResponse> ss= PageUtil.splitList(distanceAndResidueSeat,stationInfo.getPageSize(),stationInfo.getPageNum());
+                stationInfoVo.setStationInfoResponseList(ss);
+                stationInfoVo.setTotal(ss.size());
+            }
+        }
+        return stationInfoVo;
+    }
+
     //更新LNG平台加气油站余额
     @Override
     public void updateStationBalance(StationInfo stationInfo) {
@@ -116,8 +148,12 @@ public class StationServiceImpl implements StationService {
         if(StringUtils.isNotBlank(stationRequest.getAppId())){
             example.or().andAppIdEqualTo(stationRequest.getAppId());
         }
-        //example.or().andJiBieEqualTo(stationRequest.getJiBie());
-        //example.or().andIsAliPayFlagEqualTo(stationRequest.getIsAliPayFlag());
+//        if(StringUtils.isNotBlank(stationRequest.getJiBie())){
+//            example.or().andJiBieEqualTo(stationRequest.getJiBie());
+//        }
+//        if(StringUtils.isNotBlank(stationRequest.getIsAliPayFlag())){
+//            example.or().andIsAliPayFlagEqualTo(stationRequest.getIsAliPayFlag());
+//        }
         // 数据库查询门店数据
         List<StationInfo> stationInfolist = stationInfoMapper.selectByExample(example);
         // 入参坐标拼接

+ 1 - 1
YijiaRestful/src/main/java/com/platform/yijia/utils/CodeMsg.java

@@ -38,7 +38,7 @@ public class CodeMsg {
 
     public static CodeMsg NO_PERSONNAL = new CodeMsg(-4,"该油站或油枪未添加或绑定加油员");
     public static CodeMsg MORE_PERSONNAL = new CodeMsg(-6,"该油站或油枪未有绑定多个加油员");
-    public static CodeMsg NO_ENABLE_COUPON = new CodeMsg(-5,"该油站暂未开启积分功能");
+    public static CodeMsg NO_ENABLE_COUPON = new CodeMsg(-5,"该油站暂未开启优惠券功能");
 
 
     //优惠券业务返回code

+ 1 - 1
YijiaRestful/src/main/resources/mapper/CouponMapper.xml

@@ -568,7 +568,7 @@
             coupon_user
         <where>
              coupon_is_effective ="1"
-            <if test="unionId !=null and unionId !=''">
+            <if test="couponId !=null and couponId !=''">
                 AND coupon_id = #{couponId}
             </if>
             <if test="unionId !=null and unionId !=''">

+ 3 - 2
YijiaRestful/src/main/resources/mapper/StationInfoMapper.xml

@@ -49,6 +49,7 @@
     <result column="print_device_type"    jdbcType="VARCHAR" property="printDeviceType" />
     <result column="app_id"               jdbcType="VARCHAR" property="appId" />
     <result column="gzh_app_id"           jdbcType="VARCHAR" property="gzhAppId" />
+    <result column="is_alipay_flag"           jdbcType="VARCHAR" property="isAliPayFlag" />
   </resultMap>
   <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.platform.yijia.pojo.StationInfo">
     <result column="station_pic" jdbcType="LONGVARBINARY" property="stationPic" />
@@ -145,7 +146,7 @@
       T1.station_pic
     FROM          sys_dept      AS T1
     <where>
-        T1.ji_bie = "2" AND T1.parent_id !=3
+        T1.ji_bie = "2" AND T1.parent_id !=3 AND T1.is_alipay_flag = "1" AND T1.del_flag ="0" AND T1.status = "0"
     </where>
     ORDER BY T1.dept_id
   </select>
@@ -273,7 +274,7 @@
       This element is automatically generated by MyBatis Generator, do not modify.
     -->
     dept_id, parent_id, dept_name, dept_address, city, oil_gun_num, leader, phone,
-    station_longitude, station_latitude, mno
+    station_longitude, station_latitude, mno, is_alipay_flag
   </sql>
   <sql id="Blob_Column_List">
     <!--