浏览代码

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

wangxiaoming 7 年之前
父节点
当前提交
0fb6e4e7c5
共有 44 个文件被更改,包括 613 次插入111 次删除
  1. 24 10
      iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/cart/CartDto.java
  2. 10 0
      iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/product/Product.java
  3. 10 1
      iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/product/ProductColor.java
  4. 36 9
      iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/product/SalesUserGift.java
  5. 29 0
      iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/CartService.java
  6. 8 1
      iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/ProductInfoService.java
  7. 7 0
      iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/phone/PhoneCodeService.java
  8. 21 1
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/CartServiceImpl.java
  9. 10 1
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/ProductInfoServiceImpl.java
  10. 29 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/CartDao.java
  11. 7 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/ProductInfoDao.java
  12. 20 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/CartDaoImpl.java
  13. 6 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/ProductInfoDaoImpl.java
  14. 29 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/CartMapper.java
  15. 15 1
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/PhoneCodeMapper.java
  16. 7 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ProductInfoMapper.java
  17. 88 29
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/cartMapper.xml
  18. 5 2
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/orderMapper.xml
  19. 23 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/phoneCodeMapper.xml
  20. 82 19
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml
  21. 40 0
      iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/phone/PhoneCodeServiceImpl.java
  22. 13 2
      iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProductInfoHandler.java
  23. 46 8
      iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java
  24. 28 7
      iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/warranty/WarrantyCardHandler.java
  25. 1 1
      watero-wechat-web/src/main/webapp/WEB-INF/views/wechat/share_zhuanpan.html
  26. 1 1
      watero-wechat-web/src/main/webapp/WEB-INF/views/wechat/zhuanpan.html
  27. 1 1
      watero-wechat-web/src/main/webapp/common/shop/js/page/chanpin_details.js
  28. 1 1
      watero-wechat-web/src/main/webapp/common/shop/js/page/fenxiao_center.js
  29. 1 1
      watero-wechat-web/src/main/webapp/common/shop/js/page/fenxiao_center2.js
  30. 1 1
      watero-wechat-web/src/main/webapp/common/shop/js/page/iamberry_video.js
  31. 1 1
      watero-wechat-web/src/main/webapp/common/shop/js/page/index.js
  32. 1 1
      watero-wechat-web/src/main/webapp/view/push_jiangli.html
  33. 1 1
      watero-wechat-web/src/main/webapp/view/rent/i_want_lease.html
  34. 1 1
      watero-wechat-web/src/main/webapp/view/rent/lease_order_details.html
  35. 1 1
      watero-wechat-web/src/main/webapp/view/water_competition_for_me.html
  36. 1 1
      wateroPF-wechat-web/src/main/webapp/WEB-INF/views/wechat/share_zhuanpan.html
  37. 1 1
      wateroPF-wechat-web/src/main/webapp/WEB-INF/views/wechat/zhuanpan.html
  38. 1 1
      wateroPF-wechat-web/src/main/webapp/common/shop/js/page/chanpin_details.js
  39. 1 1
      wateroPF-wechat-web/src/main/webapp/common/shop/js/page/fenxiao_center.js
  40. 1 1
      wateroPF-wechat-web/src/main/webapp/common/shop/js/page/fenxiao_center2.js
  41. 1 1
      wateroPF-wechat-web/src/main/webapp/common/shop/js/page/iamberry_video.js
  42. 1 1
      wateroPF-wechat-web/src/main/webapp/common/shop/js/page/index.js
  43. 1 1
      wateroPF-wechat-web/src/main/webapp/view/rent/i_want_lease.html
  44. 1 1
      wateroPF-wechat-web/src/main/webapp/view/rent/lease_order_details.html

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

@@ -1,7 +1,10 @@
 package com.iamberry.wechat.core.entity.cart;
 
