Selaa lähdekoodia

上朵六一活动

wangxiaoming 6 vuotta sitten
vanhempi
commit
c9739b2afb
20 muutettua tiedostoa jossa 604 lisäystä ja 191 poistoa
  1. 10 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/cart/CartDto.java
  2. 21 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/CouponType.java
  3. 1 1
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/SalesActivities.java
  4. 122 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/gift/SettlementGift.java
  5. 9 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/product/Product.java
  6. 25 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/gift/SettlementGiftService.java
  7. 38 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/gift/SettlementGiftServiceImpl.java
  8. 25 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/SettlementGiftMapper.java
  9. 2 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponTypeMapper.xml
  10. 23 21
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml
  11. 2 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/salesActivitiesMapper.xml
  12. 63 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/settlementGiftMapper.xml
  13. 1 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/channel/ChannelAdminHandler.java
  14. 9 12
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/coupon/CouponTypeHandler.java
  15. 32 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/mq/MQTask.java
  16. 161 104
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java
  17. 53 51
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java
  18. 1 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/utils/ActivityUtil.java
  19. 5 0
      tooth-wechat-web/src/main/resources/iamberry-wechat-service-mybatis.xml
  20. 1 1
      tooth-wechat-web/src/main/resources/iamberry-wechat-web-ioc.xml

+ 10 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/cart/CartDto.java

