Browse Source

超级会员

huangzhiguo 2 years ago
parent
commit
d37d034980

+ 57 - 9
src/main/java/com/caimei365/manager/controller/caimei/svip/CmSvipHistoryApi.java

@@ -1,6 +1,7 @@
 package com.caimei365.manager.controller.caimei.svip;
 package com.caimei365.manager.controller.caimei.svip;
 
 
 import com.caimei.utils.StringUtils;
 import com.caimei.utils.StringUtils;
+import com.caimei365.manager.config.utils.UploadPicUtils;
 import com.caimei365.manager.entity.PaginationVo;
 import com.caimei365.manager.entity.PaginationVo;
 import com.caimei365.manager.entity.ResponseJson;
 import com.caimei365.manager.entity.ResponseJson;
 import com.caimei365.manager.entity.caimei.CmUser;
 import com.caimei365.manager.entity.caimei.CmUser;
@@ -194,27 +195,57 @@ public class CmSvipHistoryApi {
         return historyService.findProductList(cmSvipProduct, pageNum, pageSize);
         return historyService.findProductList(cmSvipProduct, pageNum, pageSize);
     }
     }
 
 
+    /**
+     * 商品排序
+     * @param id
+     * @param sort
+     * @return
+     */
+    @GetMapping("/updateSort")
+    public ResponseJson updateSort(Integer id , Integer sort) {
+        if (null == id) {
+            ResponseJson.error(-1,"参数不能为空",null);
+        }
+        return historyService.updateSort(id, sort);
+    }
+
     /**
     /**
      * 编辑超级会员商品
      * 编辑超级会员商品
+     * @param id
+     * @return
+     */
+    @PostMapping("/editSvipProduct/{id}")
+    public ResponseJson findSkuList(@PathVariable("id") Integer id) {
+        if (null == id) {
+            return ResponseJson.error(-1,"id不能为空",null);
+        }
+        return historyService.findSkuList(id);
+    }
+
+    /**
+     * 保存超级会员商品
      * @param productId
      * @param productId
      * @return
      * @return
      */
      */
-    @GetMapping("/findSkuList")
-    public ResponseJson findSkuList(Integer productId) {
+    @PostMapping("/saveSvipProduct/{productId}")
+    public ResponseJson saveSvipProduct(@PathVariable("productId") Integer productId) {
         if (null == productId) {
         if (null == productId) {
-            return ResponseJson.error(-1,"超级会员商品id不能为空",null);
+            return ResponseJson.error(-1, "商品id为空", null);
         }
         }
-        return historyService.findSkuList(productId);
+        return historyService.saveSvipProduct(productId);
     }
     }
 
 
     /**
     /**
-     * 保存超级会员商品
-     * @param cmSvipProduct
+     * 删除超级会员商品
+     * @param id
      * @return
      * @return
      */
      */
-    @PostMapping("/saveSvipProduct")
-    public ResponseJson saveSvipProduct(CmSvipProduct cmSvipProduct) {
-        return historyService.saveSvipProduct(cmSvipProduct);
+    @PostMapping("/delSvipProduct/{id}")
+    public ResponseJson deleteSvipProduct(@PathVariable("id") Integer id) {
+        if (null == id) {
+            return ResponseJson.error(-1,"参数id不能为空", null);
+        }
+        return historyService.deleteSvipProduct(id);
     }
     }
 
 
     /**
     /**
@@ -227,6 +258,23 @@ public class CmSvipHistoryApi {
         return historyService.getAdsImage();
         return historyService.getAdsImage();
     }
     }
 
 
+    /**
+     * 保存宣传图
+     * @param adsImage
+     * @return
+     */
+    @PostMapping("/saveAdsImage")
+    public ResponseJson saveAdsImage(@RequestBody CmSvipProductAdsImage adsImage) {
+        if (StringUtils.isEmpty(adsImage.getPcImage())) {
+
+            return ResponseJson.error(-1,"请上传PC端宣传图", null);
+        } else if (StringUtils.isEmpty(adsImage.getAppletsImage())) {
+            return ResponseJson.error(-1,"请上传小程序端宣传图", null);
+        }
+
+        return historyService.saveAdsImage(adsImage);
+    }
+
     /**
     /**
      * 套餐配置
      * 套餐配置
      * @return
      * @return

+ 22 - 0
src/main/java/com/caimei365/manager/dao/svip/CmSvipHistoryDao.java

@@ -140,6 +140,22 @@ public interface CmSvipHistoryDao {
      */
      */
     List<CmSvipProduct> findProductList(CmSvipProduct svipProduct);
     List<CmSvipProduct> findProductList(CmSvipProduct svipProduct);
 
 
