Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/agentInfo/AgentInfoService.java
#	tooth-wechat-service/src/main/java/com/iamberry/wechat/service/agentInfo/AgentInfoServiceImpl.java
#	tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AgentInfoMapper.java
#	tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/agentInfoMapper.xml
liuzhiwei 7 vuotta sitten
vanhempi
commit
2678433688
19 muutettua tiedostoa jossa 468 lisäystä ja 2 poistoa
  1. 38 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/OrderUtil.java
  2. 10 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/agentInfo/AgentOrder.java
  3. 10 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/agentInfo/AgentOrderItem.java
  4. 10 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/product/Product.java
  5. 14 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/agentInfo/AgentInfoService.java
  6. 15 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/agentInfo/AgentOrderService.java
  7. 8 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/ProductInfoService.java
  8. 10 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/agentInfo/AgentInfoServiceImpl.java
  9. 37 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/agentInfo/AgentOrderServiceImpl.java
  10. 6 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/ProductInfoServiceImpl.java
  11. 8 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/ProductInfoDao.java
  12. 7 1
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/ProductInfoDaoImpl.java
  13. 14 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AgentInfoMapper.java
  14. 8 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AgentPurchaseOrderMapper.java
  15. 9 1
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ProductInfoMapper.java
  16. 33 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/agentInfoMapper.xml
  17. 13 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/agentPurchaseOrderMapper.xml
  18. 23 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml
  19. 195 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/agentInfo/AgentOrderHandler.java

+ 38 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/OrderUtil.java

