瀏覽代碼

爱贝源618

wangxiaoming 5 年之前
父節點
當前提交
d3e54c26e0
共有 27 個文件被更改,包括 875 次插入128 次删除
  1. 71 0
      iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/activity/ActivityDate.java
  2. 83 0
      iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/cart/SettlementGift.java
  3. 65 0
      iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/product/Product.java
  4. 20 0
      iamberry-common-core/src/main/java/com/iamberry/wechat/tools/SendMessageUtil.java
  5. 31 1
      iamberry-common-tool/src/main/java/com/iamberry/wechat/tools/ResultInfo.java
  6. 7 2
      iamberry-common-tool/src/main/java/com/iamberry/wechat/tools/loadResultUtil.java
  7. 1 0
      iamberry-common-web/src/main/java/com/iamberry/common/web/SimpleCORSFilter.java
  8. 6 0
      iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/admin/SystemService.java
  9. 9 0
      iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/ProductInfoService.java
  10. 37 0
      iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/SettlementGiftService.java
  11. 77 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/ActivityUtil.java
  12. 6 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/ProductInfoServiceImpl.java
  13. 56 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/SettlementGiftServiceImpl.java
  14. 6 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/ProductInfoDao.java
  15. 6 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/ProductInfoDaoImpl.java
  16. 7 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ProductInfoMapper.java
  17. 37 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/SettlementGiftMapper.java
  18. 1 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/cartMapper.xml
  19. 30 2
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml
  20. 96 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/settlementGiftMapper.xml
  21. 5 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/system/SystemServiceImpl.java
  22. 84 11
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/wechat/WeChatServiceImpl.java
  23. 3 3
      iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProductInfoHandler.java
  24. 98 87
      iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java
  25. 7 1
      iamberry-wechat-web/src/main/resources/ResultInfo.properties
  26. 6 1
      iamberry-wechat-web/src/main/resources/iamberry-wechat-service-mybatis.xml
  27. 20 20
      iamberry-wechat-web/src/main/resources/platform.properties

+ 71 - 0
iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/activity/ActivityDate.java

