Browse Source

价值优惠券分享优化

zhijiezhao 1 year ago
parent
commit
b3d969d6c8

+ 2 - 10
src/main/java/com/caimei365/order/components/HeliPayUtil.java

@@ -59,12 +59,9 @@ public class HeliPayUtil {
 
     // 采美
     private final String publicCode = "wx91c4152b60ca91a3";
-    // 联合丽格
-    //    private final String mcareCode = "wxaa4acc852618da69";
 
     //小程序/公众号线上公用方法 p8 openid在自己方法传
     public AppPayPublicCreateOrderVo setOnlineValue(AppPayPublicCreateOrderVo pay, HeliDto heliDto, String payFlag, HttpHeaders headers) {
-
         String orderId = "";
         // 时间戳
         long time = System.currentTimeMillis() / 1000;
@@ -156,15 +153,10 @@ public class HeliPayUtil {
         pay.setP13_successToUrl(heliDto.getReturnUrl());
         if ("GZH".equals(heliDto.getPayType())) {
             //公众号appid
-            if (0 != heliDto.getOrganizeId()) {
-                // 联合丽格
-                pay.setP5_appid(publicCode);
-            } else {
-                pay.setP5_appid(publicCode);
-            }
+            pay.setP5_appid(publicCode);
         } else if ("XCX".equals(heliDto.getPayType())) {
             //小程序appid
-            if (0 != heliDto.getOrganizeId()) {
+            if (null != heliDto.getOrganizeId() && 0 != heliDto.getOrganizeId()) {
                 // 联合丽格
                 pay.setP5_appid(mcareAppId);
             } else {

+ 4 - 0
src/main/java/com/caimei365/order/mapper/PayOrderMapper.java

@@ -310,4 +310,8 @@ public interface PayOrderMapper {
     QuickInfoVo findInfoNotDel(String infoId);
 
     void updateShopOrderBalancePay(ShopOrderVo shopOrder);
+
+    Integer findCouponRecord(Integer userId, Integer couponId);
+
+    Integer findUserPermission(Integer userId);
 }

+ 7 - 13
src/main/java/com/caimei365/order/service/impl/HeliPayNonOrderServiceImpl.java

@@ -67,19 +67,13 @@ public class HeliPayNonOrderServiceImpl implements HeliPayNonOrderService {
 
     @Override
     public ResponseJson<PayCouponDto> getCouponRecord(PayCouponDto payCouponDto, HttpHeaders headers) {
-        //个人机构返回状态码-1  不是医美 -2
-        if (49 == payCouponDto.getCouponId()) {
-            //正式id49优惠券 普通机构和非医美机构无法购买
-            //先判断是否是普通机构,是就打回
-            Integer userIdentity = baseMapper.getIdentityByUserId(payCouponDto.getUserId());
-            if (userIdentity != null && 4 == userIdentity) {
-                return ResponseJson.error(-1, "仅供医美机构购买!", null);
-            }
-            Integer clubType = payOrderMapper.findClubType(payCouponDto.getUserId());
-            //为空或者不等于1    医美=1和生美=2
-            if (null == clubType || 1 != clubType) {
-                return ResponseJson.error(-2, "仅供医美机构购买!", null);
-            }
+        Integer userPermission = payOrderMapper.findUserPermission(payCouponDto.getUserId());
+        if (2 != userPermission && 4 != userPermission) {
+            return ResponseJson.error("仅限普通用户领取!", null);
+        }
+        Integer id = payOrderMapper.findCouponRecord(payCouponDto.getUserId(), payCouponDto.getCouponId());
+        if (null != id && id > 0) {
+            return ResponseJson.error("已领取过该优惠券!", null);
         }
         CouponRecordPo cr = new CouponRecordPo();
         cr.setCouponId(payCouponDto.getCouponId());

+ 11 - 0
src/main/resources/mapper/PayOrderMapper.xml

@@ -640,4 +640,15 @@
           and cqi.delflag = 0
         limit 1
     </select>
+    <select id="findCouponRecord" resultType="java.lang.Integer">
+        select id from cm_coupon_club
+        where userId = #{userId}
+            and couponId = #{couponId}
+            and delflag = 0
+    </select>
+    <select id="findUserPermission" resultType="java.lang.Integer">
+        select userIdentity
+        from user
+        where userID = #{userId}
+    </select>
 </mapper>