+    /**
+     * 更新排序
+     * @param sort
+     * @param id
+     */
+    void updateSort(@Param("sort") Integer sort, @Param("id") Integer id);
+
+    /**
+     * 删除超级会员商品
+     */
+    void deleteSvipProducr(@Param("id") Integer id);
+
+    /**
+     * 删除超级会员商品sku
+     */
+    void deleteById(@Param("id") Integer id);
     /**
     /**
      * 超级会员商品编辑数据
      * 超级会员商品编辑数据
      * @param productId
      * @param productId
@@ -167,6 +183,12 @@ public interface CmSvipHistoryDao {
      */
      */
     CmSvipProductAdsImage getAdsImage();
     CmSvipProductAdsImage getAdsImage();
 
 
+    /**
+     * 保存宣传图
+     * @param adsImage
+     */
+    void saveAdsImage(CmSvipProductAdsImage adsImage);
+
     List<String> getAllUseDateList();
     List<String> getAllUseDateList();
 
 
     /**
     /**

+ 26 - 4
src/main/java/com/caimei365/manager/service/caimei/svip/CmSvipHistoryService.java

@@ -112,25 +112,47 @@ public interface CmSvipHistoryService {
      */
      */
     ResponseJson<PaginationVo<CmSvipProduct>> findProductList(CmSvipProduct svipProduct, Integer pageNum, Integer pageSize);
     ResponseJson<PaginationVo<CmSvipProduct>> findProductList(CmSvipProduct svipProduct, Integer pageNum, Integer pageSize);
 
 
+    /**
+     * 排序
+     * @param id
+     * @param sort
+     * @return
+     */
+    ResponseJson updateSort(Integer id ,Integer sort);
+
     /**
     /**
      * 编辑超级会员商品
      * 编辑超级会员商品
-     * @param productId
+     * @param id
      * @return
      * @return
      */
      */
-    ResponseJson findSkuList(Integer productId);
+    ResponseJson findSkuList(Integer id);
 
 
     /**
     /**
      * 保存超级会员商品
      * 保存超级会员商品
-     * @param cmSvipProduct
+     * @param productId
      * @return
      * @return
      */
      */
-    ResponseJson saveSvipProduct(CmSvipProduct cmSvipProduct);
+    ResponseJson saveSvipProduct(Integer productId);
+
+    /**
+     * 删除超级会员商品
+     * @param id
+     * @return
+     */
+    ResponseJson deleteSvipProduct(Integer id);
 
 
     /**
     /**
      * 宣传图
      * 宣传图
      * @return
      * @return
      */
      */
     ResponseJson getAdsImage();
     ResponseJson getAdsImage();