@@ -12,6 +12,44 @@ import com.iamberry.wechat.core.entity.order.OrderOperation;
 @Component
 public class OrderUtil {
 
+    //取消订单
+    public static final Integer ORDERSTAUTS_CANCEL = 0;
+
+    //待支付(用户提交数据后,订单状态进入待支付,订单对用户和管理员都存在操作权限:取消订单,如果取消订单,订单状态修改为0)
+    public static final Integer ORDERSTAUTS_TOBEPAID = 1;
+
+    //已支付、待发货(用户对待支付的订单,支付成功后,订单状态修改为待发货,此时的订单对用户操作为:申请退款,对管理员的操作为:确认发货)
+    public static final Integer ORDERSTAUTS_PAID = 2;
+
+    //退款申请中(用户对待发货的订单申请退款时进入此)
+    public static final Integer ORDERSTAUTS_REFUND_APPLICATION = 3;
+
+    //已退款(管理员通过申请退款,此时订单任何人不能操作)
+    public static final Integer ORDERSTAUTS_REFUNDED = 4;
+
+    //已发货(管理员对待发货的订单发货时,订单状态为此,此时用户具有申请退/换货的操作能力,管理员不具有权限)
+    public static final Integer ORDERSTAUTS_SHIPPED = 5;
+
+    //申请退货中(用户对已发货的订单申请退货时,订单状态修改为此,此时的订单,只有管理员能操作)
+    public static final Integer ORDERSTAUTS_APPLY_FO_RRETURN = 6;
+
+    //退货中(管理员通过退款,等待收取用户发的货物时的状态,此时的状态只有管理员具有操作能力,为确认退货)
+    public static final Integer ORDERSTAUTS_RETURN = 7;
+
+    //订单退货,订单关闭(管理员收到货后,确认退货,订单状态修改为此,订单不对外提供操作能力)
+    public static final Integer ORDERSTAUTS_ORDERRETURN = 8;
+
+    //换货中(管理员对申请换货的订单,确认换货时,订单状态为此,此时只有管理员具有操作权限,只能确认换货,录入物流信息,并重新计算订单关闭的时间,待入账积分的时间要修改)
+    public static final Integer ORDERSTAUTS_REPLACEMENT = 9;
+
+    //换货完成,当用户对换货中的订单,点击确认换货时,并录入物流信息,此订单进入已发货状态
+    public static final Integer Replacement_IS_COMPLETE = 10;
+
+    //申请换货中
+    public static final Integer ORDERSTAUTS_APPLY_FOR_REPLACEMENT = 11;
+
+    //订单完成
+    public static final Integer ORDERSTAUTS_COMPLETE = 12;
 
     // 订单状态:下标对应数据库中记录状态, 此用于请求操作时
     public final String[] orderStatusStrList =

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

@@ -26,6 +26,8 @@ public class AgentOrder implements java.io.Serializable{
     private String agentTransactionId;  //微信订单号
     private Date agentTransactionDate;  //微信支付时间
 
+    private String agentOrderItemJson;  //订单项
+
     public String getAgentOrderid() {
         return agentOrderid;
     }
@@ -153,4 +155,12 @@ public class AgentOrder implements java.io.Serializable{
     public void setAgentTransactionDate(Date agentTransactionDate) {
         this.agentTransactionDate = agentTransactionDate;
     }
+
+    public String getAgentOrderItemJson() {
+        return agentOrderItemJson;
+    }
+
+    public void setAgentOrderItemJson(String agentOrderItemJson) {
+        this.agentOrderItemJson = agentOrderItemJson;
+    }
 }

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

@@ -23,6 +23,8 @@ public class AgentOrderItem implements java.io.Serializable{
     private Integer itemProductPrice;       //商品原价
     private String itemProductPic;          //介绍图
 
+    private Integer productRentType;        //销售类型
+
     public Integer getItemId() {
         return itemId;
     }
@@ -126,4 +128,12 @@ public class AgentOrderItem implements java.io.Serializable{
     public void setAgentOrderid(String agentOrderid) {
         this.agentOrderid = agentOrderid;
     }
+
+    public Integer getProductRentType() {
+        return productRentType;
+    }
+
+    public void setProductRentType(Integer productRentType) {
+        this.productRentType = productRentType;
+    }
 }

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

@@ -49,6 +49,8 @@ public class Product implements java.io.Serializable{
 	private Date beginDate;			//页面显示  开始时间
 	private Date endDate;				//页面显示  结束时间
 
+	private Integer configAmount;  //代理商的采购价
+
 	public Integer getColorId() {
 		return colorId;
 	}
@@ -257,6 +259,14 @@ public class Product implements java.io.Serializable{
 		this.page = page;
 	}
 
+	public Integer getConfigAmount() {
+		return configAmount;
+	}
+
+	public void setConfigAmount(Integer configAmount) {
+		this.configAmount = configAmount;
+	}
+
 	@Override
 	public String toString() {
 		return "Product [productId=" + productId + ", productName="

+ 14 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/agentInfo/AgentInfoService.java

@@ -37,4 +37,18 @@ public interface AgentInfoService {
      * @return
      */
     Integer updateAgentConfig(AgentConfig config);
+
+    /**
+     * 查询代理商
+     * @param agentTooth
+     * @return
+     */
+    AgentTooth getAgentTooth(AgentTooth agentTooth);
+
+    /**
+     * 查询代理商配置
+     * @param config
+     * @return
+     */
+    AgentConfig getAgentConfig(AgentConfig config);
 }

+ 15 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/agentInfo/AgentOrderService.java

@@ -0,0 +1,15 @@
+package com.iamberry.wechat.face.agentInfo;
+
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrder;
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrderItem;
+
+import java.util.List;
+
+/**
+ * 采购&订单
+ */
+public interface AgentOrderService {
+
+    AgentOrder addAgentOrder(AgentOrder agentOrder, List<AgentOrderItem> agentOrderItemList);
+    
+}

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

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.iamberry.wechat.core.entity.cart.UserGiftDto;
 import com.iamberry.wechat.core.entity.product.Product;
+import com.iamberry.wechat.core.entity.product.ProductColor;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 
 public interface ProductInfoService {
@@ -94,4 +95,11 @@ public interface ProductInfoService {
      * @return
      */
     Integer getQrCodeByPlaceOpenId(String openId);
+
+	/**
+	 * 获取单个产品颜色信息
+	 * @param productColor
+	 * @return
+	 */
+	ProductColor getProductColor(ProductColor productColor);
 }

+ 10 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/agentInfo/AgentInfoServiceImpl.java

@@ -37,4 +37,14 @@ public class AgentInfoServiceImpl implements AgentInfoService {
     public Integer updateAgentConfig(AgentConfig config) {
         return agentInfoMapper.updateAgentConfig(config);
     }
+
+    @Override
+    public AgentTooth getAgentTooth(AgentTooth agentTooth) {
+        return agentInfoMapper.getAgentTooth(agentTooth);
+    }
+
+    @Override
+    public AgentConfig getAgentConfig(AgentConfig config) {
+        return agentInfoMapper.getAgentConfig(config);
+    }
 }

+ 37 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/agentInfo/AgentOrderServiceImpl.java

@@ -0,0 +1,37 @@
+package com.iamberry.wechat.service.agentInfo;
+
+import com.iamberry.wechat.core.entity.OrderUtil;
+import com.iamberry.wechat.core.entity.agentInfo.AgentConfig;
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrder;
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrderItem;
+import com.iamberry.wechat.core.entity.agentInfo.AgentTooth;
+import com.iamberry.wechat.face.agentInfo.AgentInfoService;
+import com.iamberry.wechat.face.agentInfo.AgentOrderService;
+import com.iamberry.wechat.service.mapper.AgentInfoMapper;
+import com.iamberry.wechat.service.mapper.AgentPurchaseOrderMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Created by liuzhiwei on 2017/10/11.
+ */
+@Service
+public class AgentOrderServiceImpl implements AgentOrderService {
+
+    @Autowired
+    private AgentPurchaseOrderMapper agentPurchaseOrderMapper;
+
+
+    @Override
+    public AgentOrder addAgentOrder(AgentOrder agentOrder, List<AgentOrderItem> agentOrderItemList) {
+        agentOrder.setAgentStatus(OrderUtil.ORDERSTAUTS_TOBEPAID);      //设置状态为:未支付
+
+        int amount  = 0;    //订单总金额
+
+
+
+        return null;
+    }
+}

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

@@ -3,6 +3,7 @@ package com.iamberry.wechat.service.cart;
 import java.util.List;
 
 import com.iamberry.wechat.core.entity.PageBean;
+import com.iamberry.wechat.core.entity.product.ProductColor;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -120,4 +121,9 @@ public class ProductInfoServiceImpl implements ProductInfoService {
     public Integer updateGiftStatus(QrcodeGift qrcodeGift) {
         return productInfoDao.updateGiftStatus(qrcodeGift);
     }
+
+	@Override
+	public ProductColor getProductColor(ProductColor productColor){
+		return productInfoDao.getProductColor(productColor);
+	}
 }

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

@@ -5,6 +5,7 @@ import java.util.List;
 import com.iamberry.wechat.core.entity.cart.ShopOrderItemDto;
 import com.iamberry.wechat.core.entity.cart.UserGiftDto;
 import com.iamberry.wechat.core.entity.product.Product;
+import com.iamberry.wechat.core.entity.product.ProductColor;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 
 public interface ProductInfoDao {
@@ -90,4 +91,11 @@ public interface ProductInfoDao {
      * @return
      */
     Integer getQrCodeByPlaceOpenId(String openId);
+
+	/**
+	 * 获取单个产品颜色信息
+	 * @param productColor
+	 * @return
+	 */
+	ProductColor getProductColor(ProductColor productColor);
 }

+ 7 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/ProductInfoDaoImpl.java

@@ -2,6 +2,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.QrcodeGift;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
@@ -97,7 +98,12 @@ public class ProductInfoDaoImpl implements ProductInfoDao {
         return productInfoMapper.getQrCodeByPlaceOpenId(openId);
     }
 
-    @Override
+	@Override
+	public ProductColor getProductColor(ProductColor productColor) {
+		return productInfoMapper.getProductColor(productColor);
+	}
+
+	@Override
     public Integer updateGiftStatus(QrcodeGift qrcodeGift) {
         return productInfoMapper.updateGiftStatus(qrcodeGift);
     }

+ 14 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AgentInfoMapper.java

@@ -37,4 +37,18 @@ public interface AgentInfoMapper {
      * @return
      */
     Integer updateAgentConfig(AgentConfig config);
+
+    /**
+     * 查询代理商
+     * @param agentTooth
+     * @return
+     */
+    AgentTooth getAgentTooth(AgentTooth agentTooth);
+
+    /**
+     * 查询代理商配置
+     * @param config
+     * @return
+     */
+    AgentConfig getAgentConfig(AgentConfig config);
 }

+ 8 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AgentPurchaseOrderMapper.java

@@ -0,0 +1,8 @@
+package com.iamberry.wechat.service.mapper;
+
+/**
+ *  采购订单
+ */
+public interface AgentPurchaseOrderMapper {
+
+}

+ 9 - 1
tooth-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.cart.UserGiftDto;
 import com.iamberry.wechat.core.entity.product.Product;
+import com.iamberry.wechat.core.entity.product.ProductColor;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 
 public interface ProductInfoMapper {
@@ -18,7 +19,7 @@ public interface ProductInfoMapper {
 	 * @return
 	 */
 	public List<Product> listSelectProduct(Product product);
-	
+
 	//根据productID查询商品信息
 	public Product getProductByProductId(Integer productId, Integer colorId);
 	
@@ -92,4 +93,11 @@ public interface ProductInfoMapper {
      * @return
      */
     Integer getQrCodeByPlaceOpenId(String openId);
+
+	/**
+	 * 获取单个产品颜色信息
+	 * @param productColor
+	 * @return
+	 */
+	ProductColor getProductColor(ProductColor productColor);
 }

+ 33 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/agentInfoMapper.xml

@@ -96,4 +96,37 @@
               config_id = #{configId}
           </where>
     </update>
+
+    <!-- 查询代理商配置金额 -->
+    <select id="getAgentConfig" parameterType="AgentConfig" resultType="AgentConfig">
+        select
+        <include refid="agentConfig"/>
+        from
+        tb_iamberry_agent_config
+        <where>
+            <if test="agentId !=null and agentId !=''">
+                agent_id = #{agentId}
+            </if>
+            <if test="colorId !=null and colorId !=''">
+                AND color_id = #{colorId}
+            </if>
+        </where>
+    </select>
+
+    <!-- 查询代理商配置金额 -->
+    <select id="getAgentTooth" parameterType="AgentTooth" resultType="AgentTooth">
+        SELECT
+        <include refid="agentInfo"/>
+        FROM
+        tb_iamberry_agent_agentinfo
+        <where>
+            <if test="agentOpenid !=null and agentOpenid !=''">
+                agent_openid = #{agentOpenid}
+            </if>
+            <if test="agentId !=null and agentId !=''">
+                AND  agent_id = #{agentId}
+            </if>
+        </where>
+    </select>
+
 </mapper>

+ 13 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/agentPurchaseOrderMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper 
+PUBLIC 
+	"-//mybatis.org//DTD Mapper 3.0//EN" 
+	"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 命名,每一个映射对象不一样
+	namespace:必须与对应的接口全类名一致
+ -->
+<mapper namespace="com.iamberry.wechat.service.mapper.AgentPurchaseOrderMapper">
+
+
+	
+</mapper>

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

@@ -329,4 +329,27 @@
             where
               place_openid = #{openId})
     </select>
+
+	<select id="getProductColor" parameterType="ProductColor" resultType="ProductColor">
+		SELECT
+			color_id AS colorId,
+			color_product_id AS colorProductId,
+			color_name AS colorName,
+			color_discount AS  colorDiscount,
+			color_price AS  colorPrice,
+			color_cretae_time AS  colorCretaeTime,
+			color_update_time AS colorUpdateTime,
+			color_69code AS  color69code
+		FROM
+			tb_iamberry_product_color
+		<where>
+			<if test="colorId != null and colorId != ''">
+				color_id = #{colorId}
+			</if>
+			<if test="colorProductId != null and colorProductId != ''">
+				AND color_product_id = #{colorProductId}
+			</if>
+		</where>
+	</select>
+
 </mapper>

+ 195 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/agentInfo/AgentOrderHandler.java

@@ -0,0 +1,195 @@
+package com.iamberry.wechat.handles.agentInfo;
+
+import com.iamberry.wechat.core.entity.OrderUtil;
+import com.iamberry.wechat.core.entity.ResultMsg;
+import com.iamberry.wechat.core.entity.WechatUtils;
+import com.iamberry.wechat.core.entity.agentInfo.AgentConfig;
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrder;
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrderItem;
+import com.iamberry.wechat.core.entity.agentInfo.AgentTooth;
+import com.iamberry.wechat.core.entity.cart.OrderPayDto;
+import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.core.entity.order.Order;
+import com.iamberry.wechat.core.entity.product.Product;
+import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.face.agentInfo.AgentInfoService;
+import com.iamberry.wechat.face.agentInfo.AgentOrderService;
+import com.iamberry.wechat.face.cart.ProductInfoService;
+import com.iamberry.wechat.tools.NameUtils;
+import com.iamberry.wechat.tools.ResultInfo;
+import net.sf.json.JSONArray;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * 采购&订单
+ */
+@Controller
+@RequestMapping("/wechat/agentOrder")
+public class AgentOrderHandler {
+    @Autowired
+    private AgentInfoService agentInfoService;
+    @Autowired
+    private ProductInfoService productInfoService;
+    @Autowired
+    private AgentOrderService agentOrderService;
+
+    /**
+     * 获取采购信息
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/getProduce")
+    public ResultMsg getProduce(HttpServletRequest request) {
+        ResultMsg rm = new ResultMsg();
+        //Member member =  WechatUtils.getUserBySession(request);
+        //String agentOpenid = member.getUserOpenid();
+
+        String agentOpenid = "o-icasz5a10CfmJ_s-hvW-Ltqwtc";
+
+        AgentTooth agentTooth = new AgentTooth();
+        agentTooth.setAgentOpenid(agentOpenid);
+        agentTooth = agentInfoService.getAgentTooth(agentTooth);
+        if (agentTooth == null) {
+            rm.setStatus(false);
+            rm.setMessage("未找到该用户!");
+            rm.setResultCode("404");
+            return rm;
+        }
+
+        Product product = new Product();
+        List<Product> productList = productInfoService.listSelectProduct(product);
+
+        for (Product pd : productList) {
+            AgentConfig agentConfig = new AgentConfig();
+            agentConfig.setColorId(pd.getColorId());
+            agentConfig.setAgentId(agentTooth.getAgentId());
+            agentConfig = agentInfoService.getAgentConfig(agentConfig);
+            if (agentConfig != null && agentConfig.getConfigAmount() != null && agentConfig.getConfigAmount() != 0) {
+                pd.setConfigAmount(agentConfig.getConfigAmount());
+            } else {
+                pd.setConfigAmount(pd.getProductDiscount());
+            }
+        }
+        rm.setStatus(true);
+        rm.setMessage("查询成功!");
+        rm.setResultCode("200");
+        rm.setData(productList);
+        return rm;
+    }
+
+    /**
+     * 支付前,调用方法
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping(value = "/payBefore", method = RequestMethod.POST)
+    public ResultMsg payBefore(HttpServletRequest request,AgentOrder agentOrder) throws Exception {
+        ResultMsg msg = new ResultMsg();
+        msg.setStatus(false);
+        msg.setResultCode("400");
+
+        //获取代理商信息
+        Member member =  WechatUtils.getUserBySession(request);
+        String agentOpenid = member.getUserOpenid();
+        AgentTooth agentTooth = new AgentTooth();
+        agentTooth.setAgentOpenid(agentOpenid);
+        agentTooth = agentInfoService.getAgentTooth(agentTooth);
+        if (agentTooth == null) {
+            msg.setMessage("未找到该用户!");
+            return msg;
+        }
+
+        //验证前台传过来的数据是否规范
+        if(!isValiAgentOrder(agentOrder)){
+            msg.setMessage("订单格式内容出错!");
+            return msg;
+        }
+
+        //---------------生成订单 --- start -----------------------
+        JSONArray jsonArray = JSONArray.fromObject(agentOrder.getAgentOrderItemJson());
+        List<AgentOrderItem>  agentOrderItemList = (List) JSONArray.toCollection(jsonArray,AgentOrderItem.class);
+        if(agentOrderItemList == null || agentOrderItemList.size() < 1){
+            msg.setMessage("未选择产品!");
+            return msg;
+        }
+        for(AgentOrderItem agentOrderItem : agentOrderItemList){
+            ProductColor productColor = new ProductColor();
+            productColor.setColorId(agentOrderItem.getColorId());
+            productColor.setColorProductId(agentOrderItem.getProductId());
+            productColor = productInfoService.getProductColor(productColor);
+
+            Product product = productInfoService.getProductByProductId(agentOrderItem.getProductId(),agentOrderItem.getColorId());
+            if(productColor == null || product == null){
+                msg.setMessage("查询产品出错!");
+                return msg;
+            }
+            agentOrderItem.setProductId(product.getProductId());    //产品id
+            agentOrderItem.setColorId(productColor.getColorId());   //颜色id
+            agentOrderItem.setProductType(product.getProductType().getTypeId());    //产品类型id
+            agentOrderItem.setProductRentType(product.getProductRentType());
+        }
+        agentOrderService.addAgentOrder(agentOrder,agentOrderItemList);
+        //---------------生成订单 --- end -----------------------
+
+
+
+
+//        OrderPayDto dto = new OrderPayDto();
+        //回显用户支付过的地址信息
+//        Order order = cartService.getOrderRecentAddress(member.getUserOpenid());
+//        if(order!=null){
+//            HashMap<String,String> map = new HashMap<String,String>();
+//            //map.put("orderId", order.getSalesOrderid());
+//            map.put("salesAddressName", order.getSalesAddressName());
+//            map.put("salesAddressInfo", order.getSalesAddressInfo());
+//            map.put("salesAddressTel", order.getSalesAddressTel());
+//            map.put("salesAddressPostnum", order.getSalesAddressPostnum());
+//            dto.setAddressInfo(map);
+//        }
+//
+//        msg.setResultCode(ResultInfo.SUCCESSCODE);
+//        msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+//        msg.setData(dto);
+//        msg.setStatus(true);
+
+        return msg;
+    }
+
+
+    /**
+     * 支付前的验证
+     * @param agentOrder
+     * @return
+     */
+    public boolean isValiAgentOrder(AgentOrder agentOrder){
+        if(agentOrder.getAgentAddressInfo() == null || agentOrder.getAgentAddressInfo() == ""){
+            return false;
+        }
+        if (agentOrder.getAgentAddressName() == null || agentOrder.getAgentAddressName() == ""){
+            return false;
+        }
+        if (agentOrder.getAgentAddressPostnum() == null || agentOrder.getAgentAddressPostnum() == ""){
+            return false;
+        }
+        if (agentOrder.getAgentAddressTel() == null){
+            return false;
+        }
+        if(agentOrder.getAgentOrderItemJson() == null || agentOrder.getAgentOrderItemJson() == ""){
+            return false;
+        }
+        return true;
+    }
+
+
+}