Просмотр исходного кода

Merge branch 'master' of http://git.iamberry.com/liuzhiwei/iamberry-common-tooth

# Conflicts:
#	tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/adminOrderMapper.xml
#	tooth-wechat-web/src/main/resources/jdbc.properties
liujiankang 7 лет назад
Родитель
Сommit
7193ae85c1

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

@@ -44,6 +44,8 @@ public class ProductColor implements java.io.Serializable{
 
 	private Integer productType;		//产品类型
 
+	private Integer ptsProductId;		//对应的pts产品id
+
 	public String getColorPresent() {
 		return colorPresent;
 	}
@@ -188,6 +190,14 @@ public class ProductColor implements java.io.Serializable{
 		this.colorPolyCode = colorPolyCode;
 	}
 
+	public Integer getPtsProductId() {
+		return ptsProductId;
+	}
+
+	public void setPtsProductId(Integer ptsProductId) {
+		this.ptsProductId = ptsProductId;
+	}
+
 	@Override
 	public String toString() {
 		return "ProductColor [colorId=" + colorId + ", colorProductId="
@@ -195,7 +205,7 @@ public class ProductColor implements java.io.Serializable{
 				+ ", colorName=" + colorName + ", colorDiscount="
 				+ colorDiscount + ", colorPrice=" + colorPrice + ", color69Code=" + color69Code
 				+ ", colorCretaeTime=" + colorCretaeTime + ", colorUpdateTime="
-				+ colorUpdateTime + ", page=" + page + "]";
+				+ colorUpdateTime + ", page=" + page + ", ptsProductId=" + ptsProductId + "]";
 	}
 
 }

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

@@ -0,0 +1,46 @@
+package com.iamberry.wechat.core.entity.product;
+
+import java.util.Date;
+
+/**
+ * Created by Administrator on 2018/2/27.
+ */
+public class ProductRelatedRstProduce implements java.io.Serializable {
+    private static final long serialVersionUID = -3392148963479198137L;
+    private Integer relatedId;
+    private Integer colorId;
+    private Integer ptsProduceId;
+    private Date related_create_time;
+
+    public Integer getRelatedId() {
+        return relatedId;
+    }
+
+    public void setRelatedId(Integer relatedId) {
+        this.relatedId = relatedId;
+    }
+
+    public Integer getColorId() {
+        return colorId;
+    }
+
+    public void setColorId(Integer colorId) {
+        this.colorId = colorId;
+    }
+
+    public Integer getPtsProduceId() {
+        return ptsProduceId;
+    }
+
+    public void setPtsProduceId(Integer ptsProduceId) {
+        this.ptsProduceId = ptsProduceId;
+    }
+
+    public Date getRelated_create_time() {
+        return related_create_time;
+    }
+
+    public void setRelated_create_time(Date related_create_time) {
+        this.related_create_time = related_create_time;
+    }
+}

+ 6 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/apparatus/ApparatusService.java

@@ -2,6 +2,7 @@ package com.iamberry.wechat.face.apparatus;
 
 import com.iamberry.wechat.core.entity.apparatus.Apparatus;
 import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.core.entity.product.ProductRelatedRstProduce;
 
 import java.util.List;
 
@@ -50,4 +51,9 @@ public interface ApparatusService {
      * @return
      */
     boolean addStayIntegral(String openId,Integer IntegralType,Integer orderAllIntegral,String orderId);
+
+    /**
+     * 添加产品颜色与pts产品关联信息
+     */
+    Integer addColorIdByProductId(ProductRelatedRstProduce productRelatedRstProduce);
 }

+ 6 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/apparatus/ApparatusServiceImpl.java

@@ -7,6 +7,7 @@ import com.iamberry.wechat.core.entity.integral.MemberIntegral;
 import com.iamberry.wechat.core.entity.integral.UseIntegral;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.core.entity.integral.StayIntegral;
+import com.iamberry.wechat.core.entity.product.ProductRelatedRstProduce;
 import com.iamberry.wechat.face.apparatus.ApparatusService;
 import com.iamberry.wechat.service.mapper.ApparatusMapper;
 import com.iamberry.wechat.service.mapper.MemberMapper;
@@ -193,4 +194,9 @@ public class ApparatusServiceImpl implements ApparatusService {
         }
         return true;
     }
+
+    @Override
+    public Integer addColorIdByProductId(ProductRelatedRstProduce productRelatedRstProduce) {
+        return apparatusMapper.addColorIdByProductId(productRelatedRstProduce);
+    }
 }