+
+    /**
+     *  保存宣传图
+     * @param adsImage
+     * @return
+     */
+    ResponseJson saveAdsImage(CmSvipProductAdsImage adsImage);
     /**
     /**
      * 套餐配置
      * 套餐配置
      * @return
      * @return

+ 56 - 6
src/main/java/com/caimei365/manager/service/caimei/svip/impl/CmSvipHistoryServiceImpl.java

@@ -4,6 +4,7 @@ import com.caimei.utils.AppUtils;
 import com.caimei.utils.MathUtil;
 import com.caimei.utils.MathUtil;
 import com.caimei.utils.StringUtil;
 import com.caimei.utils.StringUtil;
 import com.caimei.utils.StringUtils;
 import com.caimei.utils.StringUtils;
+import com.caimei365.manager.config.utils.UploadPicUtils;
 import com.caimei365.manager.dao.svip.CmSvipHistoryDao;
 import com.caimei365.manager.dao.svip.CmSvipHistoryDao;
 import com.caimei365.manager.entity.PaginationVo;
 import com.caimei365.manager.entity.PaginationVo;
 import com.caimei365.manager.entity.ResponseJson;
 import com.caimei365.manager.entity.ResponseJson;
@@ -352,6 +353,10 @@ public class CmSvipHistoryServiceImpl implements CmSvipHistoryService {
         List<Product> productList = historyDao.findProductImage(product);
         List<Product> productList = historyDao.findProductImage(product);
         if (productList != null && productList.size() > 0) {
         if (productList != null && productList.size() > 0) {
             productList.forEach(item -> {
             productList.forEach(item -> {
+                CmSku sku = historyDao.findSku(item.getProductId());
+                if (null != sku) {
+                    item.setPrice(sku.getPrice());
+                }
                 item.setMainImage(AppUtils.getImageURL("product", item.getMainImage(), 0, "https://www.caimei365.com/"));
                 item.setMainImage(AppUtils.getImageURL("product", item.getMainImage(), 0, "https://www.caimei365.com/"));
                 item.setProductIds(product.getProductIds());
                 item.setProductIds(product.getProductIds());
                 if (org.apache.commons.lang3.StringUtils.isNotBlank(product.getProductIds()) && product.getProductIds().contains(item.getProductId().toString())) {
                 if (org.apache.commons.lang3.StringUtils.isNotBlank(product.getProductIds()) && product.getProductIds().contains(item.getProductId().toString())) {
@@ -396,15 +401,28 @@ public class CmSvipHistoryServiceImpl implements CmSvipHistoryService {
         return ResponseJson.success(page);
         return ResponseJson.success(page);
     }
     }
 
 
+    /**
+     * 排序
+     *
+     * @param id
+     * @param sort
+     * @return
+     */
+    @Override
+    public ResponseJson updateSort(Integer id, Integer sort) {
+        historyDao.updateSort(sort, id);
+        return ResponseJson.success();
+    }
+
     /**
     /**
      * 编辑超级会员商品
      * 编辑超级会员商品
      *
      *
-     * @param productId
+     * @param id
      * @return
      * @return
      */
      */
     @Override
     @Override
