ソースを参照

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

liuzhiwei 7 年 前
コミット
3cd65aa54a

+ 28 - 0
iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/product/ProductColor.java

@@ -24,11 +24,15 @@ public class ProductColor implements java.io.Serializable {
     private Integer colorStatus;        //状态    1:使用中,2:禁用
     private Integer colorPrice;			//产品市场价
     private String color69Code;			//产品69码
+    private String colorDesc;           //产品备注
     private Date colorCretaeTime;		//创建时间
     private Date colorUpdateTime;	//修改时间
     private List<SalesUserGift> salesUserGiftList; //赠品集合
     private PageBean page = new PageBean();		//分页
 
+    private Integer cartId; //购物车id
+    private Integer cartNum;//购物车数量
+
     public Integer getColorStatus() {
         return colorStatus;
     }
@@ -148,4 +152,28 @@ public class ProductColor implements java.io.Serializable {
     public void setSalesUserGiftList(List<SalesUserGift> salesUserGiftList) {
         this.salesUserGiftList = salesUserGiftList;
     }
+
+    public String getColorDesc() {
+        return colorDesc;
+    }
+
+    public void setColorDesc(String colorDesc) {
+        this.colorDesc = colorDesc;
+    }
+
+    public Integer getCartId() {
+        return cartId;
+    }
+
+    public void setCartId(Integer cartId) {
+        this.cartId = cartId;
+    }
+
+    public Integer getCartNum() {
+        return cartNum;
+    }
+
+    public void setCartNum(Integer cartNum) {
+        this.cartNum = cartNum;
+    }
 }

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

@@ -173,4 +173,9 @@ public interface CartService {
 	 * @return
 	 */
 	Integer updateSendWarnNum(Order order);
+
+	/**
+	 * 根据商品id和openid查询购物车数量和ID
+	 * **/
+	CartDto getCartByOpenId(CartDto cartDto);
 }

+ 5 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/CartServiceImpl.java

@@ -296,4 +296,9 @@ public class CartServiceImpl implements CartService {
 	public Integer updateSendWarnNum(Order order) {
 		return cartDao.updateSendWarnNum(order);
 	}
+
+	@Override
+	public CartDto getCartByOpenId(CartDto cartDto) {
+		return cartDao.getCartByOpenId(cartDto);
+	}
 }

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

@@ -174,4 +174,9 @@ public interface CartDao {
 	 * @return
 	 */
 	Integer updateSendWarnNum(Order order);
+
+	/**
+	 * 根据商品id和openid查询购物车数量和ID
+	 * **/
+	CartDto getCartByOpenId(CartDto cartDto);
 }

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

@@ -223,4 +223,9 @@ public class CartDaoImpl implements CartDao{
 	public Integer updateSendWarnNum(Order order) {
 		return cartMapper.updateSendWarnNum(order);
 	}
+
+	@Override
+	public CartDto getCartByOpenId(CartDto cartDto) {
+		return cartMapper.getCartByOpenId(cartDto);
+	}
 }

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

@@ -121,4 +121,9 @@ public interface CartMapper {
 	 * @return
 	 */
 	Integer updateSendWarnNum(Order order);
+
+	/**
+	 * 根据商品id和openid查询购物车数量和ID
+	 * **/
+	CartDto getCartByOpenId(CartDto cartDto);
 }

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

@@ -411,4 +411,15 @@ PUBLIC
 			SALES_STATUS = #{oldStatus}
 		</if>
 	</update>
+
+	<!-- 根据商品id和openid查询购物车数量和ID -->
+	<select id="getCartByOpenId" parameterType="CartDto" resultType="CartDto">
+		SELECT
+		CART_ID cartId,
+		CART_NUM cartNum
+		FROM
+		TB_IAMBERRY_SHOP_CART
+		WHERE
+		CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId}
+	</select>
 </mapper>

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

@@ -36,6 +36,7 @@
 		<result column="color_code" property="colorCode"/>
 		<result column="color_product_pic" property="colorProductPic"/>
 		<result column="color_status" property="colorStatus"/>
+		<result column="color_desc" property="colorDesc"/>
 		<result column="color_cretae_time" property="colorCretaeTime"/>
 		<result column="color_update_time" property="colorUpdateTime"/>
 		<collection property="salesUserGiftList" column="color_id" ofType="SalesUserGift" select="listGift"/>
@@ -69,6 +70,7 @@
 			<if test="otherInt != null and otherInt != ''">
 				AND tb_iamberry_product_child_type.type_id  = #{otherInt}
 			</if>
+			GROUP BY TB_IAMBERRY_PRODUCT_INFO.PRODUCT_ID
 			ORDER BY PRODUCT_CREATE_DATE DESC 
 		LIMIT 
 			#{minNum},#{maxNum}