+ 6 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ApparatusMapper.java

@@ -1,6 +1,7 @@
 package com.iamberry.wechat.service.mapper;
 
 import com.iamberry.wechat.core.entity.apparatus.Apparatus;
+import com.iamberry.wechat.core.entity.product.ProductRelatedRstProduce;
 
 import java.util.List;
 
@@ -32,4 +33,9 @@ public interface ApparatusMapper {
      * 根据RST产品id和查询颜色id
      * **/
     Integer getColorIdByProductId(String productId);
+
+    /**
+     * 添加产品颜色与pts产品关联信息
+     */
+    Integer addColorIdByProductId(ProductRelatedRstProduce productRelatedRstProduce);
 }

+ 4 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/apparatusMapper.xml

@@ -53,4 +53,8 @@
     <select id="getColorIdByProductId" parameterType="String" resultType="Integer">
         select color_id from tb_iamberry_product_related_rst_produce where pts_produce_id = #{productId}
     </select>
+    
+    <insert id="addColorIdByProductId" parameterType="ProductRelatedRstProduce">
+        INSERT INTO tb_iamberry_product_related_rst_produce(color_id,pts_produce_id,related_create_time) VALUES (#{colorId},#{ptsProduceId},NOW())
+    </insert>
 </mapper>

+ 12 - 7
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/product/ProductServiceImpl.java

@@ -7,16 +7,14 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import com.iamberry.wechat.core.entity.product.*;
+import com.iamberry.wechat.face.apparatus.ApparatusService;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.servlet.ModelAndView;
 
 import com.iamberry.wechat.core.entity.banner.MessageDTO;
-import com.iamberry.wechat.core.entity.product.Product;
-import com.iamberry.wechat.core.entity.product.ProductColor;
-import com.iamberry.wechat.core.entity.product.ProductImageText;
-import com.iamberry.wechat.core.entity.product.ProductPicture;
 import com.iamberry.wechat.face.porduct.ProductImageTextService;
 import com.iamberry.wechat.face.porduct.ProductService;
 import com.iamberry.wechat.service.mapper.ProductColorMapper;
@@ -41,13 +39,14 @@ public class ProductServiceImpl implements ProductService{
 	@Autowired
 	private ProductColorMapper productColorMapper;
 	@Autowired
+	private ApparatusService apparatusService;
+	@Autowired
 	private ProductImageTextService productImageTextService;	//图文service	
 
 	/**
 	 * 获取所有产品信息并分页
 	 * 2016年4月21日
 	 * @author 穆再兴
-	 * @param page
 	 * @return
 	 */
 	public List<Product> selectAllProductInfo(Product product){
@@ -127,10 +126,16 @@ public class ProductServiceImpl implements ProductService{
 				color.setColorCretaeTime(new Date());
 				color.setColorProductName(product.getProductName());
 				color.setColorProductType(product.getProductType().getTypeId());
+				productColorMapper.insertProductColor(color);
+				//添加pts产品关联表信息
+				ProductRelatedRstProduce productRelatedRstProduce = new ProductRelatedRstProduce();
+				productRelatedRstProduce.setColorId(color.getColorId());
+				productRelatedRstProduce.setPtsProduceId(color.getPtsProductId());
+				apparatusService.addColorIdByProductId(productRelatedRstProduce);
 			}
-			if(productColorMapper.insertProductColorList(cList) < 1){
+			/*if(productColorMapper.insertProductColorList(cList) < 1){
 				mv.addObject("msgObj", new MessageDTO(true, "操作结果", "添加产品颜色失败!"));
-			}
+			}*/
 		}
 		mv.addObject("status", true);
 		return mv;

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

@@ -438,7 +438,7 @@ public class MQTask implements InitializingBean {
 	 */
 	@SuppressWarnings(value = {"unchecked", "rawtypes"})
 	/*@Scheduled(cron = "0 0/3 * * * ?")//每三分钟执行一次*/
-	@Scheduled(cron = "0 50 14 * * ?")//每三分钟执行一次
+	@Scheduled(cron = "0 50 14 * * ?")//每天下午2点50分执行一次
 	public void pendingOrderReminder() {
 		//查询待发货事项、申请退款订单、申请退货订单、申请换货订单 的数量
 		NumberBacklogDto numberBacklogDto = adminOrderService.selectNumberBacklog();
@@ -446,6 +446,8 @@ public class MQTask implements InitializingBean {
 		String text = MessageFormat.format(ImberryConfig.PENDING_ORDER_REMINDER, num);
 		codeService.informShipping("15814645335", text);
 		codeService.informShipping("13472545449", text);
+		codeService.informShipping("18271840547", text);
+		codeService.informShipping("13922874118", text);
 	}
 
 }

+ 16 - 9
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/porduct/ProductHandler.java

@@ -170,18 +170,23 @@ public class ProductHandler {
 	 * @author mzx
 	 * @return
 	 */
+	@ResponseBody
 	@RequestMapping("/add")
-	public ModelAndView addProduct(HttpServletRequest req,Product product){
-		ModelAndView mv = new ModelAndView("admin/msg/msg");
-		mv.addObject("msgObj", new MessageDTO(true, "操作结果", "添加失败!"));
+	public ResultMsg addProduct(HttpServletRequest req,Product product){
+		ResultMsg msg = new ResultMsg();
+		String colorLists = req.getParameter("colorLists");
+		JSONArray jsonArray = JSONArray.fromObject(colorLists);
+		List<ProductColor> ProductColorList = (List) JSONArray.toCollection(jsonArray, ProductColor.class);
+		product.setColorList(ProductColorList);
 		//设置产品类型
-		if(product.getProductType().getTypeId() == null 
+		if(product.getProductType().getTypeId() == null
 				|| product.getProductType().getTypeId() == 0
 				|| product.getColorList() == null || product.getColorList().size() < 1
 				|| StringUtils.isEmpty(product.getColorList().get(0).getColorName())){
-			return mv; 
+			msg.setStatus(false);
+			msg.setResultCode(ResultInfo.ERRORCODE);
+			return msg;
 		}
-		
 		//添加商品banner图片
 		List<ProductPicture> picList = new ArrayList<ProductPicture>();
 		String imageUrls[] = req.getParameterValues("productBannerImg");//获取多个banner图地址
@@ -193,14 +198,16 @@ public class ProductHandler {
 			picList.add(pp);
 		}
 		product.setProductCreateDate(new Date());
+		ModelAndView mv = new ModelAndView("admin/msg/msg");
 		mv = productService.addProduct(product, picList);
-		
+
 		if((boolean) mv.getModelMap().get("status")){
-			mv.addObject("msgObj", new MessageDTO(true, "操作结果", "添加成功!"));
+			msg.setStatus(true);
+			msg.setResultCode(ResultInfo.SUCCESSCODE);
 			// 缓存
 			productInfoService.cacheIndexPageProduct();
 		}
-		return mv;
+		return msg;
 	}
 	
 	/**

+ 1 - 1
tooth-wechat-web/src/main/resources/iamberry-app-service-config.properties

@@ -24,4 +24,4 @@ PROBATION_SUCCESS_SECOND_TEXT=\u3010\u7F8E\u56FDWatero\u3011\u5C0A\u656C\u7684\u
 PROBATION_SUCCESS_THIRD_TEXT=\u3010\u7F8E\u56FDWatero\u3011\u5C0A\u656C\u7684\u4F1A\u5458\u60A8\u597D\uFF01\u60A8\u7684\u8BD5\u7528\u8BA2\u53552\u5929\u540E\u5C06\u5230\u671F\uFF0C\u540C\u65F6\uFF0C\u8FD8\u67091L\u7CBE\u7F8E\u91CF\u676F\u5F85\u9886\u53D6\uFF0C\u8BF7\u8FDB\u5165\u5FAE\u4FE1\u516C\u4F17\u53F7\u67E5\u770B\u8BA2\u5355\u3002
 INFORM_SHIPPING=\u3010\u4E0A\u6735\u5FAE\u5546\u57CE\u3011\u4EB2\uFF0C\u60A8\u7684\u8BA2\u5355\u5DF2\u53D1\u8D27\u3002\u5173\u6CE8\u201C\u4E0A\u6735\u5FAE\u5546\u57CE\u201D\u516C\u4F17\u53F7\u53EF\u67E5\u8BE2\u7269\u6D41\u4FE1\u606F
 ORDER_UPDATE_STATUS_TEXT=\u3010\u4E0A\u6735\u5FAE\u5546\u57CE\u3011\u6709\u4E00\u4E2A\u8BA2\u5355\u5F85{0}\uFF0C\u8BF7\u767B\u9646\u4E0A\u6735\u5FAE\u4FE1\u540E\u53F0\u5904\u7406\u3002
-PENDING_ORDER_REMINDER=\u3010soodo\u4E0A\u6735\u3011\u60A8\u6709{0}\u4E2A\u5F85\u53D1\u8D27\u8BA2\u5355\u5904\u7406\u3002
+PENDING_ORDER_REMINDER=\u3010soodo\u4E0A\u6735\u3011\u5FAE\u4FE1\u5546\u57CE\u60A8\u6709{0}\u4E2A\u8BA2\u5355\u5F85\u5904\u7406\uFF0C\u8BF7\u53CA\u65F6\u5904\u7406\u3002

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

@@ -242,6 +242,9 @@
 		<typeAlias type="com.iamberry.wechat.core.entity.integral.RankRule" alias="RankRule"/>
 		<typeAlias type="com.iamberry.wechat.core.entity.integral.StayIntegral" alias="StayIntegral"/>
 
+
+		<typeAlias type="com.iamberry.wechat.core.entity.product.ProductRelatedRstProduce" alias="ProductRelatedRstProduce"/>
+
 		<package name="com.iamberry.wechat.core.entity.rent"/>
 	</typeAliases>
 	<!-- PageHelper -->

+ 1 - 1
tooth-wechat-web/src/main/webapp/WEB-INF/views/admin/main/index.jsp

@@ -147,7 +147,7 @@
 
         $.ajax({
             "type" : "post",
-            "url" : "/admin/order/selectTodo",
+            "url" : "/tooth/admin/order/selectTodo",
             "dataType" : "json",
             async:false,
             "success" : function(data) {

+ 72 - 19
tooth-wechat-web/src/main/webapp/WEB-INF/views/admin/product/addProduct.jsp

@@ -17,7 +17,7 @@
 <link href="${pageContext.request.contextPath }/common/other/kingedit/themes/default/default.css" rel="stylesheet" type="text/css" />
 <title>添加商品</title>
 <style>
-	.ke-container.ke-container-default{width:350px!important;height:500px!important;}
+	.ke-container.ke-container-default{width:740px!important;height:300px!important;}
 </style>
 </head>
 <body>
@@ -78,7 +78,7 @@
 				<div  class="row cl">
 					<label class="form-label col-2"><span class="c-red">*</span>产品图片:</label>
 					<div class="col-10 ">
-						<img alt="产品图片" src="" id="introduceImg" width="90" height="80">
+						<img alt="产品图片" src="${pageContext.request.contextPath }/common/images/noImage.jpg" id="introduceImg" width="90" height="80">
 						<input type="hidden" id="productIntroduceImg" name="productIntroduceImg" value=""/>
 						<input id="insertfileIntroduce" class="btn btn-primary radius upload-btn" type="button" value="点击上传(330 px * 280 px)" />
 					</div>
@@ -144,7 +144,7 @@
 			<label class="form-label col-2"><span class="c-red">*</span>产品banner图:</label>
 			<div class="col-10 " id="bannerInfo">
 				<div style="float: left;margin-right: 10px; margin-bottom: 10px;" class="bannerImageList">
-					<img style="border:2px solid #0A6999;" alt="产品banner图" src="" id="bannerImg" width="90" height="80" onclick="removes(this)">
+					<img alt="请上传banner图" src="" id="bannerImg" width="90" height="80" onclick="removes(this)">
 					<input type="hidden" id="productBannerImg" name="productBannerImg" value=""/>
 				</div>
 				<%--<input type="button" id="insertfileBanner" value="选择文件" />--%>
@@ -157,7 +157,7 @@
 		</div>
 		<div class="row cl" id="iamgeTextDiv">
 			<label class="form-label col-2">商品图文:</label>
-			<div class="formControls col-5"> 
+			<div class="formControls col-9">
 				<textarea id="productsInfoProductdesc" name="productImageText.imagetextContext" cols="" rows="" class="textarea" ></textarea>
 			</div>
 		</div>
@@ -170,10 +170,11 @@
 				</button>
 			</div>
 		</div>
-		<%--<!-- 已售数量 -->
+		<!-- 已售数量 -->
 		<input type="hidden" name="productSalesnum" value="0">
 		<!-- 浏览量 -->
-		<input type="hidden" name="productAccessnum" value="0">--%>
+		<input type="hidden" name="productAccessnum" value="0">
+		<input type="hidden" name="colorLists" id="colorLists">
 		</form>
 </div>
 <script type="text/javascript" src="${pageContext.request.contextPath }/common/admin/lib/jquery/1.9.1/jquery.min.js"></script>
@@ -195,8 +196,8 @@ KindEditor.ready(function(K) {
            uploadJson : '${pageContext.request.contextPath }/common/other/kingedit/jsp/upload_json.jsp',
             allowFileManager : true,
             afterBlur: function(){this.sync();},
-            width : '350px',
-		    height : '500px'
+            width : '740px',
+		    height : '300px'
         });
 });
 
@@ -263,7 +264,7 @@ KindEditor.ready(function(K) {
 						K(productBannerImgDom).val(url);
                     }else{
                         var bannerHtml = '<div style="float: left;margin-right: 10px; margin-bottom: 10px;" class="bannerImageList">' +
-                            '<img style="border:2px solid #0A6999;" alt="产品banner图" src="' + url + '" id="bannerImg" width="90" height="80" onclick="removes(this)">' +
+                            '<img alt="产品banner图" src="' + url + '" id="bannerImg" width="90" height="80" onclick="removes(this)">' +
                             '<input type="hidden" id="productBannerImg" name="productBannerImg" value="' + url + '"/></div>';
                         K(bannerInfo).append(bannerHtml);
 					}
@@ -395,7 +396,7 @@ function addBtnEvent(goodsimagess){
 		
 	});
 }
-		
+var toothInfoJson = '${toothInfoJson}';
 //数据校验
 function checkProduct(){
 
@@ -424,23 +425,77 @@ function checkProduct(){
 	});*/
 
 	var colorList = new Array();
-
-
+    var tb = document.getElementById("example");  //根据id找到这个表格
+    var rows = tb.rows;               //取得这个table下的所有行
+    for(var i=1;i<rows.length;i++)//循环遍历所有的tr行
+    {
+        var color = {};
+        for(var j=0;j<rows[i].cells.length;j++)//取得第几行下面的td个数,再次循环遍历该行下面的td元素
+        {
+            var cell = rows[i].cells[j];//获取某行下面的某个td元素
+			if(j == 0){
+			    var img = cell.children;
+                color.colorProductPic = img[0].getAttribute("src");
+			}
+            if(j == 1){
+                color.colorName = cell.innerHTML;
+            }
+            if(j == 2){
+                color.colorPresent = cell.innerHTML;
+            }
+            if(j == 3){
+                if(cell.innerHTML == "在售"){
+                    color.colorStatus = 1;
+				}
+                if(cell.innerHTML == "停止销售"){
+                    color.colorStatus = 2;
+                }
+                if(cell.innerHTML == "删除"){
+                    color.colorStatus = 3;
+                }
+            }
+            if(j == 4){
+                color.colorPrice = cell.innerHTML;
+            }
+            if(j == 5){
+                color.colorDiscount = cell.innerHTML;
+            }
+            if(j == 6){
+                color.color69Code = cell.innerHTML;
+            }
+            if(j == 7){
+                $.each(eval(toothInfoJson), function(index,item){
+                    if(item.produceName == cell.innerHTML){
+                        color.ptsProductId = item.produceId;
+                    }
+                });
+            }
+        }
+        colorList.push(color);
+    }
+    $("#colorLists").val(JSON.stringify(colorList));
     $.ajax({
         url: '${pageContext.request.contextPath }/admin/product/add',
         type: "POST",
         dataType: "json",
-        data: {productId : $("#productName").val(),
+        /*data: {productId : $("#productName").val(),
 			   typeId : $("#typeId").val(),
 			   productBannerImg : $("#productBannerImg").val(),
                productsInfoProductdesc : $("#productsInfoProductdesc").val(),
-
-        },
+			   colorLists : $("#colorLists").val()
+        },*/
+        data: $("#form-addGoods").serialize(),
         error:function(data){
-            layer.msg(data.status,{icon: 5,time:2000});
+            layer.msg("添加失败!",{icon: 5,time:2000});
         },
         success:  function(data){
-            layer.msg(data.status,{icon: 1,time:2000});
+            if(data.status){
+                layer.msg("添加成功!",{icon: 1,time:2000});
+                window.location.href = '${pageContext.request.contextPath }/admin/product/list';
+			}else{
+                layer.msg("添加失败!",{icon: 2,time:2000});
+			}
+
 			/* $("#Goodstatus").val(obj.val()); */
 			/* window.location.href = '${pageContext.request.contextPath }/admin/goods/listGoodsUI'; */
         }
@@ -497,8 +552,6 @@ function addColorTable(){
 		}
 
     var ptsProductid = null;
-    var toothInfoJson = '${toothInfoJson}';
-
     $.each(eval(toothInfoJson), function(index,item){
         if(item.produceId == $("#ptsProductid").val()){
             ptsProductid = item.produceName;

BIN
tooth-wechat-web/src/main/webapp/common/images/noImage.jpg