+import com.iamberry.wechat.core.entity.product.SalesUserGift;
+
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 
@@ -27,8 +30,6 @@ public class CartDto implements Serializable{
 
 	private String productName;		//商品名称
 
-	private Integer productType;		//商品类型id
-
 	private Integer productPrice;		//商品原价
 	
 	private Integer productStatus;		//商品状态
@@ -43,23 +44,36 @@ public class CartDto implements Serializable{
 	
 	private String productColor;			//产品颜色		不再用代码表示,直接使用汉字- 1:红色	2:橙色	3:黄色	4:绿色 5:青色	6:蓝色	7:紫色	8:白色
 
+	private Integer productChildType;	//产品类型
+
 	private Integer cartColorId;//产品颜色id
+
+	private Integer cartIsSource;	//商品来源
+
 	private List<SalesUserGift> salesUserGiftList; //赠品集合
 
-	public Integer getCartColorId() {
-		return cartColorId;
+	public Integer getCartIsSource() {
+		return cartIsSource;
 	}
 
-	public void setCartColorId(Integer cartColorId) {
-		this.cartColorId = cartColorId;
+	public void setCartIsSource(Integer cartIsSource) {
+		this.cartIsSource = cartIsSource;
 	}
 
-	public Integer getProductType() {
-		return productType;
+	public Integer getProductChildType() {
+		return productChildType;
 	}
 
-	public void setProductType(Integer productType) {
-		this.productType = productType;
+	public void setProductChildType(Integer productChildType) {
+		this.productChildType = productChildType;
+	}
+
+	public Integer getCartColorId() {
+		return cartColorId;
+	}
+
+	public void setCartColorId(Integer cartColorId) {
+		this.cartColorId = cartColorId;
 	}
 
 	public String getProductColor() {

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

@@ -57,6 +57,8 @@ public class Product implements java.io.Serializable{
 	private ProductImageText productImageText = new ProductImageText();
 	
 	private List<ProductPicture> pictureList = new ArrayList<ProductPicture>();
+
+	private List<ProductColor> ProductColorList; //颜色集合
 	
 	private Integer minMoney;		//页面显示   最小金额
 	
@@ -251,6 +253,14 @@ public class Product implements java.io.Serializable{
 		this.page = page;
 	}
 
+	public List<ProductColor> getProductColorList() {
+		return ProductColorList;
+	}
+
+	public void setProductColorList(List<ProductColor> productColorList) {
+		ProductColorList = productColorList;
+	}
+
 	@Override
 	public String toString() {
 		return "Product [productId=" + productId + ", productName="

+ 10 - 1
iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/product/ProductColor.java

@@ -3,6 +3,7 @@ package com.iamberry.wechat.core.entity.product;
 import com.iamberry.wechat.core.entity.PageBean;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 产品颜色表
@@ -25,7 +26,7 @@ public class ProductColor implements java.io.Serializable {
     private String color69Code;			//产品69码
     private Date colorCretaeTime;		//创建时间
     private Date colorUpdateTime;	//修改时间
-
+    private List<SalesUserGift> salesUserGiftList; //赠品集合
     private PageBean page = new PageBean();		//分页
 
     public Integer getColorStatus() {
@@ -139,4 +140,12 @@ public class ProductColor implements java.io.Serializable {
     public void setPage(PageBean page) {
         this.page = page;
     }
+
+    public List<SalesUserGift> getSalesUserGiftList() {
+        return salesUserGiftList;
+    }
+
+    public void setSalesUserGiftList(List<SalesUserGift> salesUserGiftList) {
+        this.salesUserGiftList = salesUserGiftList;
+    }
 }

+ 36 - 9
iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/product/SalesUserGift.java

@@ -17,7 +17,42 @@ public class SalesUserGift implements java.io.Serializable {
     private Integer userGiftCount;      //赠送产品数量
     private Integer userStatus;         //状态    1:使用,2:停用
     private Date userCreateTime;        //创建时间
-    private String productName;        //产品名称
+    private String giftName;            //赠品名称
+    private String giftColorName;       //赠品颜色名称
+    private Integer giftChildType;      //赠品类型
+    private String giftProductPic;      //赠品图文
+
+    public String getGiftName() {
+        return giftName;
+    }
+
+    public void setGiftName(String giftName) {
+        this.giftName = giftName;
+    }
+
+    public String getGiftColorName() {
+        return giftColorName;
+    }
+
+    public void setGiftColorName(String giftColorName) {
+        this.giftColorName = giftColorName;
+    }
+
+    public Integer getGiftChildType() {
+        return giftChildType;
+    }
+
+    public void setGiftChildType(Integer giftChildType) {
+        this.giftChildType = giftChildType;
+    }
+
+    public String getGiftProductPic() {
+        return giftProductPic;
+    }
+
+    public void setGiftProductPic(String giftProductPic) {
+        this.giftProductPic = giftProductPic;
+    }
 
     public Integer getUserId() {
         return userId;
@@ -82,12 +117,4 @@ public class SalesUserGift implements java.io.Serializable {
     public void setUserCreateTime(Date userCreateTime) {
         this.userCreateTime = userCreateTime;
     }
-
-    public String getProductName() {
-        return productName;
-    }
-
-    public void setProductName(String productName) {
-        this.productName = productName;
-    }
 }

+ 29 - 0
iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/CartService.java

@@ -13,6 +13,7 @@ import com.iamberry.wechat.core.entity.coupon.CouponType;
 import com.iamberry.wechat.core.entity.mq.MQMessage;
 import com.iamberry.wechat.core.entity.order.Order;
 import com.iamberry.wechat.core.entity.order.OrderItem;
+import com.iamberry.wechat.core.entity.product.SalesUserGift;
 
 public interface CartService {
 	
@@ -55,6 +56,27 @@ public interface CartService {
 	 * @return
 	 */
 	public List<CartDto> selectCartItemByListId(Integer[] carts);
+
+	/**
+	 * 批量获取购物车集合
+	 * @param carts
+	 * @return
+	 */
+	List<CartDto> listCartByIds(Integer[] carts);
+
+	/**
+	 * 查询购物车产品颜色信息
+	 * @param cartDto
+	 * @return
+	 */
+	CartDto selectCartProductColor(CartDto cartDto);
+
+	/**
+	 * 查询购物车产品配件信息
+	 * @param cartDto
+	 * @return
+	 */
+	CartDto getCartProductFitting(CartDto cartDto);
 	
 	/**
 	 * 保存订单、订单项
@@ -130,4 +152,11 @@ public interface CartService {
 	 * @return
 	 */
 	public Order getOrderRecentAddress(String openid);
+
+	/**
+	 * 查询购买产品的赠品信息
+	 * @param cartColorId
+	 * @return
+	 */
+	List<SalesUserGift> listGift(Integer cartColorId);
 }

+ 8 - 1
iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/ProductInfoService.java

@@ -4,11 +4,12 @@ import java.util.List;
 
 import com.iamberry.wechat.core.entity.product.Product;
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 
 public interface ProductInfoService {
 
 	//分页查询商品信息
-	public List<Product> selectPageProduct(int pageSize, int pageNO, String productName);
+	public List<Product> selectPageProduct(int pageSize, int pageNO, String productName,Integer typeId);
 	
 	//根据productID查询商品信息
 	public Product getProductByProductId(Integer productId);
@@ -42,4 +43,10 @@ public interface ProductInfoService {
 	 * @return
 	 */
 	ProductColor getProductColor(ProductColor productColor);
+
+	/**
+	 * 获取所有产品类型
+	 * @return
+	 */
+	List<ProductType> selectProductType();
 }

+ 7 - 0
iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/phone/PhoneCodeService.java

@@ -15,4 +15,11 @@ public interface PhoneCodeService {
      * @return
      */
     public ResponseJson validCode(String phone, String code);
+
+    /**
+     * 发送手机验证码
+     * @param phone
+     * @return
+     */
+    public ResponseJson sms(String phone);
 }

+ 21 - 1
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/CartServiceImpl.java

@@ -3,6 +3,7 @@ package com.iamberry.wechat.service.cart;
 import java.util.Date;
 import java.util.List;
 
+import com.iamberry.wechat.core.entity.product.SalesUserGift;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -122,6 +123,21 @@ public class CartServiceImpl implements CartService {
 	}
 
 	@Override
+	public List<CartDto> listCartByIds(Integer[] carts) {
+		return cartDao.listCartByIds(carts);
+	}
+
+	@Override
+	public CartDto selectCartProductColor(CartDto cartDto) {
+		return cartDao.selectCartProductColor(cartDto);
+	}
+
+	@Override
+	public CartDto getCartProductFitting(CartDto cartDto) {
+		return cartDao.getCartProductFitting(cartDto);
+	}
+
+	@Override
 	public boolean addOrderAndSaveOrderItem(Order order, List<OrderItem> items, List<Integer> cartIds) throws Exception {
 		// TODO Auto-generated method stub
 		int count = cartDao.insertOrderInfo(order);
@@ -255,5 +271,9 @@ public class CartServiceImpl implements CartService {
 	public Order getOrderRecentAddress(String openid){
 		return cartDao.getRecentOrderAddress(openid);
 	}
-	
+
+	@Override
+	public List<SalesUserGift> listGift(Integer cartColorId) {
+		return cartDao.listGift(cartColorId);
+	}
 }

+ 10 - 1
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/ProductInfoServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -25,7 +26,7 @@ public class ProductInfoServiceImpl implements ProductInfoService {
 	private CartDao cartDao;
 
 	
-	public List<Product> selectPageProduct(int pageSize, int pageNO, String productName) {
+	public List<Product> selectPageProduct(int pageSize, int pageNO, String productName,Integer typeId) {
 		// TODO Auto-generated method stub
 		PaperBean bean = new PaperBean();
 		if (pageNO == 1) {
@@ -37,6 +38,9 @@ public class ProductInfoServiceImpl implements ProductInfoService {
 		if (null != productName && !"".equals(productName)) {
 			bean.setStr(productName);
 		}
+		if (null != typeId) {
+			bean.setOtherInt(typeId);
+		}
 		return productInfoDao.selectPageProduct(bean);
 	}
 
@@ -85,4 +89,9 @@ public class ProductInfoServiceImpl implements ProductInfoService {
 	public ProductColor getProductColor(ProductColor productColor) {
 		return productInfoDao.getProductColor(productColor);
 	}
+
+	@Override
+	public List<ProductType> selectProductType() {
+		return productInfoDao.selectProductType();
+	}
 }

+ 29 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/CartDao.java

@@ -12,6 +12,7 @@ import com.iamberry.wechat.core.entity.coupon.CouponItem;
 import com.iamberry.wechat.core.entity.coupon.CouponType;
 import com.iamberry.wechat.core.entity.order.Order;
 import com.iamberry.wechat.core.entity.order.OrderItem;
+import com.iamberry.wechat.core.entity.product.SalesUserGift;
 
 public interface CartDao {
 	
@@ -56,6 +57,27 @@ public interface CartDao {
 	public List<CartDto> selectCartItemByListId(Integer[] carts);
 
 	/**
+	 * 批量获取购物车集合
+	 * @param carts
+	 * @return
+	 */
+	List<CartDto> listCartByIds(Integer[] carts);
+
+	/**
+	 * 查询购物车产品颜色信息
+	 * @param cartDto
+	 * @return
+	 */
+	CartDto selectCartProductColor(CartDto cartDto);
+
+	/**
+	 * 查询购物车产品配件信息
+	 * @param cartDto
+	 * @return
+	 */
+	CartDto getCartProductFitting(CartDto cartDto);
+
+	/**
 	 * 添加订单信息
 	 * @param order
 	 * @return
@@ -131,4 +153,11 @@ public interface CartDao {
 	 * @return
 	 */
 	public Order getRecentOrderAddress(String openid);
+
+	/**
+	 * 查询购买产品的赠品信息
+	 * @param cartColorId
+	 * @return
+	 */
+	List<SalesUserGift> listGift(Integer cartColorId);
 }

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

@@ -6,6 +6,7 @@ import com.iamberry.wechat.core.entity.PaperBean;
 import com.iamberry.wechat.core.entity.cart.ShopOrderItemDto;
 import com.iamberry.wechat.core.entity.product.Product;
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 
 public interface ProductInfoDao {
 
@@ -39,4 +40,10 @@ public interface ProductInfoDao {
 	 * @return
 	 */
 	ProductColor getProductColor(ProductColor productColor);
+
+	/**
+	 * 获取所有产品类型
+	 * @return
+	 */
+	List<ProductType> selectProductType();
 }

+ 20 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/CartDaoImpl.java

@@ -3,6 +3,7 @@ package com.iamberry.wechat.service.cart.dao.impl;
 import java.util.List;
 import java.util.Map;
 
+import com.iamberry.wechat.core.entity.product.SalesUserGift;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
@@ -103,6 +104,20 @@ public class CartDaoImpl implements CartDao{
 		return cartMapper.selectCartItemByListId(carts);
 	}
 
+	@Override
+	public List<CartDto> listCartByIds(Integer[] carts) {
+		return cartMapper.listCartByIds(carts);
+	}
+
+	@Override
+	public CartDto selectCartProductColor(CartDto cartDto) {
+		return cartMapper.selectCartProductColor(cartDto);
+	}
+
+	@Override
+	public CartDto getCartProductFitting(CartDto cartDto) {
+		return cartMapper.getCartProductFitting(cartDto);
+	}
 
 	@Override
 	public Integer insertOrderInfo(Order order) {
@@ -193,4 +208,9 @@ public class CartDaoImpl implements CartDao{
 	public Order getRecentOrderAddress(String openid){
 		return orderMapper.getOrderAddressInfo(openid);
 	}
+
+	@Override
+	public List<SalesUserGift> listGift(Integer cartColorId) {
+		return cartMapper.listGift(cartColorId);
+	}
 }

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

@@ -3,6 +3,7 @@ package com.iamberry.wechat.service.cart.dao.impl;
 import java.util.List;
 
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
@@ -58,4 +59,9 @@ public class ProductInfoDaoImpl implements ProductInfoDao {
 	public ProductColor getProductColor(ProductColor productColor) {
 		return productInfoMapper.getProductColor(productColor);
 	}
+
+	@Override
+	public List<ProductType> selectProductType() {
+		return productInfoMapper.selectProductType();
+	}
 }

+ 29 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/CartMapper.java

@@ -10,6 +10,7 @@ import com.iamberry.wechat.core.entity.cart.ShopSalesOrderDto;
 import com.iamberry.wechat.core.entity.coupon.CouponItem;
 import com.iamberry.wechat.core.entity.coupon.CouponType;
 import com.iamberry.wechat.core.entity.order.Order;
+import com.iamberry.wechat.core.entity.product.SalesUserGift;
 
 public interface CartMapper {
 
@@ -52,6 +53,27 @@ public interface CartMapper {
 	 * @return
 	 */
 	public List<CartDto> selectCartItemByListId(Integer[] carts);
+
+	/**
+	 * 批量获取购物车集合
+	 * @param carts
+	 * @return
+	 */
+	List<CartDto> listCartByIds(Integer[] carts);
+
+	/**
+	 * 查询购物车产品颜色信息
+	 * @param cartDto
+	 * @return
+	 */
+	CartDto selectCartProductColor(CartDto cartDto);
+
+	/**
+	 * 查询购物车产品配件信息
+	 * @param cartDto
+	 * @return
+	 */
+	CartDto getCartProductFitting(CartDto cartDto);
 	
 	//根据orderid查询用户openid和订单状态
 	public ShopSalesOrderDto getOpenIdAndStatus(String salesOrderid);
@@ -78,4 +100,11 @@ public interface CartMapper {
 	 * @return
 	 */
 	public List<ShopSalesOrderDto> getOrderList(ShopSalesOrderDto shopSalesOrderDto);
+
+	/**
+	 * 查询购买产品的赠品信息
+	 * @param cartColorId
+	 * @return
+	 */
+	List<SalesUserGift> listGift(Integer cartColorId);
 }

+ 15 - 1
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/PhoneCodeMapper.java

@@ -12,5 +12,19 @@ public interface PhoneCodeMapper {
      * @param phoneCode
      * @return
      */
-    public PhoneCode getPhoneCode(PhoneCode phoneCode);
+    PhoneCode getPhoneCode(PhoneCode phoneCode);
+
+    /**
+     * 添加手机验证码信息
+     * @param phoneCode
+     * @return
+     */
+    Integer addPhoneCode(PhoneCode phoneCode);
+
+    /**
+     * 修改手机验证码
+     * @param phoneCode
+     * @return
+     */
+    Integer updatePhoneCode(PhoneCode phoneCode);
 }

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

@@ -5,6 +5,7 @@ import com.iamberry.wechat.core.entity.PaperBean;
 import com.iamberry.wechat.core.entity.cart.ShopOrderItemDto;
 import com.iamberry.wechat.core.entity.product.Product;
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductType;
 
 public interface ProductInfoMapper {
 	
@@ -38,4 +39,10 @@ public interface ProductInfoMapper {
 	 * @return
 	 */
 	ProductColor getProductColor(ProductColor productColor);
+
+	/**
+	 * 获取所有产品类型
+	 * @return
+	 */
+	List<ProductType> selectProductType();
 }

+ 88 - 29
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/cartMapper.xml

@@ -7,21 +7,45 @@ PUBLIC
 	namespace:必须与对应的接口全类名一致
  -->
 <mapper namespace="com.iamberry.wechat.service.mapper.CartMapper">
+
+
+	<!-- 查询用户购物车所有信息 -->
+	<select id="selectCartByOpenId" parameterType="String" resultMap="cartMap">
+		SELECT 
+			C.CART_ID,
+			C.CART_PRODUCT_ID,
+			C.CART_NUM,
+			P.PRODUCT_NAME,
+			pc.color_discount,
+			P.PRODUCT_STATUS,
+			pc.color_name,
+			pc.color_product_pic,
+			PRODUCT_REMARK,
+			pc.color_id
+		FROM
+			TB_IAMBERRY_SHOP_CART C
+			LEFT JOIN TB_IAMBERRY_PRODUCT_INFO P ON C.CART_PRODUCT_ID = P.PRODUCT_ID
+			LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR  pc on C.CART_PRODUCT_ID = pc.color_product_id
+		WHERE
+			C.CART_OPENID = #{openId} 
+		ORDER BY C.CART_ID DESC 
+	</select>
 	<resultMap id="cartMap" type="CartDto">
 		<id column="cart_id" property="cartId"/>
-		<result column="CART_PRODUCT_ID" property="cartProductId"/>
-		<result column="CART_NUM" property="cartNum"/>
-		<result column="PRODUCT_NAME" property="productName"/>
+		<result column="cart_product_id" property="cartProductId"/>
+		<result column="cart_num" property="cartNum"/>
+		<result column="product_name" property="productName"/>
 		<result column="color_discount" property="productPrice"/>
-		<result column="PRODUCT_STATUS" property="productStatus"/>
+		<result column="product_status" property="productStatus"/>
 		<result column="color_name" property="productColor"/>
 		<result column="color_product_pic" property="productIntroduceImg"/>
-		<result column="PRODUCT_REMARK" property="productRemark"/>
-		<result column="color_id" property="colorId"/>
+		<result column="product_remark" property="productRemark"/>
+		<result column="color_id" property="cartColorId"/>
 		<collection property="salesUserGiftList" column="color_id" ofType="SalesUserGift" select="listGift"/>
 	</resultMap>
 
-	<select id="listGift" resultType="salesUserGiftList" parameterType="Integer">
+	<!-- 查询购买产品的赠品信息 -->
+	<select id="listGift" resultType="SalesUserGift" parameterType="Integer">
 		SELECT
 			ug.user_id userId,
 			ug.user_product_id userProductId,
@@ -30,33 +54,20 @@ PUBLIC
 			ug.user_gift_color userGiftColor,
 			ug.user_gift_count userGiftCount,
 			ug.user_status userStatus,
-			ug.user_status userCreateTime,
-			pi.product_name productName
+			ug.user_create_time userCreateTime,
+			pi.product_name giftName,
+			pc.color_name giftColorName,
+			pi.product_child_type giftChildType,
+			pc.color_product_pic giftProductPic
 		FROM
 			tb_iamberry_sales_user_gift ug
-		LEFT JOIN tb_iamberry_product_color pc on pc.color_id = 1
-		LEFT JOIN tb_iamberry_product_info pi on pi.product_id = pc.color_product_id
-		WHERE
-			ug.user_color_id = 1
-	</select>
-
-	<!-- 查询用户购物车所有信息 -->
-	<select id="selectCartByOpenId" parameterType="String" resultMap="cartMap">
-		SELECT 
-			C.CART_ID cartId, C.CART_PRODUCT_ID cartProductId, C.CART_NUM cartNum,P.PRODUCT_NAME productName,
-			pc.color_discount productPrice, P.PRODUCT_STATUS productStatus, pc.color_name productColor,
-			pc.color_product_pic productIntroduceImg, PRODUCT_REMARK productRemark,pc.color_id colorId
-		FROM 
-			TB_IAMBERRY_SHOP_CART C
-			LEFT JOIN TB_IAMBERRY_PRODUCT_INFO P ON C.CART_PRODUCT_ID = P.PRODUCT_ID
-			LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR  pc on C.CART_PRODUCT_ID = pc.color_product_id
+		LEFT JOIN tb_iamberry_product_color pc on pc.color_id = ug.user_gift_color
+		LEFT JOIN tb_iamberry_product_info pi on pi.product_id = pc.user_gift_id
 		WHERE
-			C.CART_OPENID = #{openId} 
-		ORDER BY C.CART_ID DESC 
+		ug.user_color_id = #{cartColorId}
 	</select>
 
 
-
 	<select id="getCartNumByCartOpenId" parameterType="String" resultType="Integer">
 		SELECT 
 			COUNT(C.CART_ID) 
@@ -244,6 +255,54 @@ PUBLIC
 		AND 
 			I.COUPON_ITEM_USER_OPENID = #{couponItemUseropenid}
 	</select>
+
+	<!-- 批量获取购物车集合 -->
+	<select id="listCartByIds" parameterType="java.util.List" resultType="CartDto">
+		SELECT
+			C.CART_ID cartId,
+			C.CART_NUM cartNum,
+			C.cart_is_source cartIsSource
+		FROM
+		TB_IAMBERRY_SHOP_CART C
+		WHERE
+			C.CART_ID IN (
+			<foreach collection="array" item="item" separator=",">
+				#{item}
+			</foreach>)
+		ORDER BY C.CART_ID DESC
+	</select>
+
+	<!-- 查询购物车产品颜色信息 -->
+	<select id="selectCartProductColor" parameterType="CartDto" resultType="CartDto">
+		SELECT
+			C.CART_ID cartId, G.PRODUCT_ID cartProductId, pc.COLOR_ID cartColorId, G.PRODUCT_STATUS productStatus,
+			C.CART_NUM cartNum, G.PRODUCT_NAME productName, pc.COLOR_DISCOUNT productPrice,
+			G.PRODUCT_INTRODUCE_IMG productIntroduceImg, pc.COLOR_PRICE productDiscount, PC.COLOR_69CODE productRemark,
+			pc.COLOR_NAME productColor, G.PRODUCT_CHILD_TYPE productChildType,C.cart_is_source cartIsSource
+		FROM
+			TB_IAMBERRY_SHOP_CART C
+		LEFT JOIN TB_IAMBERRY_PRODUCT_INFO G ON C.CART_PRODUCT_ID = G.PRODUCT_ID
+		LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR PC ON C.CART_COLOR_ID = PC.COLOR_ID
+		WHERE
+		C.CART_ID = #{cartId}
+		ORDER BY C.CART_ID DESC
+	</select>
+
+	<!-- 查询购物车产品配件信息 -->
+	<select id="getCartProductFitting" parameterType="CartDto" resultType="CartDto">
+		SELECT
+			C.CART_ID cartId, G.PRODUCT_ID cartProductId, f.FITTINGS_ID cartColorId, G.PRODUCT_STATUS productStatus,
+			C.CART_NUM cartNum, G.PRODUCT_NAME productName, f.FITTINGS_DISCOUNT productPrice,
+			G.PRODUCT_INTRODUCE_IMG productIntroduceImg, f.FITTINGS_PRICE productDiscount, f.FITTINGS_BAR productRemark,
+			f.FITTINGS_COLOR productColor, G.PRODUCT_CHILD_TYPE productChildType,C.cart_is_source cartIsSource
+		FROM
+		TB_IAMBERRY_SHOP_CART C
+		LEFT JOIN TB_IAMBERRY_PRODUCT_INFO G ON C.CART_PRODUCT_ID = G.PRODUCT_ID
+		LEFT JOIN TB_IAMBERRY_PRODUCT_FITTINGS f ON C.CART_COLOR_ID = f.FITTINGS_ID
+		WHERE
+		C.CART_ID = #{cartId}
+		ORDER BY C.CART_ID DESC
+	</select>
 	
 	<!-- 根据购物车ID数组,批量获取购物车集合 -->
 	<select id="selectCartItemByListId" parameterType="java.util.List" resultType="CartDto">
@@ -251,7 +310,7 @@ PUBLIC
 			C.CART_ID cartId, G.PRODUCT_ID cartProductId, pc.COLOR_ID cartColorId, G.PRODUCT_STATUS productStatus,
 			C.CART_NUM cartNum, G.PRODUCT_NAME productName, pc.COLOR_DISCOUNT productPrice,
 			G.PRODUCT_INTRODUCE_IMG productIntroduceImg, pc.COLOR_PRICE productDiscount, PC.COLOR_69CODE productRemark,
-			pc.COLOR_NAME productColor, G.PRODUCT_TYPE productType
+			pc.COLOR_NAME productColor, G.PRODUCT_CHILD_TYPE productChildType
 		FROM
 			TB_IAMBERRY_SHOP_CART C
 		LEFT JOIN TB_IAMBERRY_PRODUCT_INFO G ON C.CART_PRODUCT_ID = G.PRODUCT_ID

+ 5 - 2
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/orderMapper.xml

@@ -49,14 +49,17 @@ PUBLIC
 		 		(
 			 		ITEM_SALES_ORDERID, ITEM_PRODUCT_ID, ITEM_NUM, ITEM_TOTAL, ITEM_CREATE_DATE,
 			 		ITEM_PRODUCT_NAME, ITEM_PRODUCT_DISCOUNT, ITEM_PRODUCT_PRICE, ITEM_PRODUCT_PIC,
-			 		ITEM_PRODUCT_TYPE 
+			 		ITEM_PRODUCT_TYPE, ITEM_COLOR_ID, ITEM_PRODUCT_COLOR, ITEM_PRODUCT_CHILD_TYPE,
+					ITEM_IS_SOURCE
 				)
 		 VALUES 
 		  	<foreach collection="list" item="item" separator=",">
 				(
 					#{item.itemSalesOrderid}, #{item.itemProductId}, #{item.itemNum}, 
 					#{item.itemTotal}, NOW(), #{item.itemProductName}, #{item.itemProductDiscount},
-					#{item.itemProductPrice}, #{item.itemProductPic}, #{item.itemProductType}
+					#{item.itemProductPrice}, #{item.itemProductPic}, #{item.itemProductType},
+					#{item.itemColorId}, #{item.itemProductColor}, #{item.itemProductChildType},
+					#{item.itemIsSource}
 				)
 	        </foreach>
 	</insert>

+ 23 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/phoneCodeMapper.xml

@@ -14,4 +14,27 @@
       WHERE
         code_tel = #{codeTel}
     </select>
+
+    <!-- 添加手机验证码信息 -->
+    <insert id="addPhoneCode" parameterType="PhoneCode" useGeneratedKeys="true" keyProperty="codeId">
+        INSERT INTO tb_iamberry_phone_code
+        (
+            code_tel,code_phone_code,code_send_time,code_create_time
+        )
+        VALUES
+        (
+          #{codeTel},#{codePhoneCode},NOW(),NOW()
+        )
+    </insert>
+
+    <!-- 修改手机验证码 -->
+    <update id="updatePhoneCode" parameterType="PhoneCode">
+      UPDATE
+        tb_iamberry_phone_code
+      SET
+        code_phone_code = #{codePhoneCode},
+        code_send_time = NOW()
+      WHERE
+        code_id = #{codeId}
+    </update>
 </mapper>

+ 82 - 19
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml

@@ -8,38 +8,97 @@
 		PRODUCT_INTRODUCE_IMG productIntroduceImg, PRODUCT_PARAMETER_IMG productParameterImg, PRODUCT_CREATE_DATE productCreateDate, 
 		PRODUCT_SORT_NUM productSortNum, PRODUCT_COLOR_DES productColorDes, PRODUCT_REMARK productRemark,PRODUCT_COLOR productColor 
 	</sql>
-	
+
+	<resultMap id="productMap" type="Product">
+		<id column="product_id" property="productId"/>
+		<result column="product_name" property="productName"/>
+		<result column="product_abbreviation" property="productAbbreviation"/>
+		<result column="product_salesnum" property="productSalesnum"/>
+		<result column="product_accessnum" property="productAccessnum"/>
+		<result column="product_status" property="productStatus"/>
+		<result column="product_parameter_img" property="productParameterImg"/>
+		<result column="PRODUCT_CREATE_DATE" property="productCreateDate"/>
+		<result column="PRODUCT_SORT_NUM" property="productSortNum"/>
+		<result column="PRODUCT_COLOR_DES" property="productColorDes"/>
+		<result column="PRODUCT_REMARK" property="productRemark"/>
+		<collection property="ProductColorList" column="product_id" ofType="colorMap" select="selectProductColor"/>
+	</resultMap>
+
+	<resultMap id="colorMap" type="ProductColor">
+		<id column="color_id" property="colorId"/>
+		<result column="color_product_id" property="colorProductId"/>
+		<result column="color_name" property="colorName"/>
+		<result column="color_discount" property="colorDiscount"/>
+		<result column="color_price" property="colorPrice"/>
+		<result column="color_69code" property="color69Code"/>
+		<result column="color_code" property="colorCode"/>
+		<result column="color_product_pic" property="colorProductPic"/>
+		<result column="color_status" property="colorStatus"/>
+		<result column="color_cretae_time" property="colorCretaeTime"/>
+		<result column="color_update_time" property="colorUpdateTime"/>
+		<collection property="salesUserGiftList" column="color_id" ofType="SalesUserGift" select="listGift"/>
+	</resultMap>
+
 	<!-- 分页查询商品信息 -->
-	<select id="selectPageProduct" parameterType="PaperBean" resultType="Product">
+	<select id="selectPageProduct" parameterType="PaperBean" resultMap="productMap">
 		SELECT
-		PRODUCT_ID productId,
-		PRODUCT_NAME productName,
-		PRODUCT_ABBREVIATION productAbbreviation,
-		color_discount productDiscount,
-		color_price productPrice,
-		PRODUCT_SALESNUM productSalesnum,
-		PRODUCT_ACCESSNUM productAccessnum,
-		PRODUCT_STATUS productStatus,
-		color_product_pic productIntroduceImg,
-		PRODUCT_PARAMETER_IMG productParameterImg,
-		PRODUCT_CREATE_DATE productCreateDate,
-		PRODUCT_SORT_NUM productSortNum,
-		PRODUCT_COLOR_DES productColorDes,
-		PRODUCT_REMARK productRemark,
-		color_name productColor
+		PRODUCT_ID,
+		PRODUCT_NAME,
+		PRODUCT_ABBREVIATION,
+		PRODUCT_SALESNUM,
+		PRODUCT_ACCESSNUM,
+		PRODUCT_STATUS,
+		PRODUCT_PARAMETER_IMG,
+		PRODUCT_CREATE_DATE,
+		PRODUCT_SORT_NUM,
+		PRODUCT_COLOR_DES,
+		PRODUCT_REMARK
 		FROM 
 			TB_IAMBERRY_PRODUCT_INFO
-		LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR
-		on TB_IAMBERRY_PRODUCT_INFO.product_id = TB_IAMBERRY_PRODUCT_COLOR.color_product_id
+		LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR on TB_IAMBERRY_PRODUCT_INFO.product_id = TB_IAMBERRY_PRODUCT_COLOR.color_product_id
+		LEFT JOIN tb_iamberry_product_child_type on tb_iamberry_product_child_type.child_type_id = TB_IAMBERRY_PRODUCT_INFO.product_child_type
 		WHERE
 			PRODUCT_STATUS = 1 
 			<if test="str != null and str != ''">
 				AND PRODUCT_NAME like #{str} 
 			</if>
+			<if test="otherInt != null and otherInt != ''">
+				AND tb_iamberry_product_child_type.type_id  = #{otherInt}
+			</if>
 			ORDER BY PRODUCT_CREATE_DATE DESC 
 		LIMIT 
 			#{minNum},#{maxNum}
 	</select>
+
+	<!-- 根据产品id获取所有颜色信息 -->
+	<select id="selectProductColor" parameterType="Integer" resultMap="colorMap">
+		SELECT
+		c.*
+		FROM
+		tb_iamberry_product_color c
+		<where>
+			c.color_product_id = #{productId}
+		</where>
+	</select>
+
+	<select id="listGift" resultType="SalesUserGift" parameterType="Integer">
+		SELECT
+		ug.user_id userId,
+		ug.user_product_id userProductId,
+		ug.user_color_id userColorId,
+		ug.user_gift_id userGiftId,
+		ug.user_gift_color userGiftColor,
+		ug.user_gift_count userGiftCount,
+		ug.user_status userStatus,
+		ug.user_create_time userCreateTime,
+		pi.product_name productName
+		FROM
+		tb_iamberry_sales_user_gift ug
+		LEFT JOIN tb_iamberry_product_color pc on pc.color_id = #{cartColorId}
+		LEFT JOIN tb_iamberry_product_info pi on pi.product_id = pc.color_product_id
+		WHERE
+		ug.user_color_id = #{cartColorId}
+	</select>
 	
 	<select id="selectProductCount" resultType="Integer" parameterType="Product">
 		SELECT 
@@ -157,4 +216,8 @@
 			</if>
 		</where>
 	</select>
+
+	<select id="selectProductType" resultType="ProductType">
+		select * from tb_iamberry_product_type where type_state = 1
+	</select>
 </mapper>

+ 40 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/phone/PhoneCodeServiceImpl.java

@@ -38,6 +38,46 @@ public class PhoneCodeServiceImpl implements PhoneCodeService {
     private static String ENCODING = "UTF-8";
     private static Random rnd = new Random();
 
+    public ResponseJson sms(String phone) {
+
+        // TODO Auto-generated method stub
+        ResponseJson json = new ResponseJson();
+        if (StringUtils.isEmpty(phone)) {
+            json.setReturnCode(2);
+            json.addResponseKeyValue("Phone Empty!");
+            return json;
+        }
+        PhoneCode phoneCode = new PhoneCode();
+        phoneCode.setCodePhoneCode(phone);
+        phoneCode = phoneCodeMapper.getPhoneCode(phoneCode);
+        if(phoneCode != null){
+            if(phoneCode.getCodeSendTime().getTime() < new Date().getTime()+ 60000
+                    && phoneCode.getCodeSendTime().getTime() > new Date().getTime() - 60000){
+                json.setReturnCode(3);
+                json.addResponseKeyValue("60秒内只能申请一次验证码");
+                return json;
+            }
+        }
+
+        // 获取验证码
+        String code = getRandomCode(4);
+        json = sendCMS(phone, code);
+        if (json.getReturnCode() != 200) {
+            json = sendCMS(phone, code);
+        }
+        //添加验证码到数据库
+        PhoneCode addPhoneCode = new PhoneCode();
+        addPhoneCode.setCodeTel(phone);
+        addPhoneCode.setCodePhoneCode(code);
+        if(phoneCode == null){
+            phoneCodeMapper.addPhoneCode(addPhoneCode);
+        }else{
+            addPhoneCode.setCodeId(phoneCode.getCodeId());
+            phoneCodeMapper.updatePhoneCode(addPhoneCode);
+        }
+        return json;
+    }
+
     /**
      * 发送短信验证码 封装返回前台参数
      * @param phone		手机号码

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

@@ -10,6 +10,7 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.iamberry.wechat.core.entity.product.ProductType;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -77,7 +78,8 @@ public class ProductInfoHandler {
 	public ResultMsg productIndex(HttpServletRequest request,
 			@RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize, 
 			@RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO,
-			@RequestParam(value = "productName", defaultValue = "")String productName) throws Exception {
+			@RequestParam(value = "productName", defaultValue = "")String productName,
+			@RequestParam(value = "typeId", defaultValue = "")Integer typeId) throws Exception {
 		
 		ResultMsg remsg=new ResultMsg();
 		Member member =  wechatUtils.getUserBySession(request);
@@ -87,17 +89,26 @@ public class ProductInfoHandler {
 			remsg.setMessage(ResultInfo.loginOutError);
 			return remsg;
 		}
+		//查询所有产品类型
+		List<ProductType> productTypeList = productInfoService.selectProductType();
 		if (null != productName && !"".equals(productName)) {
 			productName = "%" + productName + "%";
 		}
+		if (null == typeId) {
+			typeId = productTypeList.get(0).getTypeId();
+		}
+		ProductType productType = new ProductType();
+		productType.setTypeId(typeId);
 		Product product = new Product();
 		product.setProductName(productName);
-		List<Product> productList = productInfoService.selectPageProduct(pageSize, pageNO,productName);
+		product.setProductType(productType);
+		List<Product> productList = productInfoService.selectPageProduct(pageSize, pageNO,productName,typeId);
 
 		int num = this.productInfoService.selectProductCount(product);
 		int count = num % pageSize == 0? num/pageSize:(num/pageSize)+1;
 		Map<String, Object> map = new HashMap<String, Object>();
 		map.put("productList", productList);
+		map.put("productTypeList", productTypeList);
 		map.put("total", count);
 		remsg.setMessage(ResultInfo.SUCCESSINFO);
 		remsg.setResultCode(ResultInfo.SUCCESSCODE);

+ 46 - 8
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java

@@ -12,6 +12,7 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.iamberry.wechat.core.entity.product.SalesUserGift;
 import com.iamberry.wechat.tools.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -144,7 +145,7 @@ public class OrderHandler {
 			return msg;
 		}
 		// 根据购物车ID,查询数据库中对应的产品信息(ID、产品状态)
-		List<CartDto> cartDtos = cartService.selectCartItemByListId(cartIntList);
+		List<CartDto> cartDtos = cartService.listCartByIds(cartIntList);
 		if (cartDtos == null || cartDtos.size() <= 0) {
 			msg.setMessage(ResultInfo.cartEmptyError);
 			return msg;
@@ -155,11 +156,22 @@ 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);
+			}
 			if (cartDto.getProductStatus() != null && cartDto.getProductStatus().intValue() == 1) {
 				total += cartDto.getCartNum() * cartDto.getProductPrice();
 				sum++;
 				tempCarts.add(cartDto);
 			}
+			//查询产品赠品信息
+			List<SalesUserGift> giftList = cartService.listGift(cartDto.getCartColorId());
+			cartDto.setSalesUserGiftList(giftList);
+
 		}
 		if (sum <= 0) {
 			msg.setMessage(ResultInfo.cartEmptyError);
@@ -167,7 +179,7 @@ public class OrderHandler {
 		}
 		
 		//未使用的优惠券
-		CouponItemDto cDto = new CouponItemDto();	
+		CouponItemDto cDto = new CouponItemDto();
 		cDto.setUseropenid(member.getUserOpenid());
 		cDto.setCouponUseStatus(1);
 		cDto.setBeginDate(new Date());
@@ -267,7 +279,7 @@ public class OrderHandler {
 			msg.setMessage(ResultInfo.integralOutError);
 			return msg;
 		}*/
-		List<CartDto> cartDtos = cartService.selectCartItemByListId(cartId);
+		List<CartDto> cartDtos = cartService.listCartByIds(cartId);
 		if (cartDtos == null || cartDtos.size() <= 0) {// 根据购物车ID,查询数据库中对应的产品信息(ID、产品状态)
 			msg.setMessage(ResultInfo.cartEmptyError);
 			return msg;
@@ -282,6 +294,14 @@ public class OrderHandler {
 		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);
+			}
 			if (cartDto.getProductStatus() != null && cartDto.getProductStatus().intValue() == 1) {
 				cartIds.add(cartDto.getCartId());
 				Integer subTotal = cartDto.getCartNum() * cartDto.getProductPrice(); // 小计
@@ -294,15 +314,33 @@ public class OrderHandler {
 				item.setItemProductPic(cartDto.getProductIntroduceImg());
 				item.setItemSalesOrderid(order.getSalesOrderid());
 				item.setItemTotal(subTotal);
-				item.setItemProductType(cartDto.getProductType());
 				item.setItemProductPrice(cartDto.getProductDiscount());
 				item.setItemColorId(cartDto.getCartColorId());
-				/*item.setItemProductColor();
-				item.setItemProductChildType();
-				item.setItemIsSource();*/
-
+				item.setItemProductColor(cartDto.getProductColor());
+				item.setItemProductChildType(cartDto.getProductChildType());
+				item.setItemIsSource(cartDto.getCartIsSource());
 				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());
+					item.setItemProductDiscount(0);
+					item.setItemProductId(gift.getUserProductId());
+					item.setItemProductName(gift.getGiftName());
+					item.setItemProductPic(gift.getGiftProductPic());
+					item.setItemSalesOrderid(order.getSalesOrderid());
+					item.setItemTotal(0);
+					item.setItemProductPrice(0);
+					item.setItemColorId(gift.getUserColorId());
+					item.setItemProductColor(gift.getGiftColorName());
+					item.setItemProductChildType(gift.getGiftChildType());
+					item.setItemIsSource(1);
+					list.add(item);
+				}
+			}
 		}
 		
 		// 准备订单对象

+ 28 - 7
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/warranty/WarrantyCardHandler.java

@@ -5,18 +5,13 @@ import com.iamberry.wechat.core.entity.ResultMsg;
 import com.iamberry.wechat.core.entity.WechatUtils;
 import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
 import com.iamberry.wechat.core.entity.member.Member;
-import com.iamberry.wechat.core.entity.product.ProductColor;
-import com.iamberry.wechat.core.entity.warrantyCard.WarrantyCard;
 import com.iamberry.wechat.face.admin.SystemService;
-import com.iamberry.wechat.face.cart.ProductInfoService;
-import com.iamberry.wechat.face.mq.EfastOrderService;
 import com.iamberry.wechat.face.phone.PhoneCodeService;
 import com.iamberry.wechat.face.warranty.WarrantyService;
 import com.iamberry.wechat.tools.HttpClient431Util;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResponseJson;
 import com.iamberry.wechat.tools.ResultInfo;
-import net.sf.json.JSONArray;
 import org.apache.commons.lang.StringUtils;
 import org.apache.http.ParseException;
 import org.json.JSONException;
@@ -34,9 +29,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -186,6 +179,34 @@ public class WarrantyCardHandler {
     }
 
     /**
+     * 发送手机验证码
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/send_phone_code")
+    public ResultMsg sendPhoneCode(HttpServletRequest request) throws Exception {
+        ResultMsg msg = new ResultMsg();
+        String phone = request.getParameter("phone");
+        if (phone == null || "".equals(phone)) {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("手机号码不能为空!");
+            return msg;
+        }
+        //发送手机验证码
+        ResponseJson json = phoneCodeService.sms(phone);
+        if (json.getReturnCode() == 200) {
+            msg.setStatus(true);
+        } else {
+            msg.setStatus(false);
+        }
+        msg.setResultCode(json.getReturnCode().toString());
+        return msg;
+    }
+
+    /**
      * 获取ip地址
      * @param request
      * @return

+ 1 - 1
watero-wechat-web/src/main/webapp/WEB-INF/views/wechat/share_zhuanpan.html

@@ -80,7 +80,7 @@
         window.wxFriend = {
             "appId": "",
             "imgUrl":domanUrl + '/iamberry/common/shop/images/1.png',
-            "link":domanUrl+"/iamberry/wechat/activity/share_luck_draw",
+            "link":"https:" + domanUrl+"/iamberry/wechat/activity/share_luck_draw",
             "desc":"哎呀!我差一点就抽到iPhone7了!亮黑版,32G啊!小伙伴你也来试试吧!",//描述
             "title":"我离iPhone7亮黑版 32G仅一步之遥,小伙伴你快来一起抽吧!",			//标题
             "netError":"您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",

+ 1 - 1
watero-wechat-web/src/main/webapp/WEB-INF/views/wechat/zhuanpan.html

@@ -114,7 +114,7 @@
         window.wxFriend = {
             "appId": "",
             "imgUrl":'//s.iamberry.com/images/shop/8.png',
-            "link":domanUrl+"/iamberry/wechat/activity/go_luck_draw",
+            "link":"https:" + domanUrl+"/iamberry/wechat/activity/go_luck_draw",
             "desc":"万圣节8秒冲奶,一键搞定捣蛋宝宝,快来围观爱贝源智能冲奶机,有大奖品抽哦!",//描述
             "title":"3次免费抽,100%中奖,宝宝手推车抱回家,快来转转转!",			//标题
             "netError":"您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",

+ 1 - 1
watero-wechat-web/src/main/webapp/common/shop/js/page/chanpin_details.js

@@ -91,7 +91,7 @@ mui.ready(function() {
             }
         })
     });
-    var url = domanUrl + base_path + "//product/desc?productId=" + productId +'&colorId='+colorId + "&shareOpenid=" + shareOpenid;
+    var url = "https:" + domanUrl + base_path + "//product/desc?productId=" + productId +'&colorId='+colorId + "&shareOpenid=" + shareOpenid;
     window.repleFlag = false;
     window.wxFriend = {
         "appId": "",

+ 1 - 1
watero-wechat-web/src/main/webapp/common/shop/js/page/fenxiao_center.js

@@ -249,7 +249,7 @@ function fenxiao_center_data() {
                 document.querySelector('.user_name').innerHTML = dt.data.userName;
                 document.querySelector('.wechat_name').innerHTML = dt.data.nickName;
                 var shareOpenid = dt.data.shareOpenid;
-                var link = domanUrl + base_path + "/drp/share2WM?shareOpenid=" + shareOpenid;
+                var link = "https:" + domanUrl + base_path + "/drp/share2WM?shareOpenid=" + shareOpenid;
                 window.repleFlag = false;
                 window.wxFriend = {
                     "appId": "",

+ 1 - 1
watero-wechat-web/src/main/webapp/common/shop/js/page/fenxiao_center2.js

@@ -172,7 +172,7 @@ function fenxiao_center_data() {
                 document.querySelector('.user_name').innerHTML = dt.data.userName;
                 document.querySelector('.wechat_name').innerHTML = dt.data.nickName;
                 var shareOpenid = dt.data.shareOpenid;
-                var link = domanUrl + base_path + "/drp/share2WM?shareOpenid=" + shareOpenid;
+                var link = "https:" + domanUrl + base_path + "/drp/share2WM?shareOpenid=" + shareOpenid;
                 window.repleFlag = false;
                 window.wxFriend = {
                     "appId": "",

+ 1 - 1
watero-wechat-web/src/main/webapp/common/shop/js/page/iamberry_video.js

@@ -14,7 +14,7 @@ mui.ready(function () {
         success: function (dt) {
             if (dt.status) {
                 var shareOpenid = dt.data.userOpenid;
-                var link = domanUrl + base_path + "/agentWechat/goPublicity?shareOpenid=" + shareOpenid + "&userType=" + userType;
+                var link = "https:" + domanUrl + base_path + "/agentWechat/goPublicity?shareOpenid=" + shareOpenid + "&userType=" + userType;
                 window.repleFlag = false;
                 window.wxFriend = {
                     "appId": "",

+ 1 - 1
watero-wechat-web/src/main/webapp/common/shop/js/page/index.js

@@ -56,7 +56,7 @@ mui.ready(function() {
                     }, false)
                 });
                 var shareOpenid = dt.data.memberOpenid;
-                var link = domanUrl + base_path + "/index?shareOpenid=" + shareOpenid;
+                var link = "https:" + domanUrl + base_path + "/index?shareOpenid=" + shareOpenid;
                 window.repleFlag = false;
                 window.wxFriend = {
                     "appId": "",

+ 1 - 1
watero-wechat-web/src/main/webapp/view/push_jiangli.html

@@ -70,7 +70,7 @@
                 console.log(xhr);
             }
         })
-        var url = domanUrl+"/watero/view/push_jiangli.html";
+        var url = "https:" + domanUrl+"/watero/view/push_jiangli.html";
         window.repleFlag = false;
         window.wxFriend = {
             "appId": "",

+ 1 - 1
watero-wechat-web/src/main/webapp/view/rent/i_want_lease.html

@@ -337,7 +337,7 @@
                         $('#rentType').html(type_item);
 
                         //分享
-                        var url = domanUrl + base_path + "/rent_order/goWantLease?shareOpenid=" + shareOpenid;
+                        var url = "https:" + domanUrl + base_path + "/rent_order/goWantLease?shareOpenid=" + shareOpenid;
                         window.repleFlag = false;
                         window.wxFriend = {
                             "appId": "",

+ 1 - 1
watero-wechat-web/src/main/webapp/view/rent/lease_order_details.html

@@ -320,7 +320,7 @@
                 //console.log(dt);
                 if(dt.status) {
                     mask.show();//显示遮罩
-                    var url = encodeURI('//' + window.location.host+'/watero/view/rent/lease_for_my_equipment.html?shareId=' + dt.data);
+                    var url = encodeURI('https://' + window.location.host+'/watero/view/rent/lease_for_my_equipment.html?shareId=' + dt.data);
                     var desc = userNickName + "送给你一台净水机,为你送上一份饮水健康。";
                     window.repleFlag = false;
                     window.hiddenAllWechatMenu = false;		//window.wxFriend window.repleWxData

+ 1 - 1
watero-wechat-web/src/main/webapp/view/water_competition_for_me.html

@@ -119,7 +119,7 @@
                 }else{
                     console.log(dt);
                     if(dt.status) {
-                        var url = '//'+document.domain+'/watero/view/water_competition.html?shareId='+dt.data;
+                        var url = 'https://'+document.domain+'/watero/view/water_competition.html?shareId='+dt.data;
                         window.wxData = {
                             "appId": "", // 服务号可以填写appId
                             "imgUrl":'//s.iamberry.com/watero/images/shop/share-lease.png',

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/WEB-INF/views/wechat/share_zhuanpan.html

@@ -80,7 +80,7 @@
 			window.wxFriend = {
 				    "appId": "",
 				    "imgUrl":domanUrl + '/iamberry/common/shop/images/1.png',
-				    "link":domanUrl+"/iamberry/wechat/activity/share_luck_draw",
+				    "link":"https:"+domanUrl+"/iamberry/wechat/activity/share_luck_draw",
 				    "desc":"哎呀!我差一点就抽到iPhone7了!亮黑版,32G啊!小伙伴你也来试试吧!",//描述
 				    "title":"我离iPhone7亮黑版 32G仅一步之遥,小伙伴你快来一起抽吧!",			//标题
 				    "netError":"您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/WEB-INF/views/wechat/zhuanpan.html

@@ -114,7 +114,7 @@
 			window.wxFriend = {
 				    "appId": "",
 				    "imgUrl":'https://s.iamberry.com/images/shop/8.png',
-				    "link":domanUrl+"/iamberry/wechat/activity/go_luck_draw",
+				    "link":"https:"+domanUrl+"/iamberry/wechat/activity/go_luck_draw",
 				    "desc":"万圣节8秒冲奶,一键搞定捣蛋宝宝,快来围观爱贝源智能冲奶机,有大奖品抽哦!",//描述
 				    "title":"3次免费抽,100%中奖,宝宝手推车抱回家,快来转转转!",			//标题
 				    "netError":"您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/common/shop/js/page/chanpin_details.js

@@ -51,7 +51,7 @@ mui.ready(function() {
     });
 	marquee_Show();
 	selectProductInfo(productId);
-    var url = domanUrl + base_path + "//product/desc?productId=" + productId +'&colorId='+colorId + "&placeOpenId=" + shareOpenid + "&userQrcodeType=" + userQrcodeType;
+    var url = "https:" + domanUrl + base_path + "//product/desc?productId=" + productId +'&colorId='+colorId + "&placeOpenId=" + shareOpenid + "&userQrcodeType=" + userQrcodeType;
     window.repleFlag = false;
     window.wxFriend = {
         "appId": "",

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/common/shop/js/page/fenxiao_center.js

@@ -249,7 +249,7 @@ function fenxiao_center_data() {
 				document.querySelector('.user_name').innerHTML = dt.data.userName;
 				document.querySelector('.wechat_name').innerHTML = dt.data.nickName;
 				var shareOpenid = dt.data.shareOpenid;
-				var link = domanUrl + base_path + "/drp/share2WM?shareOpenid=" + shareOpenid;
+				var link = "https:" + domanUrl + base_path + "/drp/share2WM?shareOpenid=" + shareOpenid;
 				window.repleFlag = false;
 				window.wxFriend = {
 					"appId": "",

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/common/shop/js/page/fenxiao_center2.js

@@ -172,7 +172,7 @@ function fenxiao_center_data() {
 				document.querySelector('.user_name').innerHTML = dt.data.userName;
 				document.querySelector('.wechat_name').innerHTML = dt.data.nickName;
 				var shareOpenid = dt.data.shareOpenid;
-				var link = domanUrl + base_path + "/drp/share2WM?shareOpenid=" + shareOpenid;
+				var link = "https:" + domanUrl + base_path + "/drp/share2WM?shareOpenid=" + shareOpenid;
 				window.repleFlag = false;
 				window.wxFriend = {
 					"appId": "",

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/common/shop/js/page/iamberry_video.js

@@ -14,7 +14,7 @@ mui.ready(function () {
         success: function (dt) {
             if (dt.status) {
                 var shareOpenid = dt.data.userOpenid;
-                var link = domanUrl + base_path + "/agentWechat/goPublicity?shareOpenid=" + shareOpenid + "&userType=" + userType;
+                var link = "https:" + domanUrl + base_path + "/agentWechat/goPublicity?shareOpenid=" + shareOpenid + "&userType=" + userType;
                 window.repleFlag = false;
                 window.wxFriend = {
                     "appId": "",

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/common/shop/js/page/index.js

@@ -14,7 +14,7 @@ mui.ready(function() {
 			if(dt.status) {
 				var banner_data = dt.data.banners;
                 var shareOpenid = dt.data.memberOpenid;
-                var link = domanUrl + base_path + "/index?shareOpenid=" + shareOpenid;
+                var link = "https:" + domanUrl + base_path + "/index?shareOpenid=" + shareOpenid;
                 window.repleFlag = false;
                 window.wxFriend = {
                     "appId": "",

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/view/rent/i_want_lease.html

@@ -337,7 +337,7 @@
 								$('#rentType').html(type_item);
 								
 								//分享
-								var url = domanUrl + base_path + "/rent_order/goWantLease?shareOpenid=" + shareOpenid;
+								var url = "https:" + domanUrl + base_path + "/rent_order/goWantLease?shareOpenid=" + shareOpenid;
 								window.repleFlag = false;
 								window.wxFriend = {
 									"appId": "",

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/view/rent/lease_order_details.html

@@ -320,7 +320,7 @@
 						//console.log(dt);						
 						if(dt.status) {
 							mask.show();//显示遮罩
-							var url = encodeURI('//' + window.location.host+'/wateroPF/view/rent/lease_for_my_equipment.html?shareId=' + dt.data);
+							var url = encodeURI('https://' + window.location.host+'/wateroPF/view/rent/lease_for_my_equipment.html?shareId=' + dt.data);
 							var desc = userNickName + "送给你一台净水机,为你送上一份饮水健康。";
 							window.repleFlag = false;
 							window.hiddenAllWechatMenu = false;		//window.wxFriend window.repleWxData