@@ -53,6 +53,8 @@ public class CartDto implements Serializable{
 
 	private Integer colorToothType;	//牙刷分类 1:非牙刷,非刷头 2:成人牙刷 3:儿童牙刷 4:亲子款(成人+儿童) 5:刷头
 
+	private Integer colorGiftMaxNum;	//控制一个订单最多赠送几个该产品
+
 	public String getProductColor() {
 		return productColor;
 	}
@@ -205,4 +207,12 @@ public class CartDto implements Serializable{
 	public void setColorToothType(Integer colorToothType) {
 		this.colorToothType = colorToothType;
 	}
+
+	public Integer getColorGiftMaxNum() {
+		return colorGiftMaxNum;
+	}
+
+	public void setColorGiftMaxNum(Integer colorGiftMaxNum) {
+		this.colorGiftMaxNum = colorGiftMaxNum;
+	}
 }

+ 21 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/CouponType.java

@@ -44,6 +44,11 @@ public class CouponType implements Serializable{
 	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") 
 	private Date couponCreateDate;			//创建时间
 
+	private Integer couponIsUseEnd;				//是否使用过期时间 1:使用  2:不使用
+	@DateTimeFormat(pattern="yyyy-MM-dd")
+	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+	private Date couponUseEndDate;				//设置券使用截止时间
+
 	@DateTimeFormat(pattern="yyyy-MM-dd")  
 	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") 
 	private Date couponUpdateDate;			//更新时间
@@ -244,6 +249,22 @@ public class CouponType implements Serializable{
 		this.couponIsVip = couponIsVip;
 	}
 
+	public Integer getCouponIsUseEnd() {
+		return couponIsUseEnd;
+	}
+
+	public void setCouponIsUseEnd(Integer couponIsUseEnd) {
+		this.couponIsUseEnd = couponIsUseEnd;
+	}
+
+	public Date getCouponUseEndDate() {
+		return couponUseEndDate;
+	}
+
+	public void setCouponUseEndDate(Date couponUseEndDate) {
+		this.couponUseEndDate = couponUseEndDate;
+	}
+
 	@Override
 	public String toString() {
 		return "CouponType [couponId=" + couponId + ", couponName="

+ 1 - 1
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/SalesActivities.java

@@ -17,7 +17,7 @@ public class SalesActivities  implements  Serializable{
     //名称
     private String salesActivitiesName;
     //类型 1:双十二
-    private Integer salesActivitiesType;
+    private Integer salesActivitiesType;        //同步 activityDate 的type属性
     //满足金额
     private Integer salesActivitiesFull;
     //减去金额

+ 122 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/gift/SettlementGift.java

@@ -0,0 +1,122 @@
+package com.iamberry.wechat.core.entity.gift;
+
+import  java.util.Date;
+import  java.io.Serializable;
+/**
+ *  结算赠品类
+ * @author xm
+ * @Date 2019-05-30
+ */
+public class SettlementGift  implements  Serializable{
+    private static final long serialVersionUID = -2114228683973143174L;
+    //结算赠品Id
+    private Integer settGiftId;
+    //满足颜色id
+    private Integer settGiftFillColorId;
+    //赠送的颜色id
+    private Integer settGiftGiftColorId;
+    //价格
+    private Integer settGiftPrice;
+    //赠送数量
+    private Integer settGiftNum;
+    //1.使用中 2.未使用
+    private Integer settGiftStatus;
+    //每个订单项最多能赠送该颜色的赠品数(控制订单总数量在于颜色表)
+    private Integer settGiftMaxNum;
+    //备注
+    private String settGiftDesc;
+    //开始时间
+    private Date settGiftBeginTime;
+    //结束时间
+    private Date settGiftEndTime;
+    //创建时间'
+    private Date settGiftCreateTime;
+
+    public Integer getSettGiftId(){
+        return settGiftId;
+    }
+
+    public void setSettGiftId(Integer  settGiftId){
+        this.settGiftId=settGiftId;
+    }
+
+    public Integer getSettGiftFillColorId(){
+        return settGiftFillColorId;
+    }
+
+    public void setSettGiftFillColorId(Integer  settGiftFillColorId){
+        this.settGiftFillColorId=settGiftFillColorId;
+    }
+
+    public Integer getSettGiftGiftColorId(){
+        return settGiftGiftColorId;
+    }
+
+    public void setSettGiftGiftColorId(Integer  settGiftGiftColorId){
+        this.settGiftGiftColorId=settGiftGiftColorId;
+    }
+
+    public Integer getSettGiftPrice(){
+        return settGiftPrice;
+    }
+
+    public void setSettGiftPrice(Integer  settGiftPrice){
+        this.settGiftPrice=settGiftPrice;
+    }
+
+    public Integer getSettGiftNum(){
+        return settGiftNum;
+    }
+
+    public void setSettGiftNum(Integer  settGiftNum){
+        this.settGiftNum=settGiftNum;
+    }
+
+    public Integer getSettGiftStatus(){
+        return settGiftStatus;
+    }
+
+    public void setSettGiftStatus(Integer  settGiftStatus){
+        this.settGiftStatus=settGiftStatus;
+    }
+
+    public Integer getSettGiftMaxNum(){
+        return settGiftMaxNum;
+    }
+
+    public void setSettGiftMaxNum(Integer  settGiftMaxNum){
+        this.settGiftMaxNum=settGiftMaxNum;
+    }
+
+    public String getSettGiftDesc(){
+        return settGiftDesc;
+    }
+
+    public void setSettGiftDesc(String  settGiftDesc){
+        this.settGiftDesc=settGiftDesc;
+    }
+
+    public Date getSettGiftBeginTime(){
+        return settGiftBeginTime;
+    }
+
+    public void setSettGiftBeginTime(Date  settGiftBeginTime){
+        this.settGiftBeginTime=settGiftBeginTime;
+    }
+
+    public Date getSettGiftEndTime(){
+        return settGiftEndTime;
+    }
+
+    public void setSettGiftEndTime(Date  settGiftEndTime){
+        this.settGiftEndTime=settGiftEndTime;
+    }
+
+    public Date getSettGiftCreateTime(){
+        return settGiftCreateTime;
+    }
+
+    public void setSettGiftCreateTime(Date  settGiftCreateTime){
+        this.settGiftCreateTime=settGiftCreateTime;
+    }
+}

+ 9 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/product/Product.java

@@ -70,6 +70,7 @@ public class Product implements java.io.Serializable{
 	private String colorPresent;	//颜色介绍
 	private Integer colorDiscount;	//优惠价
 	private Integer colorPrice;	//原价
+	private Integer colorGiftMaxNum;	//控制一个订单最多赠送几个该产品
 
 	public Integer getColorId() {
 		return colorId;
@@ -367,6 +368,14 @@ public class Product implements java.io.Serializable{
 		this.colorPrice = colorPrice;
 	}
 
+	public Integer getColorGiftMaxNum() {
+		return colorGiftMaxNum;
+	}
+
+	public void setColorGiftMaxNum(Integer colorGiftMaxNum) {
+		this.colorGiftMaxNum = colorGiftMaxNum;
+	}
+
 	@Override
 	public String toString() {
 		return "Product [productId=" + productId + ", productName="

+ 25 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/gift/SettlementGiftService.java

@@ -0,0 +1,25 @@
+package com.iamberry.wechat.face.gift;
+
+import com.iamberry.wechat.core.entity.gift.SettlementGift;
+
+import java.util.List;
+
+/**
+ *  结算赠品接口
+ * @author xm
+ * @Date 2019-05-30
+ */
+public interface SettlementGiftService {
+    /**
+     * 获取集合
+     * @param  settGift
+     * @return List
+     */
+    List<SettlementGift> getSettlementGiftList(SettlementGift  settGift);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  settGift
+     */
+    SettlementGift  getSettlementGiftById(Integer  id);
+}

+ 38 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/gift/SettlementGiftServiceImpl.java

@@ -0,0 +1,38 @@
+package com.iamberry.wechat.service.gift;
+
+import com.iamberry.wechat.core.entity.gift.SettlementGift;
+import com.iamberry.wechat.face.gift.SettlementGiftService;
+import com.iamberry.wechat.service.mapper.SettlementGiftMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *  结算赠品接口
+ * @author xm
+ * @Date 2019-05-30
+ */
+@Service
+public class SettlementGiftServiceImpl  implements SettlementGiftService {
+    @Autowired
+    private SettlementGiftMapper settlementGiftMapper;
+    /**
+     * 获取集合
+     * @param  settlementGift
+     * @return List
+     */
+    @Override
+    public List<SettlementGift> getSettlementGiftList(SettlementGift  settlementGift){
+        return  settlementGiftMapper.getSettlementGiftList(settlementGift);
+    }
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  settlementGift
+     */
+    @Override
+    public  SettlementGift  getSettlementGiftById(Integer  id){
+        return  settlementGiftMapper.getSettlementGiftById(id);
+    }
+}

+ 25 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/SettlementGiftMapper.java

@@ -0,0 +1,25 @@
+package com.iamberry.wechat.service.mapper;
+
+import com.iamberry.wechat.core.entity.gift.SettlementGift;
+
+import java.util.List;
+
+/**
+ *  结算赠品接口
+ * @author xm
+ * @Date 2019-05-30
+ */
+public interface SettlementGiftMapper {
+    /**
+     * 获取集合
+     * @param  settGift
+     * @return List
+     */
+    List<SettlementGift> getSettlementGiftList(SettlementGift  settGift);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  settGift
+     */
+    SettlementGift  getSettlementGiftById(Integer  id);
+}

+ 2 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponTypeMapper.xml

@@ -19,6 +19,8 @@
 		COUPON_REDUCE couponReduce,
 		COUPON_GET_DAYS couponGetDays,
 		COUPON_LIMIT_HOURS couponLimitHours,
+		coupon_is_use_end couponIsUseEnd,
+		coupon_use_end_date couponUseEndDate,
 		COUPON_END_DATE couponEndDate,
 		COUPON_CREATE_DATE couponCreateDate,
 		COUPON_UPDATE_DATE couponUpdateDate,

+ 23 - 21
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml

@@ -89,27 +89,29 @@
     <!--根据产品颜色id查询产品信息-->
     <select id="selectProductByColorId"  resultType="Product">
         SELECT
-        PRODUCT_ID productId,
-        PRODUCT_NAME productName,
-        PRODUCT_ABBREVIATION productAbbreviation,
-		PRODUCT_SALESNUM productSalesnum,
-		PRODUCT_ACCESSNUM productAccessnum,
-		PRODUCT_STATUS productStatus,
-		PRODUCT_INTRODUCE_IMG productIntroduceImg,
-		PRODUCT_PARAMETER_IMG productParameterImg,
-		PRODUCT_CREATE_DATE productCreateDate,
-		PRODUCT_SORT_NUM productSortNum,
-		PRODUCT_COLOR_DES productColorDes,
-		PRODUCT_REMARK productRemark,
-		PRODUCT_TYPE productTypeId,
-		PRODUCT_RENT_TYPE productRentType,
-        PC.COLOR_NAME,
-		PC.COLOR_PRESENT,
-		PC.color_img,
-		PC.color_all_num,
-		PC.color_sold_num,
-		PC.color_discount,
-		PC.color_price
+			PRODUCT_ID productId,
+			PRODUCT_NAME productName,
+			PRODUCT_ABBREVIATION productAbbreviation,
+			PRODUCT_SALESNUM productSalesnum,
+			PRODUCT_ACCESSNUM productAccessnum,
+			PRODUCT_STATUS productStatus,
+			PRODUCT_INTRODUCE_IMG productIntroduceImg,
+			PRODUCT_PARAMETER_IMG productParameterImg,
+			PRODUCT_CREATE_DATE productCreateDate,
+			PRODUCT_SORT_NUM productSortNum,
+			PRODUCT_COLOR_DES productColorDes,
+			PRODUCT_REMARK productRemark,
+			PRODUCT_TYPE productTypeId,
+			PRODUCT_RENT_TYPE productRentType,
+			PC.color_id,
+			PC.COLOR_NAME,
+			PC.COLOR_PRESENT,
+			PC.color_img,
+			PC.color_all_num,
+			PC.color_sold_num,
+			PC.color_gift_max_num,
+			PC.color_discount,
+			PC.color_price
         FROM tb_iamberry_product_info PI
         LEFT JOIN tb_iamberry_product_color PC ON PC.color_product_id=PI.PRODUCT_ID
         WHERE PC.color_id=#{colorId} AND color_status=1

+ 2 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/salesActivitiesMapper.xml

@@ -33,6 +33,8 @@
         <include refid="Base_List" />
         from tb_iamberry_sales_activities t
         <where>
+            t.sales_activities_begin_time  &lt;  NOW()
+            AND t.sales_activities_end_time &gt; NOW()
             <if test="salesActivitiesId != null ">
                 AND t.sales_activities_id = #{salesActivitiesId}
             </if >

+ 63 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/settlementGiftMapper.xml

@@ -0,0 +1,63 @@
+<?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.iamberry.wechat.service.mapper.SettlementGiftMapper">
+    <resultMap  id="BaseResultMap" type="SettlementGift" >
+        <result    column="sett_gift_id"    property="settGiftId" />
+        <result    column="sett_gift_fill_color_id"    property="settGiftFillColorId" />
+        <result    column="sett_gift_gift_color_id"    property="settGiftGiftColorId" />
+        <result    column="sett_gift_price"    property="settGiftPrice" />
+        <result    column="sett_gift_num"    property="settGiftNum" />
+        <result    column="sett_gift_status"    property="settGiftStatus" />
+        <result    column="sett_gift_max_num"    property="settGiftMaxNum" />
+        <result    column="sett_gift_desc"    property="settGiftDesc" />
+        <result    column="sett_gift_begin_time"    property="settGiftBeginTime" />
+        <result    column="sett_gift_end_time"    property="settGiftEndTime" />
+        <result    column="sett_gift_create_time"    property="settGiftCreateTime" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.sett_gift_id,
+        t.sett_gift_fill_color_id,
+        t.sett_gift_gift_color_id,
+        t.sett_gift_price,
+        t.sett_gift_num,
+        t.sett_gift_status,
+        t.sett_gift_max_num,
+        t.sett_gift_desc,
+        t.sett_gift_begin_time,
+        t.sett_gift_end_time,
+        t.sett_gift_create_time
+    </sql>
+    <select id="getSettlementGiftList" resultMap="BaseResultMap" parameterType="SettlementGift" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_settlement_gift t
+        <where>
+           t.sett_gift_begin_time  &lt;  NOW()
+           AND t.sett_gift_end_time &gt; NOW()
+            <if test="settGiftId != null ">
+                AND t.sett_gift_id = #{settGiftId}
+            </if >
+            <if test="settGiftFillColorId != null ">
+                AND t.sett_gift_fill_color_id = #{settGiftFillColorId}
+            </if >
+            <if test="settGiftGiftColorId != null ">
+                AND t.sett_gift_gift_color_id = #{settGiftGiftColorId}
+            </if >
+            <if test="settGiftPrice != null ">
+                AND t.sett_gift_price = #{settGiftPrice}
+            </if >
+            <if test="settGiftNum != null ">
+                AND t.sett_gift_num = #{settGiftNum}
+            </if >
+            <if test="settGiftStatus != null ">
+                AND t.sett_gift_status = #{settGiftStatus}
+            </if >
+        </where>
+    </select>
+    <select id="getSettlementGiftById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_settlement_gift t
+        where t.sett_gift_id= #{settGiftId}
+    </select>
+</mapper>

+ 1 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/channel/ChannelAdminHandler.java

@@ -81,6 +81,7 @@ public class ChannelAdminHandler {
         ChannelPrice channelPrice = new ChannelPrice();
         channelPrice.setChannelType(channelType);
         channelPrice.setChannelId(channelId);
+        channelPrice.setChannelPriceStatus(1);
         List<ChannelPrice> channelPriceList = channelPriceService.getChannelProductList(channelPrice);
 
         List<Product> productList = new ArrayList<>();

+ 9 - 12
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/coupon/CouponTypeHandler.java

@@ -844,7 +844,7 @@ public class CouponTypeHandler {
 		}
 
 		Calendar c = Calendar.getInstance();//获取一个日历实例
-		c.set(2018, 7-1, 8,23,59);//设定日历的日期
+		c.setTime(couponType.getCouponEndDate());	//coupon_end_date
 		Date endDate = c.getTime();
 
 		if(endDate.before(new Date())){   //endDate < new Date()  当前时间大于结束时间了,活动过期了
@@ -859,22 +859,18 @@ public class CouponTypeHandler {
 		couponItem.setCouponId(couponId);
 		Integer msg = couponItemService.isReceive(couponItem);
 
-		if(couponType.getCouponEndDate().before(new Date())){   //couponType.getCouponEndDate < new Date()
-			resultMsg.setResultCode("501");
-			resultMsg.setStatus(false);
-			resultMsg.setMessage("活动已过期!");
-			return resultMsg;
-		}
-
 		/* 比对每个人限领的张数 */
 		if(msg < couponType.getCouponGetLimit()){
 			CouponItem ci = new CouponItem();
 			ci.setCouponId(couponType.getCouponId());
 
-			Calendar calendar = Calendar.getInstance();
-			calendar.set(2018, 7-1, 8,23,59);//设定日历的日期
-
-			ci.setCouponUseEndDate(calendar.getTime());
+			if(couponType.getCouponIsUseEnd() == 2){
+				Calendar calendar = Calendar.getInstance();
+				calendar.add(Calendar.DATE,couponType.getCouponGetDays());	//增加X天
+				ci.setCouponUseEndDate(calendar.getTime());
+			}else{
+				ci.setCouponUseEndDate(couponType.getCouponUseEndDate());
+			}
 			ci.setCouponReceiveDate(new Date());
 			ci.setCouponItemUseropenid(memberInfo.getUserOpenid());
 			ci.setCouponUseStatus(1);
@@ -890,6 +886,7 @@ public class CouponTypeHandler {
 				}
 			}else{
 				resultMsg.setResultCode(ResultInfo.ERRORCODE);
+				resultMsg.setMessage("恭喜您获得一张"+couponType.getCouponName());
 				resultMsg.setStatus(false);
 			}
 		}else{

+ 32 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/mq/MQTask.java

@@ -10,6 +10,7 @@ import java.util.concurrent.locks.ReentrantLock;
 import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
 import com.iamberry.wechat.core.entity.channel.ChannelRebate;
 import com.iamberry.wechat.core.entity.coupon.CouponItem;
+import com.iamberry.wechat.core.entity.coupon.CouponType;
 import com.iamberry.wechat.core.entity.integral.IntegralConfig;
 import com.iamberry.wechat.core.entity.integral.UseIntegral;
 import com.iamberry.wechat.core.entity.member.Member;
@@ -20,6 +21,7 @@ import com.iamberry.wechat.face.admin.SystemService;
 import com.iamberry.wechat.face.agentInfo.AgentPurchaseOrderService;
 import com.iamberry.wechat.face.channel.ChannelRebateService;
 import com.iamberry.wechat.face.coupon.CouponItemService;
+import com.iamberry.wechat.face.coupon.CouponTypeService;
 import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.face.order.AdminOrderService;
@@ -90,6 +92,8 @@ public class MQTask implements InitializingBean {
 	private ReportService reportService;
 	@Autowired
 	private ChannelRebateService channelRebateService;
+	@Autowired
+	private CouponTypeService couponTypeService;
 
 	private Lock lock = new ReentrantLock();
 
@@ -526,7 +530,34 @@ public class MQTask implements InitializingBean {
 			ui.setIntegralCreateTime(new Date());
 			List<UseIntegral>  useIntegralList = useIntegralService.getUseIntegralList(ui);
 			if(useIntegralList == null || useIntegralList.size() < 1){
-				memberService.updaterIntegral(m.getUserId(),1,configId,integral,"生日福利赠送积分");
+				try{
+					memberService.updaterIntegral(m.getUserId(),1,configId,integral,"生日福利赠送积分");
+				}catch (Exception e){
+					logger.info("生日赠送积分失败,用户id:"+m.getUserId());
+				}
+
+				try{
+					CouponType couponType = couponTypeService.getCouponTypeById(20002);
+					CouponItem ci = new CouponItem();
+					ci.setCouponId(couponType.getCouponId());
+					Calendar calendar = Calendar.getInstance();
+					calendar.setTime(new Date());
+					calendar.add(Calendar.DAY_OF_MONTH, couponType.getCouponGetDays());	//couponGetDays
+					calendar.set(Calendar.HOUR_OF_DAY, 23);//时
+					calendar.set(Calendar.MINUTE, 59);//分
+					calendar.set(Calendar.SECOND, 59);
+					ci.setCouponUseEndDate(calendar.getTime());
+					ci.setCouponReceiveDate(new Date());
+					ci.setCouponItemUseropenid(m.getUserOpenid());
+					ci.setCouponUseStatus(1);
+					ci.setCouponIsDonation(2);
+					ci.setCouponItemRemark(couponType.getCouponRemark());
+					if(couponItemService.insertCouponItem(ci) > 0){
+						couponTypeService.updateCouponTypeForItem(20002);
+					}
+				}catch (Exception e){
+					logger.info("生日赠送抵扣券失败,用户id:"+m.getUserId());
+				}
 			}
 		}
 	}

+ 161 - 104
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java

@@ -13,6 +13,7 @@ import com.iamberry.wechat.core.entity.channel.ChildChannel;
 import com.iamberry.wechat.core.entity.channel.MainChannel;
 import com.iamberry.wechat.core.entity.coupon.*;
 import com.iamberry.wechat.core.entity.customized.CustomizedTooth;
+import com.iamberry.wechat.core.entity.gift.SettlementGift;
 import com.iamberry.wechat.core.entity.integral.StayIntegral;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.core.entity.order.Order;
@@ -31,6 +32,7 @@ import com.iamberry.wechat.face.coupon.CouponItemService;
 import com.iamberry.wechat.face.coupon.CouponTypeService;
 import com.iamberry.wechat.face.coupon.SalesActivitiesService;
 import com.iamberry.wechat.face.customized.CustomizedToothService;
+import com.iamberry.wechat.face.gift.SettlementGiftService;
 import com.iamberry.wechat.face.home.HomeService;
 import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.face.member.CashLogService;
@@ -47,6 +49,7 @@ import com.iamberry.wechat.tools.OrderNOUtil;
 import com.iamberry.wechat.tools.ResultInfo;
 import com.iamberry.wechat.tools.ValidatorUtil;
 import com.iamberry.wechat.utils.ActivityUtil;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -73,19 +76,14 @@ import java.util.regex.Pattern;
 public class OrderHandler {
 	@Autowired
 	private RatFWLogger ratFWLogger;
-
 	@Autowired
 	private CartService cartService;
-
 	@Autowired
 	private HomeService homeService;
-
 	@Autowired
 	private SystemService systemService;
-
 	@Autowired
 	private ValidatorUtil validatorUtil;
-
 	@Autowired
 	private PayService payService;
 	@Autowired
@@ -126,6 +124,8 @@ public class OrderHandler {
 	private ActivityUtil activityUtil;
 	@Autowired
 	private SalesActivitiesService salesActivitiesService;
+	@Autowired
+	private SettlementGiftService settlementGiftService;
 
 	/**
 	 * 支付前,调用方法
@@ -155,7 +155,7 @@ public class OrderHandler {
 
 		if(channelType > 0 && channelId > 0){
 			if(channelType == 1){
-						MainChannel mainChannel = mainChannelService.getMainChannelById(channelId);
+				MainChannel mainChannel = mainChannelService.getMainChannelById(channelId);
 				dto.setChannelName(mainChannel.getMainChannelName());
 			}else{
 				ChildChannel childChannel = childChannelService.getChildChannelById(channelId);
@@ -230,35 +230,15 @@ public class OrderHandler {
 			}
 
 			ActivityDate activityDate = activityUtil.doubleTwelve();
-			if(channelType > 0 && channelId > 0){
+			if(channelType > 0 && channelId > 0){	///非分销渠道,才能有促销
 				activityDate.setStatus(false);
 			}else{
-				//非分销渠道,才能有促销
 				if(activityDate.isStatus()){
+					/*满减*/
+					Integer promotionAmout = fullReduc(activityDate,allAmount);;	//促销之后的金额 -- 总金额减去满减,满减的优先级高一些
 
-					/*计算促销之后的支付金额*/
-					Integer promotionAmout = allAmount;	//促销之后的金额 -- 总金额减去满减,满减的优先级高一些
-
-					SalesActivities sa = new SalesActivities();
-					sa.setSalesActivitiesStatus(1);
-					sa.setSalesActivitiesType(1);
-					sa.setSalesActivitiesScenes(1);
-					List<SalesActivities> salesActivitiesList = salesActivitiesService.getSalesActivitiesList(sa);
-					activityDate.setSalesActivitiesList(salesActivitiesList);
-					for (SalesActivities salesActivities : activityDate.getSalesActivitiesList()){
-						if(promotionAmout >= salesActivities.getSalesActivitiesFull()){
-							promotionAmout = allAmount - salesActivities.getSalesActivitiesReduction();
-							break;
-						}
-					}
-					Integer num[] = new Integer[0];
-					if(toothKidsbrush > 0){
-						addFullReduction(5,cartDtos,num);
-					}
-					if(toothAuthbrush > 0 || toothKidsbrush > 0){
-						num = new Integer[]{toothKidsbrush+toothAuthbrush};
-						addFullReduction(1,cartDtos,num);
-					}
+					//满赠
+					giftCart(cartDtos);
 				}
 			}
 			dto.setActivityDate(activityDate);
@@ -341,9 +321,6 @@ public class OrderHandler {
 		cDto.setUseropenid(member.getUserOpenid());
 		cDto.setCouponUseStatus(1);
 		cDto.setBeginDate(new Date()); ////*未过期*/
-		//cDto.setPage(new PageBean());
-		//cDto.getPage().setPageSize(12);
-		//cDto.getPage().setPageNumber(pageNO);
 		List<CouponItemDto> couponItemDtoList = couponItemService.getCouponItemDtoList(cDto);
 		List<CouponItemDto> list = new ArrayList<>();
 		for(CouponItemDto couponItemDto : couponItemDtoList){
@@ -534,35 +511,15 @@ public class OrderHandler {
 				allAmount += cd.getCartNum()*cd.getProductPrice();
 			}
 
-			if(temp.getChannelType() > 0 && temp.getChannelId() > 0){
+			if(temp.getChannelType() > 0 && temp.getChannelId() > 0){	//非分销渠道,才能有促销
 				activityDate.setStatus(false);
 			}else {
-				/*计算促销之后的支付金额*/
-				Integer promotionAmout = allAmount;	//促销之后的金额
-
-				SalesActivities sa = new SalesActivities();
-				sa.setSalesActivitiesStatus(1);
-				sa.setSalesActivitiesType(1);
-				sa.setSalesActivitiesScenes(1);
-				List<SalesActivities> salesActivitiesList = salesActivitiesService.getSalesActivitiesList(sa);
-				activityDate.setSalesActivitiesList(salesActivitiesList);
-				for (SalesActivities salesActivities : activityDate.getSalesActivitiesList()){
-					if(promotionAmout >= salesActivities.getSalesActivitiesFull()){
-						promotionAmout = allAmount - salesActivities.getSalesActivitiesReduction();
-						break;
-					}
-				}
-
-				//非分销渠道,才能有促销
 				if (activityDate.isStatus()) {
-					Integer num[] = new Integer[0];
-					if(toothKidsbrush > 0){
-						addFullReduction(5,cartDtos,num);
-					}
-					if(toothAuthbrush > 0 || toothKidsbrush > 0){
-						num = new Integer[]{toothKidsbrush+toothAuthbrush};
-						addFullReduction(1,cartDtos,num);
-					}
+					/*满减*/
+					Integer promotionAmout = fullReduc(activityDate,allAmount);;	//促销之后的金额 -- 总金额减去满减,满减的优先级高一些
+
+					//满赠
+					giftCart(cartDtos);
 				}
 			}
 		}else if("2".equals(temp.getIsCustomize())){
@@ -1135,58 +1092,158 @@ public class OrderHandler {
 	 * @param
 	 * @return
 	 */
-	private void addCartDtos(List<CartDto> cartDtos,Integer id,Integer num){
-		boolean flag = false;
-		for (CartDto cartDto : cartDtos) {
-			if(id.equals(cartDto.getCartColorId())){
-				flag = true;
+//	private void addCartDtos(List<CartDto> cartDtos,Integer id,Integer num){
+//		boolean flag = false;
+//		for (CartDto cartDto : cartDtos) {
+//			if(id.equals(cartDto.getCartColorId())){
+//				flag = true;
+//			}
+//		}
+//		if(!flag){
+//			CartDto cd = getGiftCartDtos(id,num);
+//			cartDtos.add(cd);
+//		}
+//	}
+
+	/**
+	 * 获取赠品信息
+	 * @param colorId
+	 * @return
+	 */
+//	private CartDto getGiftCartDtos(Integer colorId,Integer num){
+//		CartDto cartDto = new CartDto();
+//		Product product = productInfoService.selectProductByColorId(colorId);
+//		if((product.getColorSoldNum()+1) > product.getColorAllNum()){
+//			return null;
+//		}
+//		cartDto.setCartId(1);
+//		cartDto.setCartProductId(product.getProductId());
+//		cartDto.setCartColorId(colorId);
+//		cartDto.setCartNum(num);
+//		cartDto.setProductName(product.getProductName());
+//		cartDto.setProductType(product.getProductTypeId());
+//		cartDto.setProductPrice(product.getColorDiscount());
+//		cartDto.setProductStatus(1);
+//		cartDto.setProductIntroduceImg(product.getColorImg());
+//		cartDto.setTotal(0);
+//		cartDto.setProductDiscount(product.getColorDiscount());
+//		cartDto.setProductRemark(product.getColorPresent());
+//		cartDto.setProductColor(product.getColorName());
+//		cartDto.setColorAllNum(product.getColorAllNum());
+//		cartDto.setColorSoldNum(product.getColorSoldNum());
+//		cartDto.setIsSelfLifting(2);
+//		return cartDto;
+//	}
+
+
+	/**
+	 * 赠送赠品
+	 * @param cartDtoList
+	 */
+	private void giftCart(List<CartDto> cartDtoList){
+		List<CartDto> giftList = new ArrayList<>();
+		SettlementGift settlementGift = new SettlementGift();
+		settlementGift.setSettGiftStatus(1);
+		List<SettlementGift> settlementGiftList = settlementGiftService.getSettlementGiftList(settlementGift);
+		for (CartDto cd:cartDtoList) {
+			for (SettlementGift sg:settlementGiftList) {
+				if(Objects.equals(cd.getCartColorId(), sg.getSettGiftFillColorId())){//添加赠送产品
+					CartDto cartDto = new CartDto();
+					cartDto.setCartColorId(sg.getSettGiftGiftColorId());
+					Integer num = sg.getSettGiftNum();
+					if(sg.getSettGiftNum() < 1){	//判断赠送数量,大于0就用该数量
+						num = cd.getCartNum();
+					}
+					if(num > sg.getSettGiftMaxNum()){
+						num = sg.getSettGiftMaxNum();
+					}
+					cartDto.setCartNum(num);
+					cartDto.setProductDiscount(sg.getSettGiftPrice());
+					cartDto.setProductPrice(sg.getSettGiftPrice());
+					cartDto.setTotal(sg.getSettGiftPrice()*num);
+					giftList.add(cartDto);
+				}
+			}
+		}
+
+		//赠品合并
+		List<CartDto> newGiftList = new ArrayList<>();
+		if(giftList != null && giftList.size() > 0){
+			for (CartDto carD:giftList) {
+				boolean fl = false;
+				for(CartDto newCarD:newGiftList) {
+					if(Objects.equals(newCarD.getCartColorId(), carD.getCartColorId())){	//赠品相同,合并
+						fl = true;
+						Integer oldNum = newCarD.getCartNum();
+						newCarD.setCartNum(newCarD.getCartNum() + carD.getCartNum());
+						if( newCarD.getCartNum() > newCarD.getColorGiftMaxNum()){	//(赠送数量+已售出<=总数)
+							newCarD.setCartNum(newCarD.getColorGiftMaxNum());
+						}
+						Integer num = newCarD.getCartNum()+newCarD.getColorSoldNum();
+						if(num > newCarD.getColorAllNum()){
+							//newCarD.setCartNum(newCarD.getColorAllNum() - num);
+							newCarD.setCartNum(oldNum);
+						}
+
+						newCarD.setProductDiscount(newCarD.getProductDiscount() +  carD.getProductDiscount());
+						newCarD.setProductPrice( newCarD.getProductPrice() + carD.getProductPrice());
+						newCarD.setTotal(newCarD.getTotal() + carD.getTotal());
+					}
+				}
+				if(!fl){
+					Product product = productInfoService.selectProductByColorId(carD.getCartColorId());
+					carD.setCartId(1);
+					carD.setCartProductId(product.getProductId());
+					carD.setProductName(product.getProductName());
+					carD.setProductType(product.getProductTypeId());
+					carD.setProductStatus(1);
+					carD.setProductIntroduceImg(product.getColorImg());
+					carD.setProductRemark(product.getColorPresent());
+					carD.setProductColor(product.getColorName());
+					carD.setCartColorId(product.getColorId());
+					carD.setProductRemark("");
+					carD.setColorAllNum(product.getColorAllNum());
+					carD.setColorSoldNum(product.getColorSoldNum());
+					carD.setColorToothType(1);
+					carD.setProductIntroduceImg(product.getColorImg());	//productIntroduceImg
+					carD.setColorGiftMaxNum(product.getColorGiftMaxNum());
+					if( carD.getCartNum() > carD.getColorGiftMaxNum()){	//(赠送数量+已售出<=总数)
+						carD.setCartNum(carD.getColorGiftMaxNum());
+					}
+					Integer num = carD.getCartNum()+carD.getColorSoldNum();
+					if(num <= carD.getColorAllNum()){	//库存加赠品数量  要小于 总库存才能到结算页面
+						CartDto newCartDto = new CartDto();
+						BeanUtils.copyProperties(carD,newCartDto);
+						newGiftList.add(newCartDto);
+					}
+				}
 			}
 		}
-		if(!flag){
-			CartDto cd = getGiftCartDtos(id,num);
-			cartDtos.add(cd);
+
+		//将赠品并入结算列表
+		if(newGiftList != null && newGiftList.size() > 0){
+			cartDtoList.addAll(newGiftList);
 		}
 	}
 
 	/**
-	 * 获取赠品信息
-	 * @param colorId
+	 * 满减
 	 * @return
 	 */
-	private CartDto getGiftCartDtos(Integer colorId,Integer num){
-		CartDto cartDto = new CartDto();
-		Product product = productInfoService.selectProductByColorId(colorId);
-		if((product.getColorSoldNum()+1) > product.getColorAllNum()){
-			return null;
+	public Integer fullReduc(ActivityDate activityDate, Integer allAmount){
+		Integer promotionAmout = 0;
+		SalesActivities sa = new SalesActivities();
+		sa.setSalesActivitiesStatus(1);
+		sa.setSalesActivitiesType(activityDate.getType());
+		sa.setSalesActivitiesScenes(1);
+		List<SalesActivities> salesActivitiesList = salesActivitiesService.getSalesActivitiesList(sa);
+		activityDate.setSalesActivitiesList(salesActivitiesList);
+		for (SalesActivities salesActivities : salesActivitiesList){
+			if(promotionAmout >= salesActivities.getSalesActivitiesFull()){
+				promotionAmout = allAmount - salesActivities.getSalesActivitiesReduction();
+				break;
+			}
 		}
-		cartDto.setCartId(1);
-		cartDto.setCartProductId(product.getProductId());
-		cartDto.setCartColorId(colorId);
-		cartDto.setCartNum(num);
-		cartDto.setProductName(product.getProductName());
-		cartDto.setProductType(product.getProductTypeId());
-		cartDto.setProductPrice(product.getColorDiscount());
-		cartDto.setProductStatus(1);
-		cartDto.setProductIntroduceImg(product.getColorImg());
-		cartDto.setTotal(0);
-		cartDto.setProductDiscount(product.getColorDiscount());
-		cartDto.setProductRemark(product.getColorPresent());
-		cartDto.setProductColor(product.getColorName());
-		cartDto.setColorAllNum(product.getColorAllNum());
-		cartDto.setColorSoldNum(product.getColorSoldNum());
-		cartDto.setIsSelfLifting(2);
-		return cartDto;
+		return promotionAmout;
 	}
-
-//
-//	public static void main(String[] args) {
-//		String tel = "13265476840";
-//		String regExp = "^((13[0-9])|(15[0-9])|(18[0-9])|(17[0-9])|(147))\\d{8}$";
-//		Pattern p = Pattern.compile(regExp);
-//		Matcher m = p.matcher(tel);
-//		if(m.matches()){
-//			System.out.println("电话号码错误,请重新添加收货地址信息!");
-//		}
-//	}
-
 }

+ 53 - 51
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java

@@ -220,62 +220,64 @@ public class ResponseWechatPayHandler {
 //					}
 						}
 
+						List<OrderItem> orderItemList = adminOrderService.getShopOrderItemByOrderId(orderIdMD5);
 
 						/*-- 计算积分 ----*/
 						//			总积分 		-- 牙刷总金额 --  刷头金额		-- 组合套装优惠,返一倍积分
-						Integer allIntegral = 0, toothbrush = 0, brushHead = 0, combinationOffer = 0;
-						List<OrderItem> orderItemList = adminOrderService.getShopOrderItemByOrderId(orderIdMD5);
-						//优惠金额
-						Integer offerAmount = (or.getSalesAmount() - or.getSalesYetAmount()) / 100;
-						ActivityDate activityDate = activityUtil.doubleTwelve();
-						if(activityDate.isStatus()){
-							allIntegral = or.getSalesYetAmount()/ 100 * 2;	//活动期间双倍积分
-						}else{
-							for (int i = 0; i < orderItemList.size(); i++) {
-								OrderItem orderItem = orderItemList.get(i);
-								Integer amount = orderItem.getItemProductDiscount()*orderItem.getItemNum() / 100;		//商品优惠价
-								if (orderItem.getItemProductType() == 100) {    //类型为电动牙刷
-									toothbrush += amount;
-								}else {
-									if(310 == orderItem.getItemProductId()){
-							/*优惠套装组合*/
-										combinationOffer += amount;
-									}else{
-										brushHead += amount;
-									}
-								}
-							}
-							if(20000 == couponTypeId|| 40000 == couponTypeId){
-								//刷头优惠券
-								brushHead -= offerAmount;
-							}else{
-								//牙刷优惠券
-								toothbrush -= offerAmount;
-							}
-							if(or.getSalesPostage() > 0){
-								if(brushHead >= 10){
-									brushHead -= or.getSalesPostage()/100;
-								}else if(toothbrush >= 10){
-									toothbrush -= or.getSalesPostage()/100;
-								}
-							}
-							if(brushHead < 0){
-								brushHead = 0;
-							}
-							if(toothbrush < 0){
-								toothbrush = 0;
-							}
-
-							//后面的小数积分直接去掉,不需要四舍五入
-							allIntegral = (int)( toothbrush * 2 + brushHead * 1.5 + combinationOffer * 1);
-						}
+//						Integer allIntegral = 0, toothbrush = 0, brushHead = 0, combinationOffer = 0;
+//						//优惠金额
+//						Integer offerAmount = (or.getSalesAmount() - or.getSalesYetAmount()) / 100;
+//						ActivityDate activityDate = activityUtil.doubleTwelve();
+//						if(activityDate.isStatus()){
+//							allIntegral = or.getSalesYetAmount()/ 100 * 2;	//活动期间双倍积分
+//						}else{
+//							for (int i = 0; i < orderItemList.size(); i++) {
+//								OrderItem orderItem = orderItemList.get(i);
+//								Integer amount = orderItem.getItemProductDiscount()*orderItem.getItemNum() / 100;		//商品优惠价
+//								if (orderItem.getItemProductType() == 100) {    //类型为电动牙刷
+//									toothbrush += amount;
+//								}else {
+//									if(310 == orderItem.getItemProductId()){
+//							/*优惠套装组合*/
+//										combinationOffer += amount;
+//									}else{
+//										brushHead += amount;
+//									}
+//								}
+//							}
+//							if(20000 == couponTypeId|| 40000 == couponTypeId){
+//								//刷头优惠券
+//								brushHead -= offerAmount;
+//							}else{
+//								//牙刷优惠券
+//								toothbrush -= offerAmount;
+//							}
+//							if(or.getSalesPostage() > 0){
+//								if(brushHead >= 10){
+//									brushHead -= or.getSalesPostage()/100;
+//								}else if(toothbrush >= 10){
+//									toothbrush -= or.getSalesPostage()/100;
+//								}
+//							}
+//							if(brushHead < 0){
+//								brushHead = 0;
+//							}
+//							if(toothbrush < 0){
+//								toothbrush = 0;
+//							}
+//
+//							//后面的小数积分直接去掉,不需要四舍五入
+//							allIntegral = (int)( toothbrush * 2 + brushHead * 1.5 + combinationOffer * 1);
+//						}
 						/*-----end-----*/
-						if(activityDate.isStatus()){
-							ratFWLogger.info("双十二活动双倍积分");
+
+						//积分
+						Integer allIntegral = or.getSalesYetAmount();
+						if(allIntegral > 0){
+							ratFWLogger.info(this, "订单:" + orderIdMD5 + "所得积分为:" + allIntegral);
+							boolean flag = apparatusService.addStayIntegral(or.getSalesOpenid(), 3, allIntegral, or.getSalesOrderid(),null);
+							ratFWLogger.info("积分是否入账:" + flag);
 						}
-						ratFWLogger.info(this, "订单:" + orderIdMD5 + "订单使用优惠金额:" + offerAmount + "所得积分为:" + allIntegral);
-						boolean flag = apparatusService.addStayIntegral(or.getSalesOpenid(), 3, allIntegral, or.getSalesOrderid(),null);
-						ratFWLogger.info("积分是否入账:" + flag);
 						/*----------计算积分-----------*/
 
 						/*调整库存*/

+ 1 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/utils/ActivityUtil.java

@@ -55,6 +55,7 @@ public class ActivityUtil {
     public ActivityDate doubleTwelve(){
         ActivityDate activityDate = initDate(1);
 
+        activityDate.setType(1);    //1:双十二
         activityDate.setRemark("38女神节注销活动时间");
 
         if(activityDate == null){

+ 5 - 0
tooth-wechat-web/src/main/resources/iamberry-wechat-service-mybatis.xml

@@ -291,6 +291,9 @@
 		<!-- 优惠券对应商品 -->
 		<typeAlias type="com.iamberry.wechat.core.entity.coupon.CouponColor" alias="CouponColor"/>
 
+		<!-- 赠品 -->
+		<typeAlias type="com.iamberry.wechat.core.entity.gift.SettlementGift" alias="SettlementGift"/>
+
 		<package name="com.iamberry.wechat.core.entity.rent"/>
 	</typeAliases>
 	<!-- PageHelper -->
@@ -431,5 +434,7 @@
 		<!--优惠券对应产品表-->
 		<mapper resource="com/iamberry/wechat/service/mapper/couponColorMapper.xml"/>
 
+		<!-- 赠品 -->
+		<mapper resource="com/iamberry/wechat/service/mapper/settlementGiftMapper.xml"/>
 	</mappers>
 </configuration>

+ 1 - 1
tooth-wechat-web/src/main/resources/iamberry-wechat-web-ioc.xml

@@ -51,7 +51,7 @@
 	<bean id="loadResultInfo" class="com.iamberry.wechat.tools.loadResultUtil" lazy-init="false"></bean>
 	
 	<!-- 开启注解启动定时器  -->
-    <!--<task:annotation-driven/>-->
+    <task:annotation-driven/>
     
     <!-- 将30天后奖励积分的定时任务的xml引入-->
 	<!--<import resource="classpath:iamberry-wechat-service-orderTesk.xml"></import>-->