huangzhiguo %!s(int64=2) %!d(string=hai) anos
pai
achega
b5f81db902

+ 4 - 0
src/main/java/com/caimei365/manager/entity/caimei/svip/CmCoupon.java

@@ -177,4 +177,8 @@ public class CmCoupon {
      * 商品回显
      */
     private List<CmCouponAssociate> associateList;
+    /**
+     * 月份Id
+     */
+    private String montId;
 }

+ 3 - 1
src/main/java/com/caimei365/manager/service/SendSmsService.java

@@ -7,6 +7,7 @@ import com.caimei365.manager.config.thinkgem.Global;
 import com.caimei365.manager.dao.newOrderDao;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -27,6 +28,7 @@ import java.util.regex.Pattern;
 public class SendSmsService {
 
     @Autowired private newOrderDao orderDao;
+    @Autowired private Environment environment;
 
     public boolean getSendSms(int markId, String mobile, String content) throws Exception {
         String config = Global.getConfig("cm.config");
@@ -47,7 +49,7 @@ public class SendSmsService {
                     Map<String, Object> map = new HashMap<>(2);
                     map.put("content", content);
                     map.put("mobile", mobile);
-                    String coreServer = Global.getConfig("caimei.core");
+                    String coreServer = environment.getProperty("caimei.coreDomain");
                     String url = coreServer + "/tools/sms/send";
                     String result = HttpRequest.sendPost(url, map);
                     JSONObject parseObject = JSONObject.parseObject(result);

+ 10 - 0
src/main/java/com/caimei365/manager/service/caimei/svip/impl/CmCouponService.java

@@ -5,6 +5,7 @@ import com.caimei365.manager.config.utils.UploadPicUtils;
 import com.caimei365.manager.dao.svip.CmSvipHistoryDao;
 import com.caimei365.manager.entity.caimei.svip.CmCoupon;
 import com.caimei365.manager.entity.caimei.svip.CmCouponAssociate;
+import com.caimei365.manager.entity.caimei.svip.CmVipCouponRelation;
 import com.caimei365.manager.entity.caimei.svip.NewCmShop;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -63,6 +64,15 @@ public class CmCouponService {
         }
         if (null == cmCoupon.getId()) {
             historyDao.insertCoupon(cmCoupon);
+            if (StringUtils.isNotBlank(cmCoupon.getMontId())) {
+                CmVipCouponRelation relation = new CmVipCouponRelation();
+                relation.setMontId(cmCoupon.getMontId());
+                relation.setCouponId(cmCoupon.getId());
+                relation.setUpdateTime(new Date());
+                relation.setDelFlag("0");
+                // 新增
+                historyDao.insertVipCouponRelation(relation);
+            }
         } else {
             historyDao.updateCoupon(cmCoupon);
         }

+ 8 - 23
src/main/java/com/caimei365/manager/service/caimei/svip/impl/CmSvipHistoryServiceImpl.java

@@ -240,6 +240,7 @@ public class CmSvipHistoryServiceImpl implements CmSvipHistoryService {
             }
             setVipCouponStatus(vipCoupon);
             List<String> bindCoupons = historyDao.getBindCoupons(vipCoupon.getId());
+            // 优惠券信息
             List<CmCoupon> couponList = historyDao.getCouponListByIds(bindCoupons, cmVipCoupon.getCouponType(), cmVipCoupon.getStatus());
             Date date = new Date();
             couponList.forEach(coupon -> {
@@ -419,33 +420,11 @@ public class CmSvipHistoryServiceImpl implements CmSvipHistoryService {
                     cp.setShopId(cp.getShopId());
                     cp.setCouponType(3);
                 }
-
+                cp.setMontId(cmVipCoupon.getId());
                 cmCouponService.save(cp);
 
             });
         }
-        /*coupon1.setName("超级会员优惠券"+svipcouponForm.getMonth());
-        coupon1.setStartDate(beginTime);
-        coupon1.setEndDate(endTime);
-        coupon1.setCouponAmount(svipcouponForm.getCouponAmount1());
-        coupon1.setTouchPrice(svipcouponForm.getTouchPrice1());
-        coupon1.setStatus("1");
-        coupon1.setVipFlag(1);
-        // 0活动券 1品类券 3店铺券
-        if ("0".equals(svipcouponForm.getCouponType1())){
-            coupon1.setCouponType(0);
-            coupon1.setProductType(svipcouponForm.getProductType1());
-            if ("2".equals(svipcouponForm.getProductType1())){
-                // 指定商品
-                coupon1.setProductInfo(svipcouponForm.getProductInfo1());
-            }
-        } else if ("1".equals(svipcouponForm.getCouponType1())) {
-            coupon1.setCategoryType(svipcouponForm.getCategoryType1());
-            coupon1.setCouponType(1);
-        } else if ("3".equals(svipcouponForm.getCouponType1())) {
-            coupon1.setShopId(svipcouponForm.getShopId1());
-            coupon1.setCouponType(3);
-        }*/
         /*
          * vip优惠券月份关系
          */
@@ -672,6 +651,12 @@ public class CmSvipHistoryServiceImpl implements CmSvipHistoryService {
         cmSvipProduct.setProductId(cmSvipProduct.getProductId());
         //保存/修改同步处理cm_svip_product_sku表数据
         if (null == cmSvipProduct.getId()) {
+            List<Product> productImage = historyDao.findProductImage(new Product());
+            for(Product p : productImage){
+                if (p.getProductId().equals(cmSvipProduct.getProductId())) {
+                    return ResponseJson.error(-1, "该商品以是超级会员商品,请勿重复添加", null);
+                }
+            }
             cmSvipProduct.setSort(1);
             cmSvipProduct.setStatus(1);
         } else {

+ 24 - 18
src/main/resources/mapper/svip/CmSvipHistoryDao.xml

@@ -248,26 +248,26 @@
     </select>
     <select id="findUserList" resultType="com.caimei365.manager.entity.caimei.CmUser">
         SELECT
-        clubID as clubId,
-        userID as userId,
-        name,
-        sname AS shortName,
-        linkMan,
-        contractMobile as contractMobile
-        FROM
-        club
+        c.clubID as clubId,
+        c.userID as userId,
+        c.name,
+        c.sname AS shortName,
+        u.userName as linkMan,
+        c.contractMobile as contractMobile
+        FROM club c
+        left join user u on u.userID = c.userID
         WHERE
-        status IN (1, 90)
+        c.status IN (1, 90)
         <if test="clubId != null and clubId != ''">
-            AND clubId = #{clubId}
+            AND c.clubId = #{clubId}
         </if>
         <if test="name != null and name != ''">
-            AND name LIKE CONCAT('%',#{name},'%')
+            AND c.name LIKE CONCAT('%',#{name},'%')
         </if>
         <if test="shortName != null and shortName != ''">
-            AND sname LIKE CONCAT('%',#{shortName},'%')
+            AND c.sname LIKE CONCAT('%',#{shortName},'%')
         </if>
-        ORDER BY clubId ASC
+        ORDER BY c.clubId ASC
     </select>
     <select id="findVipUser" resultType="com.caimei365.manager.entity.caimei.svip.CmSvipHistory">
         select beginTime, endTime, updateTime, userId
@@ -515,10 +515,13 @@
     </update>
 
     <select id="findCouponList" resultType="com.caimei365.manager.entity.caimei.svip.CmVipCoupon">
-        SELECT cs.id, cs.useTime, cs.status, cs.updateTime, cs.delFlag
+        SELECT distinct cs.id, cs.useTime, cs.status, cs.updateTime, cs.delFlag
         FROM cm_svip_coupon_month cs
+        LEFT JOIN cm_svip_coupon csc ON csc.montId = cs.id
+        LEFT JOIN cm_coupon cc ON cc.id = csc.couponId
         <where>
             AND cs.delFlag = 0
+            AND cc.delFlag = 0 AND cc.vipFlag = 1
             <if test="startDate!=null and startDate!=''">
                 AND cs.useTime <![CDATA[  >=  ]]> #{startDate}
             </if>
@@ -529,17 +532,20 @@
             <if test="status!=null and status!=''">
                 <if test='status == "0"'>
                     AND cs.status != '2'
-                    AND cs.useTime <![CDATA[ > ]]> DATE_FORMAT(NOW(), '%Y-%m')
+                    AND NOW() <![CDATA[ < ]]> cc.startDate
+                    # AND cs.useTime <![CDATA[ > ]]> DATE_FORMAT(NOW(), '%Y-%m')
                 </if>
                 <if test='status == "1"'>
                     AND cs.status != '2'
-                    AND cs.useTime <![CDATA[ = ]]> DATE_FORMAT(NOW(), '%Y-%m')
+                    AND NOW() BETWEEN cc.startDate AND cc.endDate
+                    # AND cs.useTime <![CDATA[ = ]]> DATE_FORMAT(NOW(), '%Y-%m')
                 </if>
                 <if test='status == "2"'>
                     AND cs.status = '2'
                 </if>
                 <if test='status == "3"'>
                     AND cs.status != '2'
+                    AND NOW() <![CDATA[ > ]]> cc.endDate
                     AND cs.useTime <![CDATA[ < ]]> DATE_FORMAT(NOW(), '%Y-%m')
                 </if>
             </if>
@@ -607,12 +613,12 @@
     <update id="delSvipCoupon">
         update cm_svip_coupon
         set delFlag = 1
-        where id = #{id}
+        where couponId = #{id}
     </update>
     <update id="delSvipProduct">
         update cm_coupon_product
         set delFlag = 1
-        where id = #{id}
+        where couponId = #{id}
     </update>
     <select id="getBindCoupons" resultType="java.lang.String">
         SELECT couponId from cm_svip_coupon  WHERE montId = #{montId} AND delFlag=0