Jelajahi Sumber

优惠券站内消息提交

Duan_xu 2 tahun lalu
induk
melakukan
fa3561d37a

+ 120 - 1
src/main/java/com/caimei/modules/coupon/web/CmCouponController.java

@@ -29,6 +29,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -129,10 +130,128 @@ public class CmCouponController extends BaseController {
     }
 
     @RequestMapping(value = "save")
-    public String save(CmCoupon cmCoupon, Model model, RedirectAttributes redirectAttributes) {
+    public String save(CmCoupon cmCoupon, Model model, RedirectAttributes redirectAttributes) throws ParseException {
         if (!beanValidator(model, cmCoupon)) {
             return form(cmCoupon, model);
         }
+
+
+
+        /**
+         * 站内消息-优惠券推送
+         */
+        Date date = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+        //登入的日期
+            List<Integer> clubIds=messageCenterDao.ClubIds();
+           clubIds.forEach(clubId->{
+               CmUser user = messageCenterDao.clubList(clubId);
+               int coumt = 0;//计数五种消息只推送一条
+               String catego = "";
+               Integer ts=(date.compareTo(cmCoupon.getStartDate()));
+                  if(ts>=0){
+                   if ("90".equals(user.getClubStatus())) {
+                       CmCoupon coupon = messageCenterDao.CouponList(0);//查询优惠券信息
+                       if(coupon!=null){
+                       String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
+                       MessageCenter messageCenter = new MessageCenter();
+                       messageCenter.setShopId(null);
+                       messageCenter.setClubId(clubId);
+                       messageCenter.setUserType(1);
+                       messageCenter.setMessageType(4);
+                       messageCenter.setContent(null);
+                       messageCenter.setTime(curDateStr);
+                       messageCenter.setCouponType(0);
+                       messageCenter.setCouponMessageType(1);
+                       messageCenter.setCouponFee(coupon.getCouponAmount().doubleValue());
+                       messageCenterDao.addMessageCenter(messageCenter);
+                       coumt++;
+                       }
+                   } else if ("90".equals(user.getClubStatus()) && coumt == 0) {
+                       CmCoupon coupon = messageCenterDao.CouponList(1);//查询优惠券信息
+                       if(coupon!=null) {
+                           String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
+                           MessageCenter messageCenter = new MessageCenter();
+                           messageCenter.setShopId(null);
+                           messageCenter.setClubId(clubId);
+                           messageCenter.setUserType(1);
+                           messageCenter.setMessageType(4);
+                           if (coupon != null && "1".equals(coupon.getCategoryType())) {
+                               catego = "产品";
+                           }
+                           if (coupon != null && "2".equals(coupon.getCategoryType())) {
+                               catego = "仪器";
+                           }
+                           messageCenter.setContent(catego);
+                           messageCenter.setTime(curDateStr);
+                           messageCenter.setCouponType(1);
+                           messageCenter.setCouponMessageType(1);
+                           messageCenter.setCouponFee(coupon.getCouponAmount().doubleValue());
+                           messageCenterDao.addMessageCenter(messageCenter);
+                           coumt++;
+                       }
+                   } else if (coumt == 0) {
+                       CmCoupon coupon = messageCenterDao.CouponList(2);//查询优惠券信息
+                       if(coupon!=null){
+                       String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
+                       MessageCenter messageCenter = new MessageCenter();
+                       if (coupon != null && coupon.getUserId() != null) {
+                           messageCenter.setShopId(null);
+                           messageCenter.setClubId(clubId);
+                           messageCenter.setUserType(1);
+                           messageCenter.setMessageType(4);
+                           messageCenter.setContent(null);
+                           messageCenter.setTime(curDateStr);
+                           messageCenter.setCouponType(2);
+                           messageCenter.setCouponMessageType(1);
+                           messageCenter.setCouponFee(coupon.getCouponAmount().doubleValue());
+                           messageCenterDao.addMessageCenter(messageCenter);
+                           coumt++;
+                       }
+                       }
+                   } else if ("90".equals(user.getClubStatus()) && coumt == 0) {
+                       CmCoupon coupon = messageCenterDao.CouponList(3);//查询优惠券信息
+                       if(coupon!=null) {
+                           String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
+                           MessageCenter messageCenter = new MessageCenter();
+                           messageCenter.setShopId(null);
+                           messageCenter.setClubId(clubId);
+                           messageCenter.setUserType(1);
+                           messageCenter.setMessageType(4);
+                           messageCenter.setContent(user.getName());
+                           messageCenter.setTime(curDateStr);
+                           messageCenter.setCouponType(3);
+                           messageCenter.setCouponMessageType(1);
+                           messageCenter.setCouponFee(coupon.getCouponAmount().doubleValue());
+                           messageCenterDao.addMessageCenter(messageCenter);
+                           coumt++;
+                       }
+                   } else if (coumt == 0) {
+                       CmCoupon coupon = messageCenterDao.CouponList(4);//查询优惠券信息
+                       if(coupon!=null){
+                       String startDate = sdf.format(coupon.getStartDate());
+                       int num = startDate.compareTo(user.getRegisterTime());
+                       if (num > 0) {
+                           String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
+                           MessageCenter messageCenter = new MessageCenter();
+                           if (coupon != null && coupon.getUserId() != null) {
+                               messageCenter.setShopId(null);
+                               messageCenter.setClubId(clubId);
+                               messageCenter.setUserType(1);
+                               messageCenter.setMessageType(4);
+                               messageCenter.setContent(null);
+                               messageCenter.setTime(curDateStr);
+                               messageCenter.setCouponType(4);
+                               messageCenter.setCouponMessageType(1);
+                               messageCenter.setCouponFee(coupon.getCouponAmount().doubleValue());
+                               messageCenterDao.addMessageCenter(messageCenter);
+                               coumt++;
+                           }
+                           }
+                       }
+                   }
+               }
+               });
         cmCouponService.save(cmCoupon);
         addMessage(redirectAttributes, "保存优惠券成功");
         return "redirect:" + Global.getAdminPath() + "/coupon/cmCoupon/list?couponType=" + cmCoupon.getCouponType();

+ 6 - 6
src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java

@@ -702,12 +702,12 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
                         //推送信息中心-交易物流
                        Integer clubId= messageCenterDao.clubIdCule(newOrder.getUserID());
                         MessageCenter messageCenter=new MessageCenter();
-                        messageCenter.setShopID(null);
-                        messageCenter.setClubID(clubId);
+                        messageCenter.setShopId(null);
+                        messageCenter.setClubId(clubId);
                         messageCenter.setUserType(1);
                         messageCenter.setMessageType(1);
                         messageCenter.setOrderMessageType(3);
-                        messageCenter.setOrderID(newOrder.getOrderID());
+                        messageCenter.setOrderId(newOrder.getOrderID());
                         messageCenter.setContent(returnedPurchase.getRefundFee().toString());
                         messageCenter.setTime(curDateStr);
                         messageCenterDao.addMessageCenter(messageCenter);
@@ -723,12 +723,12 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
                         //推送信息中心-交易物流
                         Integer clubId= messageCenterDao.clubIdCule(newOrder.getUserID());
                         MessageCenter messageCenter=new MessageCenter();
-                        messageCenter.setShopID(null);
-                        messageCenter.setClubID(clubId);
+                        messageCenter.setShopId(null);
+                        messageCenter.setClubId(clubId);
                         messageCenter.setUserType(1);
                         messageCenter.setMessageType(1);
                         messageCenter.setOrderMessageType(3);
-                        messageCenter.setOrderID(newOrder.getOrderID());
+                        messageCenter.setOrderId(newOrder.getOrderID());
                         messageCenter.setContent(returnedPurchase.getRefundFee().toString());
                         messageCenter.setTime(curDateStr);
                         messageCenterDao.addMessageCenter(messageCenter);

+ 9 - 9
src/main/java/com/caimei/modules/order/service/NewOrderService.java

@@ -1711,12 +1711,12 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
                     //推送信息中心-交易物流
                     String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(dat);
                     MessageCenter messageCenter=new MessageCenter();
-                    messageCenter.setShopID(null);
-                    messageCenter.setClubID(shopOrder.getClubID());
+                    messageCenter.setShopId(null);
+                    messageCenter.setClubId(shopOrder.getClubID());
                     messageCenter.setUserType(1);
                     messageCenter.setMessageType(1);
                     messageCenter.setOrderMessageType(5);
-                    messageCenter.setOrderID(shopOrder.getOrderID());
+                    messageCenter.setOrderId(shopOrder.getOrderID());
                     messageCenter.setContent(null);
                     messageCenter.setTime(curDateStr);
                     messageCenterDao.addMessageCenter(messageCenter);
@@ -1763,12 +1763,12 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
                     String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
                     //推送信息中心-交易物流
                     MessageCenter messageCenter=new MessageCenter();
-                    messageCenter.setShopID(null);
-                    messageCenter.setClubID(order.getClubID());
+                    messageCenter.setShopId(null);
+                    messageCenter.setClubId(order.getClubID());
                     messageCenter.setUserType(1);
                     messageCenter.setMessageType(1);
                     messageCenter.setOrderMessageType(5);
-                    messageCenter.setOrderID(order.getOrderID());
+                    messageCenter.setOrderId(order.getOrderID());
                     messageCenter.setContent(null);
                     messageCenter.setTime(curDateStr);
                     messageCenterDao.addMessageCenter(messageCenter);
@@ -1805,12 +1805,12 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
                 String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
                 //推送信息中心-交易物流
                 MessageCenter messageCenter=new MessageCenter();
-                messageCenter.setShopID(null);
-                messageCenter.setClubID(order.getClubID());
+                messageCenter.setShopId(null);
+                messageCenter.setClubId(order.getClubID());
                 messageCenter.setUserType(1);
                 messageCenter.setMessageType(1);
                 messageCenter.setOrderMessageType(5);
-                messageCenter.setOrderID(order.getOrderID());
+                messageCenter.setOrderId(order.getOrderID());
                 messageCenter.setContent(null);
                 messageCenter.setTime(curDateStr);
                 messageCenterDao.addMessageCenter(messageCenter);

+ 4 - 4
src/main/java/com/caimei/modules/product/web/ProductNewController.java

@@ -894,8 +894,8 @@ public class ProductNewController extends BaseController {
             MessageCenter messageCenter = new MessageCenter();
            Integer shopid= messageCenterDao.shopID(productID);
            if("8".equals(validFlag)){
-               messageCenter.setShopID(shopid);
-               messageCenter.setClubID(null);
+               messageCenter.setShopId(shopid);
+               messageCenter.setClubId(null);
                messageCenter.setUserType(2);
                messageCenter.setMessageType(2);
                messageCenter.setShopMessType(3);
@@ -904,8 +904,8 @@ public class ProductNewController extends BaseController {
                messageCenterDao.addMessageCenter(messageCenter);
            }
             if(newvalidFlag==2){
-                messageCenter.setShopID(shopid);
-                messageCenter.setClubID(null);
+                messageCenter.setShopId(shopid);
+                messageCenter.setClubId(null);
                 messageCenter.setUserType(2);
                 messageCenter.setMessageType(2);
                 messageCenter.setShopMessType(4);

+ 7 - 0
src/main/java/com/caimei/modules/user/dao/MessageCenterDao.java

@@ -1,5 +1,6 @@
 package com.caimei.modules.user.dao;
 
+import com.caimei.modules.coupon.entity.CmCoupon;
 import com.caimei.modules.user.entity.ClubChangeSp;
 import com.caimei.modules.user.entity.ClubTemporary;
 import com.caimei.modules.user.entity.CmUser;
@@ -11,6 +12,8 @@ import com.caimei.modules.user.entity.MessageCenter;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
 
+import java.util.List;
+
 /**
  * Description
  *
@@ -28,4 +31,8 @@ public interface MessageCenterDao extends CrudDao<MessageCenter> {
     Integer clubIdCule(Integer userId);
 
     CmUser clubList(Integer userId);
+
+    List<Integer> ClubIds();
+
+    CmCoupon CouponList(Integer couponType);
 }

+ 141 - 33
src/main/java/com/caimei/modules/user/entity/MessageCenter.java

@@ -7,15 +7,23 @@ public class MessageCenter extends DataEntity<MessageCenter> {
 
 
     /**
-    供应商id
+     *消息id
      */
-    private Integer shopID;
+    private String id;
     /**
-    机构id
+     供应商id
      */
-    private Integer clubID;
+    private Integer shopId;
     /**
-   用户类型1.机构2.供应商
+     机构id
+     */
+    private Integer clubId;
+    /**
+     * 订单ID
+     */
+    private Integer orderId;
+    /**
+     用户类型1.机构2.供应商
      */
     private Integer userType;
     /**
@@ -34,36 +42,144 @@ public class MessageCenter extends DataEntity<MessageCenter> {
      *账户通知类型 1.注册成功通知 2.购买超级会员成功 3.超级会员到期提醒 4.超级会员到期提醒 5.升级资质机构成功 6.升级资质机构失败 7.成为机构运营人员通知
      */
     private Integer accountType;
-
     /**
-     *订单id
+     * 优惠券类型 1.优惠券待领取通知 2.优惠券过期通知
+     */
+    private Integer couponType;
+    /**
+     * 优惠券金额
+     */
+    private Double couponFee;
+    /**
+     * 主图
      */
-private Integer orderID;
-/*
-订单信息中心类型
- */
-private Integer orderMessageType;
+    private String mainImage;
     /**
-     *供应商消息类型 1,账号审核通知,2.成为公司运营人员通知,3.商品上架审核通知,4.新品展示审核通知
+     * 是否能走线上支付 0可以 1不可以 只能线下
+     */
+    private Integer onlinePayFlag;
+    /**
+     * 商品名称
+     */
+    private String productName;
+    /**
+     *供应商消息类型 1,账号审核通知,2.成为公司运营人员通知,3.商品上架审核通知,4.新品展示审核通知,5.上架费到期通知 6.商品资质到期通知
      */
     private Integer shopMessType;
+    /**
+     *供应商服务消息类型 1.上架费
+     */
+    private Integer shopTieredType;
+    /**
+     * 交易物流1.下单成功通知  2.订单支付完成 3.退款/货成功通知 4.订单取消通知 5.订单发货通知 6.自动收货通知
+     */
+    private Integer orderMessageType;
+    /**
+     * 0.未读 , 1.已读
+     */
+    private Integer saved;
+    /**
+     * 优惠券类型 1.优惠券待领取通知 2.优惠券过期通知
+     */
+    private Integer couponMessageType;
+
+
+    @Override
+    public String getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Integer getShopId() {
+        return shopId;
+    }
+
+    public void setShopId(Integer shopId) {
+        this.shopId = shopId;
+    }
+
+    public Integer getClubId() {
+        return clubId;
+    }
+
+    public void setClubId(Integer clubId) {
+        this.clubId = clubId;
+    }
+
+    public Integer getOrderId() {
+        return orderId;
+    }
 
+    public void setOrderId(Integer orderId) {
+        this.orderId = orderId;
+    }
+
+    public Integer getCouponType() {
+        return couponType;
+    }
+
+    public void setCouponType(Integer couponType) {
+        this.couponType = couponType;
+    }
+
+    public Double getCouponFee() {
+        return couponFee;
+    }
+
+    public void setCouponFee(Double couponFee) {
+        this.couponFee = couponFee;
+    }
+
+    public String getMainImage() {
+        return mainImage;
+    }
+
+    public void setMainImage(String mainImage) {
+        this.mainImage = mainImage;
+    }
+
+    public Integer getOnlinePayFlag() {
+        return onlinePayFlag;
+    }
+
+    public void setOnlinePayFlag(Integer onlinePayFlag) {
+        this.onlinePayFlag = onlinePayFlag;
+    }
+
+    public String getProductName() {
+        return productName;
+    }
 
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
 
-    public Integer getShopID() {
-        return shopID;
+    public Integer getShopTieredType() {
+        return shopTieredType;
     }
 
-    public void setShopID(Integer shopID) {
-        this.shopID = shopID;
+    public void setShopTieredType(Integer shopTieredType) {
+        this.shopTieredType = shopTieredType;
     }
 
-    public Integer getClubID() {
-        return clubID;
+    public Integer getSaved() {
+        return saved;
     }
 
-    public void setClubID(Integer clubID) {
-        this.clubID = clubID;
+    public void setSaved(Integer saved) {
+        this.saved = saved;
+    }
+
+    public Integer getCouponMessageType() {
+        return couponMessageType;
+    }
+
+    public void setCouponMessageType(Integer couponMessageType) {
+        this.couponMessageType = couponMessageType;
     }
 
     public Integer getUserType() {
@@ -106,12 +222,12 @@ private Integer orderMessageType;
         this.accountType = accountType;
     }
 
-    public Integer getOrderID() {
-        return orderID;
+    public Integer getShopMessType() {
+        return shopMessType;
     }
 
-    public void setOrderID(Integer orderID) {
-        this.orderID = orderID;
+    public void setShopMessType(Integer shopMessType) {
+        this.shopMessType = shopMessType;
     }
 
     public Integer getOrderMessageType() {
@@ -121,12 +237,4 @@ private Integer orderMessageType;
     public void setOrderMessageType(Integer orderMessageType) {
         this.orderMessageType = orderMessageType;
     }
-
-    public Integer getShopMessType() {
-        return shopMessType;
-    }
-
-    public void setShopMessType(Integer shopMessType) {
-        this.shopMessType = shopMessType;
-    }
 }

+ 3 - 0
src/main/java/com/caimei/modules/user/web/NewCmShopController.java

@@ -2,9 +2,11 @@ package com.caimei.modules.user.web;
 
 import com.caimei.constants.ShopStatus;
 import com.caimei.modules.opensearch.CoreServiceUitls;
+import com.caimei.modules.order.entity.CmDiscernReceipt;
 import com.caimei.modules.sys.utils.CmMsgUtils;
 import com.caimei.modules.sys.utils.SMSUtils;
 import com.caimei.modules.user.dao.CmUserDao;
+import com.caimei.modules.user.dao.MessageCenterDao;
 import com.caimei.modules.user.dao.NewCmShopDao;
 import com.caimei.modules.user.entity.*;
 import com.caimei.modules.user.service.*;
@@ -33,6 +35,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 

+ 4 - 4
src/main/java/com/caimei/modules/user/web/newUser/AgencyController.java

@@ -851,8 +851,8 @@ public class AgencyController extends BaseController {
                 Date date = new Date();
                 String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
                 MessageCenter messageCenter=new MessageCenter();
-                messageCenter.setShopID(null);
-                messageCenter.setClubID(newCmClub.getClubID());
+                messageCenter.setShopId(null);
+                messageCenter.setClubId(newCmClub.getClubID());
                 messageCenter.setUserType(1);
                 messageCenter.setMessageType(2);
                 messageCenter.setContent(null);
@@ -875,8 +875,8 @@ public class AgencyController extends BaseController {
                 Date date = new Date();
                 String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
                 MessageCenter messageCenter=new MessageCenter();
-                messageCenter.setShopID(null);
-                messageCenter.setClubID(newCmClub.getClubID());
+                messageCenter.setShopId(null);
+                messageCenter.setClubId(newCmClub.getClubID());
                 messageCenter.setUserType(1);
                 messageCenter.setMessageType(2);
                 messageCenter.setAccountType(6);

+ 22 - 3
src/main/resources/mappings/modules/user/MessageCenter.xml

@@ -1,9 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei.modules.user.dao.MessageCenterDao">
+<!--    <insert id="addMessageCenter">-->
+<!--        INSERT INTO message_center (shopID, clubID, userType, messageType,content,time,accountType,orderID,orderMessageType,shopMessType)-->
+<!--        VALUES (#{shopId}, #{clubId}, #{userType}, #{messageType},#{content},#{time},#{accountType},#{orderID},#{orderMessageType},#{shopMessType})-->
+<!--    </insert>-->
     <insert id="addMessageCenter">
-        INSERT INTO message_center (shopID, clubID, userType, messageType,content,time,accountType,orderID,orderMessageType,shopMessType)
-        VALUES (#{shopID}, #{clubID}, #{userType}, #{messageType},#{content},#{time},#{accountType},#{orderID},#{orderMessageType},#{shopMessType})
+        INSERT INTO message_center (shopID, clubID, userType, messageType, content,time,accountType,couponType,couponFee,couponMessageType,orderID,orderMessageType,shopMessType)
+        VALUES (#{shopId}, #{clubId}, #{userType}, #{messageType}, #{content},#{time},#{accountType},#{couponType},#{couponFee},#{couponMessageType},#{orderId},#{orderMessageType},#{shopMessType})
     </insert>
 
     <select id="clubIdCule" resultType="java.lang.Integer">
@@ -11,9 +15,24 @@
     </select>
 
     <select id="clubList" resultType="com.caimei.modules.user.entity.CmUser">
-        SELECT * FROM `user` WHERE userId=#{userId}
+        SELECT * FROM `user` WHERE clubId=#{clubId}  LIMIT 1
     </select>
     <select id="shopID" resultType="java.lang.Integer">
         SELECT shopID FROM `product` WHERE productID=#{productID}
     </select>
+
+    <select id="ClubIds" resultType="java.lang.Integer">
+        SELECT clubID FROM `user` WHERE YEAR(loginTime)>YEAR(NOW())-3 AND clubID IS NOT NULL
+    </select>
+
+    <select id="CouponList" resultType="com.caimei.modules.coupon.entity.CmCoupon">
+        SELECT * FROM cm_coupon WHERE couponType=#{couponType}
+                                  AND NOW() >= startDate
+                                  AND endDate >= NOW()
+                                  AND status=1
+                                  AND delFlag=0
+        ORDER BY id DESC
+        LIMIT 1
+    </select>
+
 </mapper>