@@ -0,0 +1,71 @@
+package com.iamberry.wechat.core.entity.activity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 活动内容
+ * @author Administrator
+ */
+public class ActivityDate implements Serializable{
+    private static final long serialVersionUID = 3561654088741780034L;
+    //开始时间
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date beginDate;
+    //结束时间
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date endDate;
+    //类型:  1:满减
+    private Integer type;
+    //状态:true
+    private boolean status;
+    //说明
+    private String remark;
+
+
+    public Date getBeginDate() {
+        return beginDate;
+    }
+
+    public void setBeginDate(Date beginDate) {
+        this.beginDate = beginDate;
+    }
+
+    public Date getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(Date endDate) {
+        this.endDate = endDate;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public boolean isStatus() {
+        return status;
+    }
+
+    public void setStatus(boolean status) {
+        this.status = status;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+}

+ 83 - 0
iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/cart/SettlementGift.java

@@ -0,0 +1,83 @@
+package com.iamberry.wechat.core.entity.cart;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ *  结算赠品类
+ * @author Administrator
+ * @Date 2019-05-23
+ */
+public class SettlementGift implements  Serializable{
+    private static final long serialVersionUID = -1083848908128493893L;
+    //结算赠品Id
+    private Integer settGiftId;
+    //满足颜色id
+    private Integer settGiftFillColorId;
+    //
+    private Integer settGiftGiftColorId;
+    //价格
+    private Integer settGiftPrice;
+    //赠送数量
+    private Integer settGiftNum;
+    //1.使用中 2.未使用
+    private Integer settGiftStatus;
+    //创建时间'
+    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 Date getSettGiftCreateTime(){
+        return settGiftCreateTime;
+    }
+
+    public void setSettGiftCreateTime(Date  settGiftCreateTime){
+        this.settGiftCreateTime=settGiftCreateTime;
+    }
+}

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

@@ -57,6 +57,7 @@ public class Product implements java.io.Serializable{
 	private String productTypeName;			//商品类型名称
 
 	private String productChildType;		//产品关联小类
+	private Integer productChildTypeId;		//产品关联小类
 
 	private String productChildTypeName;			//商品小类类型名称
 
@@ -79,6 +80,13 @@ public class Product implements java.io.Serializable{
 	private Date beginDate;			//页面显示  开始时间
 	
 	private Date endDate;				//页面显示  结束时间
+
+	private Integer productTypeId;	//类型id
+	private String colorProductPic;	//颜色图片
+	private String colorName;	//颜色名称
+	private String colorPresent;	//颜色介绍
+	private Integer colorDiscount;	//优惠价
+	private Integer colorPrice;	//原价
 	
 
 	public Integer getMinMoney() {
@@ -321,6 +329,63 @@ public class Product implements java.io.Serializable{
 		this.imagetextContext = imagetextContext;
 	}
 
+	public Integer getProductTypeId() {
+		return productTypeId;
+	}
+
+	public void setProductTypeId(Integer productTypeId) {
+		this.productTypeId = productTypeId;
+	}
+
+
+	public String getColorProductPic() {
+		return colorProductPic;
+	}
+
+	public void setColorProductPic(String colorProductPic) {
+		this.colorProductPic = colorProductPic;
+	}
+
+	public String getColorName() {
+		return colorName;
+	}
+
+	public void setColorName(String colorName) {
+		this.colorName = colorName;
+	}
+
+	public String getColorPresent() {
+		return colorPresent;
+	}
+
+	public void setColorPresent(String colorPresent) {
+		this.colorPresent = colorPresent;
+	}
+
+	public Integer getColorDiscount() {
+		return colorDiscount;
+	}
+
+	public void setColorDiscount(Integer colorDiscount) {
+		this.colorDiscount = colorDiscount;
+	}
+
+	public Integer getColorPrice() {
+		return colorPrice;
+	}
+
+	public void setColorPrice(Integer colorPrice) {
+		this.colorPrice = colorPrice;
+	}
+
+	public Integer getProductChildTypeId() {
+		return productChildTypeId;
+	}
+
+	public void setProductChildTypeId(Integer productChildTypeId) {
+		this.productChildTypeId = productChildTypeId;
+	}
+
 	@Override
 	public String toString() {
 		return "Product [productId=" + productId + ", productName="

+ 20 - 0
iamberry-common-core/src/main/java/com/iamberry/wechat/tools/SendMessageUtil.java

@@ -94,6 +94,9 @@ public class SendMessageUtil {
 //			case 10:  //10、退款申请通知
 //				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_refund_msg, date, url);
 //				break;
+			case 11:  //11、母亲节活动,推送模板
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.service_push, date, url);
+				break;
 			default:
 				break;
 			}
@@ -232,4 +235,21 @@ public class SendMessageUtil {
 		sendTemplateMessageToOpenid(temp, openId, url,9);
 	}
 
+	/**
+	 * 服务推送
+	 * @param first
+	 * @param keyword1
+	 * @param keyword2
+	 * @param remark
+	 * @param openId
+	 * @param url
+	 */
+	public void servicePush(String first,String keyword1,String keyword2,String remark,String openId,String url){
+		String temp = ResultInfo.SERVICEPUSH;
+		temp = temp.replaceFirst("firstValueIamberry", first)
+				.replaceFirst("GoodValue",keyword1)
+				.replaceFirst("contentTypeValue",keyword2)
+				.replaceFirst("remarkValue",remark);
+		sendTemplateMessageToOpenid(temp, openId, url,11);
+	}
 }

+ 31 - 1
iamberry-common-tool/src/main/java/com/iamberry/wechat/tools/ResultInfo.java

@@ -57,6 +57,28 @@ public class ResultInfo {
 	public static String rebateOrderText = "";												//定时任务返利模板
 	public static String yearMsg = "";												//定时任务返利模板
 
+	/**
+	 * 活动过期
+	 */
+	public  static String eventExpiredMsg = "";
+	/**
+	 * 618 重复领取
+	 */
+	public  static String repeatCollectionMsg = "";
+	/**
+	 * 618 领取失败
+	 */
+	public  static String failedReceiveMsg = "";
+	/**
+	 * 首页
+	 */
+	public static String INDEX_URL = "https://s.iamberry.com/aiberle/wechat/index.html";
+
+	/**
+	 * 618 领取成功
+	 */
+	public  static String successReceiveMsg = "";
+
 	public  static String barCodePrefix="MACHINE_QR_CODE";
 	
 	public static String QRCODE_IMAGE = "/common/qrcode_images";		//下载二维码图片保存路径
@@ -64,7 +86,7 @@ public class ResultInfo {
 	public static String DRP_INDEX_PAGE = "http://h5.iamberry.com/iamberry/wechat/drp/indexPage";
 	
 		//测试环境
-		// 商城首页,,,
+		// 商城首页
 		public static String INDEX_PAGE = "http://h5.iamberry.com/iamberry/wechat/index";
 		// 订单发货的界面
 		public static String PAGE_SHIPMENT = "http://h5.iamberry.com/iamberry/pay/goOrderInfo?orderId=";
@@ -86,6 +108,11 @@ public class ResultInfo {
 
 		public static String order_refund_msg= "";	//退款申请通知
 
+	/**
+	 * 	服务推送模板
+	 */
+	public static String service_push="";
+
 	// 返现到账通知消息模版
 	public static String REWARDSREMINDTEMP =  "{'first':{'color':'#173177','value':'firstValueIamberry'}, order:{'color':'#173177','value':'orderValueIamberry'}, 'money':{'color':'#173177', 'value':'moneyValueIamberry'}, 'remark':{'color':'#173177','value':'remarkValueIamberry'}}";
 	
@@ -116,6 +143,9 @@ public class ResultInfo {
 	/**  发货后 提醒 */
 	public static String SENDSUCCESS= "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'keyword1':{'color':'#173177','value':'keyword1Value'}, 'keyword2':{'color':'#173177', 'value':'keyword2Value'}, 'keyword3':{'color':'#173177', 'value':'keyword3Value'}, 'keyword4':{'color':'#173177', 'value':'keyword4Value'},'remark':{'color':'colorValue','value':'remarkValue'}}";
 
+	/** 	服务推送 	*/
+	public static String SERVICEPUSH = "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'Good':{'color':'#173177','value':'GoodValue'}, 'contentType':{'color':'#173177', 'value':'contentTypeValue'},'remark':{'color':'#FF0000','value':'remarkValue'}}";
+
 	/** 退款申请通知 **/
 	//public static String ORDERREFUNDMSG= "{'first':{'color':'#173177','value':'firstValueIamberry'}, 'keyword1':{'color':'#173177','value':'keyword1Value'}, 'keyword2':{'color':'#173177', 'value':'keyword2Value'}, 'keyword3':{'color':'#173177', 'value':'keyword3Value'},'remark':{'color':'colorValue','value':'remarkValue'}}";
 

+ 7 - 2
iamberry-common-tool/src/main/java/com/iamberry/wechat/tools/loadResultUtil.java

@@ -71,6 +71,11 @@ public class loadResultUtil {
 			ResultInfo.FOLLOW_REPLY_MESSAGE_TEXT=prop.getProperty("follow_reply_message_text");
 			ResultInfo.FOLLOW_REPLY_MESSAGE_IS_IMAGE_TEXT="true".equals(prop.getProperty("follow_reply_message_is_image_text"))?true:false;
 
+			ResultInfo.eventExpiredMsg=prop.getProperty("eventExpiredMsg");
+			ResultInfo.repeatCollectionMsg=prop.getProperty("repeatCollectionMsg");
+			ResultInfo.failedReceiveMsg=prop.getProperty("failedReceiveMsg");
+			ResultInfo.successReceiveMsg=prop.getProperty("successReceiveMsg");
+
 			/*微信推送*/
 			ResultInfo.ORDER_DETAIL = prop.getProperty("wx_push_url");
 			
@@ -157,8 +162,8 @@ public class loadResultUtil {
 			ResultInfo.PAGE_SHIPMENT = "http://h5.iamberry.com/iamberry/pay/goOrderInfo?orderId="; // 订单发货的界面
 			ResultInfo.TUIHUI_SHIPMENT = "http://h5.iamberry.com/iamberry/wechat/agentWechat/reback"; //收益退回的界面
 			ResultInfo.ORDER_GUOQI = "http://h5.iamberry.com/iamberry/pay/goOrderList"; 	//订单即将过期提醒
-			
-			
+
+			ResultInfo.service_push = prop.getProperty("service_push");			//服务推送模板
 		}
 	}
 }

+ 1 - 0
iamberry-common-web/src/main/java/com/iamberry/common/web/SimpleCORSFilter.java

@@ -39,6 +39,7 @@ public class SimpleCORSFilter implements Filter {
 		origins.add("www.aiberletech.com");
 		origins.add("h5.iamberry.com:801");
 		origins.add("h5.iamberry.com:8848");
+		origins.add("test.iamberry.com:8848");
 	}
 	
     public void init(FilterConfig filterConfig) throws ServletException {

+ 6 - 0
iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/admin/SystemService.java

@@ -11,6 +11,12 @@ public interface SystemService {
 	 * @param id
 	 */
 	public ShopSystemRule selectOneShopRuleById(Integer id);
+
+	/**
+	 * 根据ID,获取一条系统规则,不缓存
+	 * @param id
+	 */
+	public ShopSystemRule selectOneShopRuleByIdDynamic(Integer id);
 	
 	/**
 	 * 查询所有系统规则

+ 9 - 0
iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/ProductInfoService.java

@@ -83,4 +83,13 @@ public interface ProductInfoService {
 
 	/**根据产品id获取所有颜色**/
 	List<ProductColor> selectColorByPid(Integer productId);
+
+
+
+	/**
+	 * 根据colorId查询产品信息
+	 * @param colorId
+	 * @return
+	 */
+	Product selectProductByColorId(Integer colorId);
 }

+ 37 - 0
iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/SettlementGiftService.java

@@ -0,0 +1,37 @@
+package com.iamberry.wechat.face.cart;
+
+import com.iamberry.wechat.core.entity.cart.SettlementGift;
+
+import java.util.List;
+
+/**
+ *  结算赠品接口
+ * @author Administrator
+ * @Date 2019-05-23
+ */
+public interface SettlementGiftService {
+    /**
+     * 获取集合
+     * @param  settlementGift
+     * @return List
+     */
+    List<SettlementGift> getSettlementGiftList(SettlementGift settlementGift);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  settlementGift
+     */
+    SettlementGift getSettlementGiftById(Integer id);
+    /**
+     * 增加数据
+     * @param  settlementGift
+     * @return Integer
+     */
+    Integer  save(SettlementGift settlementGift);
+    /**
+     * 修改数据
+     * @param  settlementGift
+     * @return Integer
+     */
+    Integer  update(SettlementGift settlementGift);
+}

+ 77 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/ActivityUtil.java

@@ -0,0 +1,77 @@
+package com.iamberry.wechat.service;
+
+
+import com.iamberry.wechat.core.entity.activity.ActivityDate;
+import com.iamberry.wechat.face.admin.SystemService;
+import com.iamberry.wechat.face.member.MemberService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * 上朵活动类
+ */
+@Component
+public class ActivityUtil {
+
+    @Autowired
+    private SystemService systemService;
+
+    @Autowired
+    private MemberService memberService;
+
+    private SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+    /**
+     * 获取日期
+     * @param type
+     * @return
+     */
+    private ActivityDate initDate(Integer type){
+        ActivityDate activityDate  = new ActivityDate();
+        try {
+            switch (type){
+                case 1:
+                    String begin = systemService.selectOneShopRuleByIdDynamic(256).getRuleDesc();
+                    activityDate.setBeginDate(sd.parse(begin)); ;
+                    String end = systemService.selectOneShopRuleByIdDynamic(257).getRuleDesc();
+                    activityDate.setEndDate(sd.parse(end));
+                    break;
+                default:
+                    activityDate = null;
+                    break;
+            }
+        }catch (Exception e){
+            activityDate = null;
+            e.printStackTrace();
+        }
+
+        return activityDate;
+    }
+
+
+    /**
+     * 判断是否在注销时间内
+     * @return 期限内true;
+     */
+    public ActivityDate isActivity(){
+        ActivityDate activityDate = initDate(1);
+
+        activityDate.setRemark("618活动");
+
+        if(activityDate == null){
+            activityDate.setStatus(false);
+        }
+        Date date = new Date();
+
+        if (activityDate.getBeginDate().before(date) && date.before(activityDate.getEndDate())){  //beginDate 比 date 早? true :false
+            activityDate.setStatus(true);
+            return activityDate;
+        }
+        activityDate.setStatus(false);
+        return activityDate;
+    }
+
+}

+ 6 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/ProductInfoServiceImpl.java

@@ -150,4 +150,10 @@ public class ProductInfoServiceImpl implements ProductInfoService {
 	public List<ProductColor> selectColorByPid(Integer productId) {
 		return productInfoDao.selectColorByPid(productId);
 	}
+
+	@Override
+	public Product selectProductByColorId(Integer colorId) {
+		return productInfoDao.selectProductByColorId(colorId);
+	}
+
 }

+ 56 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/SettlementGiftServiceImpl.java

@@ -0,0 +1,56 @@
+package com.iamberry.wechat.service.cart;
+
+import com.iamberry.wechat.core.entity.cart.SettlementGift;
+import com.iamberry.wechat.face.cart.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 Administrator
+ * @Date 2019-05-23
+ */
+@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);
+    }
+    /**
+     * 增加数据
+     * @param  settlementGift
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(SettlementGift settlementGift){
+        return  settlementGiftMapper.save(settlementGift);
+    }
+    /**
+     * 修改数据
+     * @param  settlementGift
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(SettlementGift settlementGift){
+        return  settlementGiftMapper.update(settlementGift);
+    }
+}

+ 6 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/ProductInfoDao.java

@@ -79,4 +79,10 @@ public interface ProductInfoDao {
 
 	/**根据产品id获取所有颜色**/
 	List<ProductColor> selectColorByPid(Integer productId);
+	/**
+	 * 根据colorId查询产品信息
+	 * @param colorId
+	 * @return
+	 */
+	Product selectProductByColorId(Integer colorId);
 }

+ 6 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/ProductInfoDaoImpl.java

@@ -108,4 +108,10 @@ public class ProductInfoDaoImpl implements ProductInfoDao {
 	public List<ProductColor> selectColorByPid(Integer productId) {
 		return productInfoMapper.selectColorByPid(productId);
 	}
+
+	@Override
+	public Product selectProductByColorId(Integer colorId) {
+		return productInfoMapper.selectProductByColorId(colorId);
+	}
+
 }

+ 7 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ProductInfoMapper.java

@@ -78,4 +78,11 @@ public interface ProductInfoMapper {
 
 	/**根据产品id获取所有颜色**/
 	List<ProductColor> selectColorByPid(Integer productId);
+
+	/**
+	 * 根据colorId查询产品信息
+	 * @param colorId
+	 * @return
+	 */
+	Product selectProductByColorId(Integer colorId);
 }

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

@@ -0,0 +1,37 @@
+package com.iamberry.wechat.service.mapper;
+
+import com.iamberry.wechat.core.entity.cart.SettlementGift;
+
+import java.util.List;
+
+/**
+ *  结算赠品接口
+ * @author Administrator
+ * @Date 2019-05-23
+ */
+public interface SettlementGiftMapper {
+    /**
+     * 获取集合
+     * @param  settlementGift
+     * @return List
+     */
+    List<SettlementGift> getSettlementGiftList(SettlementGift settlementGift);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  settlementGift
+     */
+    SettlementGift getSettlementGiftById(Integer id);
+    /**
+     * 增加数据
+     * @param  settlementGift
+     * @return Integer
+     */
+    Integer  save(SettlementGift settlementGift);
+    /**
+     * 修改数据
+     * @param  settlementGift
+     * @return Integer
+     */
+    Integer  update(SettlementGift settlementGift);
+}

+ 1 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/cartMapper.xml

@@ -294,6 +294,7 @@ PUBLIC
 		SELECT
 			C.CART_ID cartId,
 			C.CART_NUM cartNum,
+			C.cart_color_id cartColorId,
 			C.cart_is_source cartIsSource
 		FROM
 		TB_IAMBERRY_SHOP_CART C

+ 30 - 2
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml

@@ -75,7 +75,7 @@
 				AND TB_IAMBERRY_PRODUCT_INFO.product_type = #{otherInt}
 			</if>
 			GROUP BY TB_IAMBERRY_PRODUCT_INFO.PRODUCT_ID
-			ORDER BY product_child_type DESC
+			ORDER BY product_choiceness_sort DESC
 		LIMIT 
 			#{minNum},#{maxNum}
 	</select>
@@ -117,6 +117,7 @@
 		tb_iamberry_product_color c
 		<where>
 			c.color_product_id = #{productId}
+			AND color_status = 1
 		</where>
 	</select>
 
@@ -394,6 +395,33 @@
 	</select>
 
 	<select id="selectColorByPid" parameterType="Integer" resultType="ProductColor">
-		select * from tb_iamberry_product_color where color_product_id = #{productId}
+		select * from tb_iamberry_product_color where color_product_id = #{productId} AND  color_status = 1
+	</select>
+
+	<!--根据产品颜色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_child_type productChildTypeId,
+		PC.COLOR_NAME,
+		PC.color_product_pic ,
+		PC.color_discount,
+		PC.color_price,
+		PC.color_69code
+		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}
 	</select>
 </mapper>

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

@@ -0,0 +1,96 @@
+<?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_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_create_time
+    </sql>
+    <select id="getSettlementGiftList" resultMap="BaseResultMap" parameterType="SettlementGift" >
+        select
+        <include refid="Base_List" />
+        from tb_iamberry_settlement_gift t
+        <where>
+            <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>
+    <insert id="save" parameterType="SettlementGift" >
+        insert into
+        tb_iamberry_settlement_gift
+        (
+        sett_gift_id,
+        sett_gift_fill_color_id,
+        sett_gift_gift_color_id,
+        sett_gift_price,
+        sett_gift_num,
+        sett_gift_status
+        )
+        values
+        (
+        #{settGiftId},
+        #{settGiftFillColorId},
+        #{settGiftGiftColorId},
+        #{settGiftPrice},
+        #{settGiftNum},
+        #{settGiftStatus}
+        )
+    </insert>
+    <update id="update" parameterType="SettlementGift" >
+        update
+        tb_iamberry_settlement_gift
+        <set >
+            <if test="settGiftFillColorId != null ">
+                sett_gift_fill_color_id = #{settGiftFillColorId},
+            </if >
+            <if test="settGiftGiftColorId != null ">
+                sett_gift_gift_color_id = #{settGiftGiftColorId},
+            </if >
+            <if test="settGiftPrice != null ">
+                sett_gift_price = #{settGiftPrice},
+            </if >
+            <if test="settGiftNum != null ">
+                sett_gift_num = #{settGiftNum},
+            </if >
+            <if test="settGiftStatus != null ">
+                sett_gift_status = #{settGiftStatus},
+            </if >
+        </set >
+        where sett_gift_id= #{settGiftId}
+    </update>
+</mapper>

+ 5 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/system/SystemServiceImpl.java

@@ -19,6 +19,11 @@ public class SystemServiceImpl implements SystemService {
 		// TODO Auto-generated method stub
 		return systemDao.selectOneShopRuleById(id);
 	}
+
+	@Override
+	public ShopSystemRule selectOneShopRuleByIdDynamic(Integer id) {
+		return systemDao.selectOneShopRuleById(id);
+	}
 	
 	/**
 	 * 查询所有系统规则

+ 84 - 11
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/wechat/WeChatServiceImpl.java

@@ -1,9 +1,15 @@
 package com.iamberry.wechat.service.wechat;
 
 import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
-import com.iamberry.wechat.tools.WeixinUtil;
+import com.iamberry.wechat.core.entity.coupon.CouponItem;
+import com.iamberry.wechat.core.entity.coupon.CouponItemDto;
+import com.iamberry.wechat.core.entity.coupon.CouponType;
+import com.iamberry.wechat.face.coupon.CouponItemService;
+import com.iamberry.wechat.face.coupon.CouponTypeService;
+import com.iamberry.wechat.tools.*;
 import net.sf.json.JSONObject;
 
 import org.apache.commons.lang3.StringUtils;
@@ -45,9 +51,6 @@ import com.iamberry.wechat.service.mapper.PlaceInfoMapper;
 import com.iamberry.wechat.service.member.dao.MemberDao;
 import com.iamberry.wechat.service.qrcode.dao.QrcodeDao;
 import com.iamberry.wechat.service.relationship.Dao.WdRelationDao;
-import com.iamberry.wechat.tools.NameUtils;
-import com.iamberry.wechat.tools.QQFace;
-import com.iamberry.wechat.tools.ResultInfo;
 
 /**
  * description : wechat handler的核心服务类
@@ -116,6 +119,13 @@ public class WeChatServiceImpl implements WeChatService {
 	
 	@Autowired
 	private WdRelationDao wdRelationDao;
+
+	@Autowired
+	private CouponTypeService couponTypeService;
+	@Autowired
+	private CouponItemService couponItemService;
+	@Autowired
+	private SendMessageUtil sendMessageUtil;
 	/**
 	 * 处理微信发来的请求
 	 * @param request
@@ -184,16 +194,13 @@ public class WeChatServiceImpl implements WeChatService {
 				}
 
 				if (content.startsWith(NameUtils.PLACE_CODE_PREFIX)) {// 代理商绑定	
-
 					content = StringUtils.trim(content);
-					
 					respContent = bulidPlace(content, fromUserName);
-//System.out.println("代理商绑定-回复信息:" + respContent);
-					
-				} else { 
+				}if("618".equals(content)) {// 618
+					respContent = add618Reduction(fromUserName);
+				} else {
 					// 文本类型的消息处理
 					Status status = messageHandler(content, requestMap, fromUserName, toUserName, createTime+"");
-//System.out.println("文本消息-回复信息:" + status.getCountext());
 					if (status.isFlag()) {
 						return respContent = status.getCountext();
 					} else {
@@ -743,7 +750,7 @@ public class WeChatServiceImpl implements WeChatService {
 			return qrcodeResult.getQroceUrl();
 		}
 	}
-	
+
 	/***
 	 * 消息处理
 	 * @param content
@@ -839,4 +846,70 @@ public class WeChatServiceImpl implements WeChatService {
 			return false;
 		}
 	}
+
+	/**
+	 * 618活动
+	 * @param fromUserName openid
+	 * @return
+	 */
+	public String add618Reduction(String fromUserName) {
+		if (fromUserName == null) {
+			return NameUtils.getConfig("");
+		}
+		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		Date date = new Date();
+		Calendar endCalendar = Calendar.getInstance();
+		endCalendar.set(2019,5,18,23,59,59);
+		Date endDate = endCalendar.getTime();
+		inLongLogger.info("活动截止时间:"+formatter.format(endCalendar.getTime()) );
+		if(endDate.before(date)){//date>endDate?true:false
+			return ResultInfo.eventExpiredMsg;
+		}
+
+		CouponItemDto couponItemDto = new CouponItemDto();
+		couponItemDto.setUseropenid(fromUserName);	//useropenid
+		couponItemDto.setCouponId(10002);
+		Integer count = couponItemService.getCouponItemCount(couponItemDto);
+		if(count > 0){
+			return ResultInfo.repeatCollectionMsg;
+		}
+
+		Integer couponId = 10002;
+		CouponType couponType = couponTypeService.getCouponTypeById(couponId);
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.YEAR, 2019);
+		calendar.set(Calendar.MONTH, 5);
+		calendar.set(Calendar.DAY_OF_MONTH, 18);
+		calendar.set(Calendar.HOUR_OF_DAY,23);
+		calendar.set(Calendar.MINUTE,59);
+		calendar.set(Calendar.SECOND,50);
+		CouponItem couponItem = new CouponItem();
+		String uuidStr = StrUtils.getUUID();
+		couponItem.setCouponItemId(uuidStr);
+		couponItem.setCouponItemUseropenid(fromUserName);
+		couponItem.setCouponId(couponId);
+		couponItem.setCouponReceiveDate(new Date());
+		couponItem.setCouponUseEndDate(calendar.getTime());
+		couponItem.setCouponUseStatus(1);
+		couponItem.setCouponItemRemark(couponType.getCouponRemark());
+		Integer flag = couponItemService.insertCouponItem(couponItem);
+		if(flag < 1){
+			return ResultInfo.failedReceiveMsg;
+		}
+
+		// 推送信息
+		try {
+			sendMessageUtil.servicePush(
+					"亲爱的用户,恭喜您已领取Aiberle年中大促活动50元代金券",
+					"Aiberle微商城50元抵用券",
+					"有效期至2019-06-18",
+					"可在“会员中心—券包”查看,请尽快使用。",
+					fromUserName,
+					ResultInfo.INDEX_URL);
+		}catch (Exception e){
+			inLongLogger.info("推送消息失败,失败openId:"+fromUserName);
+			e.printStackTrace();
+		}
+		return ResultInfo.successReceiveMsg;
+	}
 }

+ 3 - 3
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProductInfoHandler.java

@@ -81,7 +81,7 @@ public class ProductInfoHandler {
 	@ResponseBody
 	@RequestMapping("/productIndex")
 	public ResultMsg productIndex(HttpServletRequest request,
-			@RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize, 
+			@RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
 			@RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO,
 			@RequestParam(value = "productName", defaultValue = "")String productName,
 			@RequestParam(value = "typeId", defaultValue = "")Integer typeId) throws Exception {
@@ -203,7 +203,7 @@ public class ProductInfoHandler {
 		}
 		
 		if (StaticInfo.pattern.matcher(productId).find()) {
-			Product product = this.productInfoService.getProductByProductId(Integer.parseInt(productId));
+ 			Product product = this.productInfoService.getProductByProductId(Integer.parseInt(productId));
 			List<ProductPicture> pictureList = productPictureService.getProductPictureByproductId(Integer.parseInt(productId));
 			product.setPictureList(pictureList);
 			/*
@@ -221,7 +221,7 @@ public class ProductInfoHandler {
 			remsg.setStatus(true);
 			return remsg;
 		}
-		
+
 		try {
 			String productIdString = StaticInfo.md5.decrypt(productId);
 			Product product = this.productInfoService.getProductByProductId(Integer.parseInt(productIdString));

+ 98 - 87
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java

@@ -1,19 +1,20 @@
 package com.iamberry.wechat.handles.order;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
+import java.util.*;
 import java.util.regex.Pattern;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.iamberry.wechat.core.entity.activity.ActivityDate;
+import com.iamberry.wechat.core.entity.cart.*;
+import com.iamberry.wechat.core.entity.product.Product;
 import com.iamberry.wechat.core.entity.product.SalesUserGift;
+import com.iamberry.wechat.face.cart.SettlementGiftService;
+import com.iamberry.wechat.service.ActivityUtil;
 import com.iamberry.wechat.tools.*;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -24,10 +25,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.WechatUtils;
-import com.iamberry.wechat.core.entity.cart.CartDto;
-import com.iamberry.wechat.core.entity.cart.OrderPayDto;
-import com.iamberry.wechat.core.entity.cart.SendPayDto;
-import com.iamberry.wechat.core.entity.cart.TempOrderDto;
 import com.iamberry.wechat.core.entity.coupon.CouponItem;
 import com.iamberry.wechat.core.entity.coupon.CouponItemDto;
 import com.iamberry.wechat.core.entity.coupon.CouponType;
@@ -94,6 +91,10 @@ public class OrderHandler {
 	private MQServiceProxy mQservice;
 	@Autowired
 	private ProductInfoService productInfoService;
+	@Autowired
+	private SettlementGiftService settlementGiftService;
+	@Autowired
+	private ActivityUtil activityUtil;
 
 	/**
 	 * 支付前,调用方法
@@ -156,25 +157,23 @@ public class OrderHandler {
 
 		List<CartDto> tempCarts = new ArrayList<CartDto>();
 		for (CartDto cartDto : cartDtos) {
-			switch (cartDto.getCartIsSource()) {
-				case 1:
-					cartDto = cartService.selectCartProductColor(cartDto);
-					break;
-				case 2:
-					cartDto = cartService.getCartProductFitting(cartDto);
-			}
+			cartDto = cartService.selectCartProductColor(cartDto);
 			if (cartDto.getProductStatus() != null && cartDto.getProductStatus().intValue() == 1) {
 				total += cartDto.getCartNum() * cartDto.getProductPrice();
 				sum++;
-				//查询产品赠品信息
-				List<SalesUserGift> giftList = cartService.listGift(cartDto.getCartColorId());
-				cartDto.setSalesUserGiftList(giftList);
 				tempCarts.add(cartDto);
 			}
-			if(cartDto.getCartProductId() == 39){
+			if(cartDto.getCartProductId() == 39 || cartDto.getCartProductId() == 33){
 				productIdW6 ++;
 			}
 		}
+
+		//添加赠品
+		ActivityDate activityDate = activityUtil.isActivity();
+		if(activityDate.isStatus()){
+			giftCart(tempCarts);
+		}
+
 		if (sum <= 0) {
 			msg.setMessage(ResultInfo.cartEmptyError);
 			return msg;
@@ -303,20 +302,19 @@ public class OrderHandler {
 		order.setSalesOrderid(orderNOUtil.createOrderCode(member.getUserId())); // 订单ID
 		List<OrderItem> list = new ArrayList<OrderItem>();
 		List<Integer> cartIds = new ArrayList<Integer>();
-		
-		for (CartDto cartDto : cartDtos) {
-			//判断购买产品是产品还是配件
-//			switch (cartDto.getCartIsSource()) {
-//				case 1:
-//					cartDto = cartService.selectCartProductColor(cartDto);
-//					break;
-//				case 2:
-//					cartDto = cartService.getCartProductFitting(cartDto);
-//			}
-
-			//产品和配件都是从产品表出,配件和产品的区别在于类型
-			cartDto = cartService.selectCartProductColor(cartDto);
 
+		List<CartDto> cds = new ArrayList<>();
+		for (int i=0;i<cartDtos.size();i++) {
+			CartDto c = cartService.selectCartProductColor(cartDtos.get(i));
+			cds.add(c);
+		}
+		cartDtos = cds;
+		//添加赠品
+		ActivityDate activityDate = activityUtil.isActivity();
+		if(activityDate.isStatus()){
+			giftCart(cartDtos);
+		}
+		for (CartDto cartDto : cartDtos) {
 			if (cartDto.getProductStatus() != null && cartDto.getProductStatus().intValue() == 1) {
 				cartIds.add(cartDto.getCartId());
 				Integer subTotal = cartDto.getCartNum() * cartDto.getProductPrice(); // 小计
@@ -338,32 +336,8 @@ public class OrderHandler {
 				item.setItemProductChildType(cartDto.getProductChildType());
 				list.add(item);
 			}
-			//查询产品赠品信息
-			List<SalesUserGift> giftList = cartService.listGift(cartDto.getCartColorId());
-			if (giftList != null && giftList.size() > 0) {
-				for (SalesUserGift gift : giftList) {
-					OrderItem item = new OrderItem();
-					item.setItemNum(gift.getUserGiftCount() * cartDto.getCartNum());
-					item.setItemProductDiscount(0);
-					item.setItemProductId(gift.getUserGiftId());
-					item.setItemProductName(gift.getGiftName());
-					item.setItemProductPic(gift.getGiftProductPic());
-					item.setItemSalesOrderid(order.getSalesOrderid());
-					item.setItemTotal(0);
-					item.setItemProductPrice(0);
-					item.setItemColorId(gift.getUserGiftColor());
-					item.setItemProductColor(gift.getGiftColorName());
-					item.setItemProductChildType(gift.getGiftChildType());
-					item.setItemIsSource(1);
-					item.setItemProductType(gift.getGiftType());
-					item.setItemProductChildType(gift.getGiftChildType());
-					item.setItemGiftSource(cartDto.getCartColorId());
-					item.setItemProductChildType(cartDto.getProductChildType());
-					list.add(item);
-				}
-			}
 		}
-		
+
 		// 准备订单对象
 		order.setSalesOpenid(member.getUserOpenid()); // openid 
 		order.setSalesAmount(total); // 订单金额
@@ -417,16 +391,6 @@ public class OrderHandler {
 		}else{
 			mustPay=total;
 		}
-		
-		//获取账户余额,判断是否在可用范围内
-//		int balancePayAmount=temp.getBalancePayAmount();
-//		if(balancePayAmount>0 && member.getUserIncome()>balancePayAmount){
-//			mustPay=total-temp.getBalancePayAmount()>0?total-temp.getBalancePayAmount():0;
-//		}else if(balancePayAmount>0 && member.getUserIncome()<balancePayAmount){
-//			msg.setMessage(ResultInfo.NO_ENOUGH_FOR_PAY);
-//			return msg;
-//		}
-		
 		order.setSalesYetAmount(total);
 		order.setSalesRateAmount(0);
 		order.setSalesIntegralNum(temp.getOrderIntegralNum()); // 订单使用积分
@@ -500,24 +464,6 @@ public class OrderHandler {
 				int i=couponItemService.updateCouponItemById(couponItem);
 			}
 				
-			//更新账户余额
-//			if(balancePayAmount>0){
-//				member.setUserIncome(-balancePayAmount);
-//				memberService.updateUserIncomeByOpenId(member);
-//
-//				//现金使用记录
-//				CashLog log=new CashLog();
-//				log.setCashLogsIntroduction("订单支出");
-//				log.setCashLogsNum(balancePayAmount);
-//				log.setCashLogsOpenid(member.getUserOpenid());
-//				log.setCashLogsType(2);
-//				log.setCashLogsResType(3);
-//				log.setCashLogsOrderid(order.getSalesOrderid());
-//				log.setCashLogsCreateDate(nowDate);
-//				cashLogService.addCashLog(log);
-//
-//			}
-			
 			rebackServices.loadSingleOrderReward(order);
 			productInfoService.updateProductNumList(order.getSalesOrderid());
 			try {
@@ -691,4 +637,69 @@ public class OrderHandler {
 		}
 		return cartIntList;
 	}
+
+	/**
+	 * 赠送赠品
+	 * @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();
+					}
+					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;
+						newCarD.setCartNum(newCarD.getCartNum() + carD.getCartNum());
+						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.setColorStatus(1);
+					carD.setProductIntroduceImg(product.getColorProductPic());
+					carD.setProductRemark(product.getColorPresent());
+					carD.setProductColor(product.getColorName());
+					carD.setProductIntroduceImg(product.getColorProductPic());	//productIntroduceImg
+					carD.setProductChildType(product.getProductChildTypeId());	//productChildType
+					carD.setCartIsSource(1);
+					CartDto newCartDto = new CartDto();
+					BeanUtils.copyProperties(carD,newCartDto);
+					newGiftList.add(newCartDto);
+				}
+			}
+		}
+		if(newGiftList != null && newGiftList.size() > 0){
+			cartDtoList.addAll(newGiftList);
+		}
+	}
 }

File diff suppressed because it is too large
+ 7 - 1
iamberry-wechat-web/src/main/resources/ResultInfo.properties


+ 6 - 1
iamberry-wechat-web/src/main/resources/iamberry-wechat-service-mybatis.xml

@@ -176,7 +176,9 @@
 		<!-- 游戏奖品dto -->
 		<typeAlias type="com.iamberry.wechat.core.entity.game.GamePrizeDto" alias="GamePrizeDto"/>
 
-		
+		<!--赠品-->
+		<typeAlias type="com.iamberry.wechat.core.entity.cart.SettlementGift" alias="SettlementGift"/>
+
 		<!-- 营养自测 -->
 		<typeAlias type="com.iamberry.wechat.core.entity.questionnaire.QuestionnairePaper" alias="QuestionnairePaper"/>
 		<typeAlias type="com.iamberry.wechat.core.entity.questionnaire.QuestionnaireAnswer" alias="QuestionnaireAnswer"/>
@@ -250,6 +252,9 @@
 		<mapper resource="com/iamberry/wechat/service/mapper/withdrawMapper.xml"/>
 		<mapper resource="com/iamberry/wechat/service/mapper/phoneCodeMapper.xml"/>
 		<mapper resource="com/iamberry/wechat/service/mapper/warrantyMapper.xml"/>
+
+		<!--赠品-->
+		<mapper resource="com/iamberry/wechat/service/mapper/settlementGiftMapper.xml"/>
 	</mappers>
 
 </configuration>

File diff suppressed because it is too large
+ 20 - 20
iamberry-wechat-web/src/main/resources/platform.properties