-    public ResponseJson findSkuList(Integer productId) {
-        CmSvipProduct cmSvipProduct = getCmSvipProduct(productId);
+    public ResponseJson findSkuList(Integer id) {
+        CmSvipProduct cmSvipProduct = getCmSvipProduct(id);
         List<CmSku> skus = historyDao.findSkuList(cmSvipProduct.getProductId());
         List<CmSku> skus = historyDao.findSkuList(cmSvipProduct.getProductId());
         skus.forEach(s -> {
         skus.forEach(s -> {
             s.setLadderPriceList(historyDao.findLadderPriceBySku(s.getSkuId()));
             s.setLadderPriceList(historyDao.findLadderPriceBySku(s.getSkuId()));
@@ -430,13 +448,15 @@ public class CmSvipHistoryServiceImpl implements CmSvipHistoryService {
     /**
     /**
      * 保存超级会员商品
      * 保存超级会员商品
      *
      *
-     * @param cmSvipProduct
+     * @param productId
      * @return
      * @return
      */
      */
     @Override
     @Override
-    public ResponseJson saveSvipProduct(CmSvipProduct cmSvipProduct) {
+    public ResponseJson saveSvipProduct(Integer productId) {
+        CmSvipProduct cmSvipProduct = new CmSvipProduct();
+        cmSvipProduct.setProductId(productId);
         //保存/修改同步处理cm_svip_product_sku表数据
         //保存/修改同步处理cm_svip_product_sku表数据
-        if (null != cmSvipProduct.getId()) {
+        if (null == cmSvipProduct.getId()) {
             cmSvipProduct.setSort(1);
             cmSvipProduct.setSort(1);
             cmSvipProduct.setStatus(1);
             cmSvipProduct.setStatus(1);
         } else {
         } else {
@@ -461,6 +481,21 @@ public class CmSvipHistoryServiceImpl implements CmSvipHistoryService {
         return ResponseJson.success();
         return ResponseJson.success();
     }
     }
 
 
+    /**
+     * 删除超级会员商品
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public ResponseJson deleteSvipProduct(Integer id) {
+        // 删除商品
+        historyDao.deleteSvipProducr(id);
+        // 删除sku
+        historyDao.deleteById(id);
+        return ResponseJson.success();
+    }
+
     /**
     /**
      * 宣传图
      * 宣传图
      *
      *
@@ -471,6 +506,21 @@ public class CmSvipHistoryServiceImpl implements CmSvipHistoryService {
         return ResponseJson.success(historyDao.getAdsImage());
         return ResponseJson.success(historyDao.getAdsImage());
     }
     }
 
 
+    /**
+     * 保存宣传图
+     * @param adsImage
+     * @return
+     */
+    @Override
+    public ResponseJson saveAdsImage(CmSvipProductAdsImage adsImage) {
+        String pcImageUrl = UploadPicUtils.saveImageToServer(adsImage.getPcImage());
+        String appletsImageUrl = UploadPicUtils.saveImageToServer(adsImage.getAppletsImage());
+        adsImage.setPcImage(pcImageUrl);
+        adsImage.setAppletsImage(appletsImageUrl);
+        historyDao.saveAdsImage(adsImage);
+        return ResponseJson.success();
+    }
+
     @Override
     @Override
     public ResponseJson<CmSvipPackage> findPackage() {
     public ResponseJson<CmSvipPackage> findPackage() {
         // 1 套餐12 、2 套餐3月 、3 套餐1月
         // 1 套餐12 、2 套餐3月 、3 套餐1月

+ 1 - 0
src/main/java/com/caimei365/manager/service/caimei/user/impl/CmBehaviorRecordServiceImpl.java

@@ -93,6 +93,7 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
                 labels.add(cmBehaviorRecord.getLabel());
                 labels.add(cmBehaviorRecord.getLabel());
             }
             }
         }
         }
+        cmBehaviorRecord.setLabels(labels);
         List<CmBehaviorRecord> listToday = cmBehaviorRecordDao.findListToday(cmBehaviorRecord);
         List<CmBehaviorRecord> listToday = cmBehaviorRecordDao.findListToday(cmBehaviorRecord);
         listToday.forEach(t -> {
         listToday.forEach(t -> {
             if ("0".equals(t.getAccessClient())) {
             if ("0".equals(t.getAccessClient())) {

+ 21 - 0
src/main/resources/mapper/svip/CmSvipHistoryDao.xml

@@ -664,6 +664,21 @@
         </where>
         </where>
                 order by -sort desc,addTime desc
                 order by -sort desc,addTime desc
     </select>
     </select>
+    <update id="updateSort">
+        update cm_svip_product
+        set sort = #{sort}
+        where id = #{id}
+    </update>
+    <delete id="deleteSvipProducr">
+        DELETE
+        FROM cm_svip_product
+        WHERE id = #{id}
+    </delete>
+    <delete id="deleteById">
+        delete
+        from cm_svip_product_sku
+        where productId = (select productId from cm_svip_product where id = #{id})
+    </delete>
     <select id="findSkuList" resultType="com.caimei365.manager.entity.caimei.svip.CmSku">
     <select id="findSkuList" resultType="com.caimei365.manager.entity.caimei.svip.CmSku">
         select cs.skuId,
         select cs.skuId,
                cs.productId,
                cs.productId,
@@ -743,6 +758,12 @@
         from cm_svip_product_adsimage
         from cm_svip_product_adsimage
         limit 1
         limit 1
     </select>
     </select>
+    <update id="saveAdsImage">
+        update cm_svip_product_adsimage
+        set pcImage = #{pcImage},
+            appletsImage = #{appletsImage}
+        where id = 1
+    </update>
     <select id="getAllUseDateList" resultType="java.lang.String">
     <select id="getAllUseDateList" resultType="java.lang.String">
         SELECT DISTINCT useTime FROM cm_svip_coupon_month WHERE delFlag='0'
         SELECT DISTINCT useTime FROM cm_svip_coupon_month WHERE delFlag='0'
     </select>
     </select>