+ 1 - 1
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/CartHandlers.java

@@ -93,7 +93,7 @@ public class CartHandlers {
 		ResultMsg remsg = new ResultMsg();
 		Member member =  wechatUtils.getUserBySession(request);
 		List<CartDto> cartList = cartService.selectCartByOpenId(member.getUserOpenid());
-		
+
 		/*
 		 * 金额统计
 		 */

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

@@ -11,8 +11,11 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
+import com.iamberry.wechat.core.entity.cart.CartDto;
 import com.iamberry.wechat.core.entity.product.*;
 import com.iamberry.wechat.core.entity.search.SearchInfo;
+import com.iamberry.wechat.face.cart.CartService;
+import com.iamberry.wechat.service.cart.dao.CartDao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -66,6 +69,9 @@ public class ProductInfoHandler {
 
 	@Autowired
 	private SystemService systemService;
+
+	@Autowired
+	private CartService cartService;
 	/**
 	 * 首页进入商城
 	 * @param request
@@ -527,8 +533,27 @@ public class ProductInfoHandler {
 			remsg.setMessage(ResultInfo.loginOutError);
 			return remsg;
 		}
+		Member member =  wechatUtils.getUserBySession(request);
+		if (member == null || member.getUserOpenid() == null) {
+			remsg.setMessage(ResultInfo.loginOutError);
+			remsg.setStatus(false);
+			remsg.setMessage(ResultInfo.loginOutError);
+			return remsg;
+		}
 		//查询所有产品颜色
 		List<ProductColor> productColorList = productInfoService.selectColorByPid(productId);
+		if(productColorList.size() > 0){
+			for (ProductColor color : productColorList){
+				CartDto cartDto = new CartDto();
+				cartDto.setCartColorId(color.getColorId());
+				cartDto.setCartOpenId(member.getUserOpenid());
+				cartDto = cartService.getCartByOpenId(cartDto);
+				if(cartDto != null){
+					color.setCartId(cartDto.getCartId());
+					color.setCartNum(cartDto.getCartNum());
+				}
+			}
+		}
 		Map<String, Object> map = new HashMap<String, Object>();
 		map.put("productColorList", productColorList);
 		remsg.setMessage(ResultInfo.SUCCESSINFO);

+ 1 - 0
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/coupon/CouponTypeHandler.java

@@ -359,6 +359,7 @@ public class CouponTypeHandler {
 		cDto.setPage(new PageBean());
 		cDto.getPage().setPageSize(pageSize);
 		cDto.getPage().setPageNumber(pageNO);
+		cDto.getPage().initRecordBegin();
 		List<CouponItemDto> list = couponItemService.getCouponItemDtoList(cDto);
 		
 		Date now = new Date();

+ 71 - 92
iamberry-wechat-web/src/main/webapp/common/wechat/coupon_list.html

@@ -6,11 +6,12 @@
 		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
 		<meta name="apple-mobile-web-app-capable" content="yes">
 		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<link rel="stylesheet" type="text/css" href="css/mui.min.css" />
-		<link rel="stylesheet" type="text/css" href="css/iconfont.css" />
-		<link rel="stylesheet" type="text/css" href="css/main.css" />
+		<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wechat/aiberle/css/mui.min.css" />
+		<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wechat/aiberle/css/iconfont.css" />
+		<link rel="stylesheet" type="text/css" href="//s.iamberry.com/wechat/aiberle/css/main.css" />
 		<style>
-		.my-yhq-list{background-color: transparent;padding:0 15px;}
+		.mui-content{background-color: #f1f1f1;}
+		.my-yhq-list{background-color:#f1f1f1;padding:0 15px;}
 		.my-yhq-list:before,.my-yhq-list:after{display: none;}
 		.my-yhq-list .my-yhq-cell{margin: 15px 0;position: relative;}
 		.my-yhq-list .my-yhq-cell:last-child{margin-bottom: 0;}
@@ -21,7 +22,7 @@
 		.my-yhq-list .left-cell .tit{font-size: 20px;color: #f44f80;}
 		.my-yhq-list .left-cell .time{color: #f44f80;font-size: 12px;}
 		.my-yhq-list .left-cell .condition{position: absolute;left: 10px;bottom: 15px;font-size: 12px;color: #807f80;}
-		.my-yhq-list .right-cell .money{color: #fff;margin: 5px 0;}
+		.my-yhq-list .right-cell .money{color: #333;margin: 5px 0;}
 		.my-yhq-list .right-cell .money>span{font-size: 35px;}
 		.my-yhq-list .right-cell .my-btn{color: #fff;padding:8px 10px;font-size: 14px;border-radius: 5px;}
 		.my-yhq-list .right-cell .my-btn:active{background-color: rgba(0,0,0,.5);}
@@ -60,7 +61,7 @@
 		.mui-popup-buttons{display: block;}
 		.x-close{position: absolute;right:32px;top: 0;width:20px;}
 		.mui-popup.mui-popup-out{-webkit-transition-duration: 0ms;transition-duration: 0ms;}
-		.mui-scroll-wrapper{top: 50px;bottom:60px;}
+		.mui-scroll-wrapper{top:0;bottom:50px;}
 		</style>
 		<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
 		<script>
@@ -79,7 +80,7 @@
 			</div>
 		</div>
 	<footer class="mui-bar mui-bar-tab">
-			<a class="mui-tab-item mui-active" href="#tabbar">
+			<a class="mui-tab-item" href="#tabbar">
 				<span class="iconfont icon-shouye"></span>
 				<span class="mui-tab-label">首页</span>
 			</a>
@@ -97,24 +98,6 @@
 			</a>
 	</footer>
 	<div class="mui-content">
-		<div class="mui-segmented-control tab-yhq-list">
-				<a class="mui-control-item icon-all mui-active" tabindex="1" href="#item1mobile">
-							<span class="mui-icon"></span>
-							<span class="mui-tab-label">全部</span>
-				</a>
-				<a class="mui-control-item icon-noused" tabindex="2" href="#item2mobile">
-							<span class="mui-icon"></span>
-							<span class="mui-tab-label">未使用</span>
-				</a>
-				<a class="mui-control-item icon-used" tabindex="3" href="#item3mobile">
-							<span class="mui-icon"></span>
-							<span class="mui-tab-label">已使用</span>
-				</a>
-				<a class="mui-control-item icon-overdue" tabindex="4" href="#item4mobile">
-							<span class="mui-icon"></span>
-							<span class="mui-tab-label">过期</span>
-				</a>
-		</div>
 		<!--下拉刷新容器-->
 		<div id="pullrefresh_yhq_list" class="mui-content mui-scroll-wrapper">
 			<div class="mui-scroll">
@@ -125,84 +108,80 @@
 			</div>
 		</div>
 	</div>
-	<script type="text/javascript" src="js/mui.min.js"></script>
-	<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
-	<script type="text/javascript" src="js/main.js"></script>
+	<script type="text/javascript" src="//s.iamberry.com/wechat/aiberle/js/mui.min.js"></script>
+	<script type="text/javascript" src="//s.iamberry.com/wechat/aiberle/js/jquery-2.1.1.min.js"></script>
+	<script type="text/javascript" src="//s.iamberry.com/wechat/aiberle/js/main.js"></script>
 	<script>
 	var tabindex = 1,pageNumber = 0,pagesize = 10;
 	var tabindex=$('.tab-yhq-list .mui-active').prop('tabindex');
-			mui.init({
-				pullRefresh: {
-					container: '#pullrefresh_yhq_list',
-					down: {
-						//						callback: pulldownRefresh
-					},
-					up: {
-						contentrefresh: '正在加载...',
-						callback: pullupRefresh
-					}
-				}
-			});
 			var count = 0;
 			/**
 			 * 上拉加载具体业务实现
 			 */
 			function pullupRefresh() {
-				
-				setTimeout(function() {
-					mui('#pullrefresh_yhq_list').pullRefresh().endPullupToRefresh((++count > 2)); //参数为true代表没有更多数据了。
-					var table = document.body.querySelector('.my-yhq-list');
-//					var cells = document.body.querySelectorAll('.my-tab-view-pull .mui-table-view-cell');
-					for (var i = 10, len = i + 5; i < len; i++) {
-						var li = document.createElement('li');
-						li.className = 'my-yhq-cell';
-						li.innerHTML = '<img width="100%" src="images/yhq-1.png" /><div class="fixed-box"><div class="table"><div class="left-cell"><span class="tit">优惠券</span><p class="time">有效期至2016年12月12日</p><span class="condition">无使用限制条件</span></div><div class="right-cell"><div class="money"><strong>¥</strong><span>30</span></div><span class="my-btn">立即领取</span></div></div></div';
-//						li.innerHTML = '<img width="100%" src="images/yhq_overdue_bg.png" /><div class="fixed-box grayscale"><div class="table"><div class="left-cell"><span class="tit grayscale">优惠券</span><p class="time grayscale">有效期至2016年12月12日</p><span class="condition">无使用限制条件</span></div><div class="right-cell"><div class="money grayscale"><strong>¥</strong><span>50</span></div><span class="my-btn grayscale">立即领取</span></div></div></div>';
-						table.appendChild(li);
-					}
-				}, 1500);
+                ++pageNumber;
+                console.log(pageNumber);
+                $.ajax( base_path + '/wechat/coupon/couponItemList?dates=' + new Date().getTime(),{
+                    data :{
+                        pageNO : pageNumber
+                    },
+                    dataType:'json',
+                    type:'post',
+                    timeout:15000,
+                    success:function(dt){
+                        var data = dt.data.itemList;
+                        mui('#pullrefresh_yhq_list').pullRefresh().endPullupToRefresh((++count > 2)); //参数为true代表没有更多数据了。
+                        var table = document.body.querySelector('.my-yhq-list');
+
+                        mui(data).each(function(index) {
+                            var li = document.createElement('li');
+                            var src = '//s.iamberry.com/wechat/aiberle/images/yhq-1.png';
+                            if(new Date(this.couponUseEndDate) >= new Date){
+                                li.className = 'my-yhq-cell';
+                            }else{
+                                li.className = 'my-yhq-cell active';
+                                src = '//s.iamberry.com/wechat/aiberle/images/yhq-2.png';
+                            }
+                            var couponReduceHtml = '';
+                            var couponReduceTypeHtml = '';
+                            if(this.couponType == 1){ //减免金额
+                                couponReduceHtml += this.couponReduce/100;
+                                couponReduceTypeHtml = '¥'
+                            }else if(this.couponType == 2){ //减免率
+                                couponReduceHtml += this.couponReduce/100 + "折" ;
+                                couponReduceTypeHtml = '';
+                            }
+                            li.innerHTML = '<img width="100%" src="'+ src + '" /><div class="fixed-box"><div class="table"><div class="left-cell"><span class="tit">'+ this.couponName +'</span><p class="time">有效期至'+ this.couponUseEndDate +'</p><span class="condition">无使用限制条件</span></div><div class="right-cell"><div class="money"><strong>'+ couponReduceTypeHtml +'</strong><span>'+ couponReduceHtml +'</span></div><span class="my-btn"></span></div></div></div';
+                            //li.innerHTML = '<img width="100%" src="images/yhq_overdue_bg.png" /><div class="fixed-box grayscale"><div class="table"><div class="left-cell"><span class="tit grayscale">优惠券</span><p class="time grayscale">有效期至2016年12月12日</p><span class="condition">无使用限制条件</span></div><div class="right-cell"><div class="money grayscale"><strong>¥</strong><span>50</span></div><span class="my-btn grayscale">立即领取</span></div></div></div>';
+                            table.appendChild(li);
+                        });
+
+                        mui('#pullrefresh_yhq_list').pullRefresh().endPullupToRefresh(false);
+                    },
+                    error:function(xhr,type,errorThrown){
+                        //异常处理;
+                        console.log(xhr);
+                    }
+                });
 			}
+
 		mui.ready(function() {
+            mui.init({
+                pullRefresh: {
+                    container: '#pullrefresh_yhq_list',
+                    down: {
+                    },
+                    up: {
+                        contentrefresh: '正在加载...',
+                        callback: pullupRefresh
+                    }
+                }
+            });
 			mui('#pullrefresh_yhq_list').pullRefresh().pullupLoading();
-				console.log("页面加载完毕")
-				document.querySelector('.loading-bg').style.display = 'none';
-			mui('body').on('tap','.my-btn',function(){
-				var btnArray = ['立即使用', '以后使用'];
-				mui.confirm('<strong>¥</strong><span>50元</span>优惠券<img class="x-close" src="images/x.png" />', '恭喜您成功领取一张', btnArray, function(e) {
-					if (e.index == 1) {
-						console.log("以后使用");
-					} else {
-						console.log("立即使用");
-					}
-				})
-			});
-			mui('body').on('tap','.x-close',function(){
-				mui.closePopup();
-			});
-			
-		});	
-		mui.each(document.querySelectorAll('.tab-yhq-list .mui-control-item'), function(index, el) {
-				el.addEventListener('tap', function() {
-					pageNumber = 0;
-					switch (index) {
-						case 0:
-							tabindex = 0;
-							break;
-						case 1:
-							tabindex = 1;
-							break;
-						case 2:
-							tabindex = 2;
-							break;
-						default:
-							tabindex = 3;
-							break;
-					}
-					$('.my-yhq-list').empty();
-					mui('#pullrefresh_yhq_list').pullRefresh().refresh(true);
-					mui('#pullrefresh_yhq_list').pullRefresh().pullupLoading();
-				}, false);
-			});
+			console.log("页面加载完毕")
+			document.querySelector('.loading-bg').style.display = 'none';
+
+		});
 	</script>
 	</body>
 </html>

+ 1 - 1
iamberry-wechat-web/src/main/webapp/common/wechat/shopping-cart.html

@@ -139,7 +139,7 @@
 						} else {
 							if(dt.status) {
 								console.log(dt)
-								
+
 							} else {
 								mui.alert("获取数据失败!");
 							}