فهرست منبع

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

xian 6 سال پیش
والد
کامیت
e81f75fd6a
36فایلهای تغییر یافته به همراه1127 افزوده شده و 21 حذف شده
  1. 6 6
      watero-common-tool/src/main/java/com/iamberry/wechat/tools/AddrUtil.java
  2. 91 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/StoreShip.java
  3. 2 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/tools/LogisticsInfo.java
  4. 6 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java
  5. 37 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/StoreShipService.java
  6. 37 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/LogisticsInfoService.java
  7. 4 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  8. 56 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/StoreShipServiceImpl.java
  9. 6 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java
  10. 37 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/StoreShipMapper.java
  11. 11 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  12. 95 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/storeShipMapper.xml
  13. 56 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/LogisticsInfoServiceImpl.java
  14. 37 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/LogisticsInfoMapper.java
  15. 91 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/logisticsInfoMapper.xml
  16. 41 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java
  17. 54 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java
  18. 1 1
      watero-rst-web/src/main/resources/watero-rst-orm.xml
  19. 2 0
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_custome_list.ftl
  20. 38 5
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/list_wait_send_order.ftl
  21. 98 0
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/manual_delivery.ftl
  22. 107 3
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl
  23. 1 1
      watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js
  24. 50 0
      wateroPF-common-core/src/main/java/com/iamberry/wechat/core/entity/drp/PlaceInfo.java
  25. 3 0
      wateroPF-wechat-interface/src/main/java/com/iamberry/wechat/face/drp/PlaceWithDrawalsLogsService.java
  26. 5 0
      wateroPF-wechat-interface/src/main/java/com/iamberry/wechat/face/reback/RebackServices.java
  27. 1 0
      wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/drp/PlaceInfoServiceImpl.java
  28. 4 0
      wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/drp/PlaceWithDrawalsLogsServiceImpl.java
  29. 4 0
      wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/PlaceWithDrawalsLogsMapper.java
  30. 5 0
      wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/RebackInfoMapper.java
  31. 11 0
      wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/placeWithDrawalsLogsMapper.xml
  32. 11 1
      wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/rebackInfoMapper.xml
  33. 7 0
      wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/reback/RebackServicesImpl.java
  34. 0 1
      wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/reback/RebackStaticServiceImpl.java
  35. 106 0
      wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/drp/AdminWithDrp.java
  36. 6 0
      wateroPF-wechat-web/src/main/webapp/WEB-INF/views/admin/drp/placeInfolist.jsp

+ 6 - 6
watero-common-tool/src/main/java/com/iamberry/wechat/tools/AddrUtil.java

@@ -1,8 +1,8 @@
 package com.iamberry.wechat.tools;
 
-import org.jsoup.Jsoup;
-import org.jsoup.nodes.Document;
-import org.jsoup.select.Elements;
+//import org.jsoup.Jsoup;
+//import org.jsoup.nodes.Document;
+//import org.jsoup.select.Elements;
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
@@ -61,9 +61,9 @@ public class AddrUtil {
 	public static String getPostCode(String addr) {
 		try {
 			String url = "http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=" + URLEncoder.encode(addr + "邮编", "UTF-8");
-			Document doc = Jsoup.parse(HttpClient431Util.doGet(null, url));
-			Elements rows = doc.select(".op_exactqa_s_answer");
-			return rows.text().trim();
+//			Document doc = Jsoup.parse(HttpClient431Util.doGet(null, url));
+//			Elements rows = doc.select(".op_exactqa_s_answer");
+//			return rows.text().trim();
 		} catch (Exception e) {
 			e.printStackTrace();
 		}

+ 91 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/StoreShip.java

@@ -0,0 +1,91 @@
+package com.iamberry.rst.core.cm;
+
+import  java.util.Date;
+import  java.io.Serializable;
+/**
+ *  类
+ * @author ljk
+ * @Date 2018-09-13
+ */
+public class StoreShip  implements  Serializable{
+    //
+    private Integer storeShipId;
+    //店铺id
+    private Integer storeId;
+    //发货人姓名
+    private String storeShipName;
+    //发货人电话号码
+    private String storeShipTel;
+    //发货人省份
+    private String storeShipProvince;
+    //发货人城市
+    private String storeShipCity;
+    //发货人地址
+    private String storeShipAddress;
+    //创建时间'
+    private Date storeShipCreateDate;
+
+    public Integer getStoreShipId(){
+        return storeShipId;
+    }
+
+    public void setStoreShipId(Integer  storeShipId){
+        this.storeShipId=storeShipId;
+    }
+
+    public Integer getStoreId(){
+        return storeId;
+    }
+
+    public void setStoreId(Integer  storeId){
+        this.storeId=storeId;
+    }
+
+    public String getStoreShipName(){
+        return storeShipName;
+    }
+
+    public void setStoreShipName(String  storeShipName){
+        this.storeShipName=storeShipName;
+    }
+
+    public String getStoreShipTel(){
+        return storeShipTel;
+    }
+
+    public void setStoreShipTel(String  storeShipTel){
+        this.storeShipTel=storeShipTel;
+    }
+
+    public String getStoreShipProvince(){
+        return storeShipProvince;
+    }
+
+    public void setStoreShipProvince(String  storeShipProvince){
+        this.storeShipProvince=storeShipProvince;
+    }
+
+    public String getStoreShipCity(){
+        return storeShipCity;
+    }
+
+    public void setStoreShipCity(String  storeShipCity){
+        this.storeShipCity=storeShipCity;
+    }
+
+    public String getStoreShipAddress(){
+        return storeShipAddress;
+    }
+
+    public void setStoreShipAddress(String  storeShipAddress){
+        this.storeShipAddress=storeShipAddress;
+    }
+
+    public Date getStoreShipCreateDate(){
+        return storeShipCreateDate;
+    }
+
+    public void setStoreShipCreateDate(Date  storeShipCreateDate){
+        this.storeShipCreateDate=storeShipCreateDate;
+    }
+}

+ 2 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/tools/LogisticsInfo.java

@@ -13,6 +13,8 @@ public class LogisticsInfo implements Serializable {
     private String logisticsRstCode;//rst物流公司代码
     private String logisticsEfastCode;//Efast物流公司代码
     private String logisticsOnehundredCode;//快递100物流公司代码
+    //备注
+    private String logisticsReamk;
     private Date createDate;//创建时间
 
     public Integer getLogisticsId() {

+ 6 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java

@@ -230,6 +230,12 @@ public interface SalesOrderService {
      * @return
      */
     Integer confirmSalesOrder(Integer salesId);
+    /**
+     * 分配物流方式
+     * @param salesOrder
+     * @return
+     */
+    Integer distributionExpress(SalesOrder salesOrder);
 
     /**
      * 批量分配快递方式

+ 37 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/StoreShipService.java

@@ -0,0 +1,37 @@
+package com.iamberry.rst.faces.cm;
+
+import com.iamberry.rst.core.cm.StoreShip;
+
+import java.util.List;
+
+/**
+ *  接口
+ * @author ljk
+ * @Date 2018-09-13
+ */
+public interface StoreShipService {
+    /**
+     * 获取集合
+     * @param  storeShip
+     * @return List
+     */
+    List<StoreShip> getStoreShipList(StoreShip  storeShip);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  storeShip
+     */
+    StoreShip  getStoreShipById(Integer  id);
+    /**
+     * 增加数据
+     * @param  storeShip
+     * @return Integer
+     */
+    Integer  save(StoreShip  storeShip);
+    /**
+     * 修改数据
+     * @param  storeShip
+     * @return Integer
+     */
+    Integer  update(StoreShip  storeShip);
+}

+ 37 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/LogisticsInfoService.java

@@ -0,0 +1,37 @@
+package com.iamberry.rst.faces.order;
+
+import com.iamberry.rst.core.tools.LogisticsInfo;
+
+import java.util.List;
+
+/**
+ *
+ * @author ljk
+ * @Date 2018-09-12
+ */
+public interface LogisticsInfoService {
+    /**
+     * 获取集合
+     * @param  logisticsInfo
+     * @return List
+     */
+    List<LogisticsInfo> getLogisticsInfoList(LogisticsInfo logisticsInfo);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  logisticsInfo
+     */
+    LogisticsInfo  getLogisticsInfoById(Integer  id);
+    /**
+     * 增加数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    Integer  save(LogisticsInfo  logisticsInfo);
+    /**
+     * 修改数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    Integer  update(LogisticsInfo  logisticsInfo);
+}

+ 4 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -851,7 +851,10 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         }
         return flag;
     }
-
+    @Override
+    public Integer distributionExpress(SalesOrder salesOrder) {
+        return salesOrderMapper.distributionExpress(salesOrder);
+    }
     @Override
     public Integer listSalesPostFirm(SalesOrder salesOrder) {
         return salesOrderMapper.listSalesPostFirm(salesOrder);

+ 56 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/StoreShipServiceImpl.java

@@ -0,0 +1,56 @@
+package com.iamberry.rst.service.cm;
+
+import com.iamberry.rst.core.cm.StoreShip;
+import com.iamberry.rst.faces.cm.StoreShipService;
+import com.iamberry.rst.service.cm.mapper.StoreShipMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *  接口
+ * @author ljk
+ * @Date 2018-09-13
+ */
+@Service
+public class StoreShipServiceImpl  implements StoreShipService {
+    @Autowired
+    private StoreShipMapper storeShipMapper;
+    /**
+     * 获取集合
+     * @param  storeShip
+     * @return List
+     */
+    @Override
+    public List<StoreShip> getStoreShipList(StoreShip  storeShip){
+        return  storeShipMapper.getStoreShipList(storeShip);
+    }
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  storeShip
+     */
+    @Override
+    public  StoreShip  getStoreShipById(Integer  id){
+        return  storeShipMapper.getStoreShipById(id);
+    }
+    /**
+     * 增加数据
+     * @param  storeShip
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(StoreShip  storeShip){
+        return  storeShipMapper.save(storeShip);
+    }
+    /**
+     * 修改数据
+     * @param  storeShip
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(StoreShip  storeShip){
+        return  storeShipMapper.update(storeShip);
+    }
+}

+ 6 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -183,7 +183,12 @@ public interface SalesOrderMapper {
      * @return
      */
     Integer noticeDistribution(SalesOrder salesOrder);
-
+    /**
+     * 分配物流方式
+     * @param salesOrder
+     * @return
+     */
+    Integer distributionExpress(SalesOrder salesOrder);
     /**
      * 批量分配快递方式
      * @param salesOrder

+ 37 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/StoreShipMapper.java

@@ -0,0 +1,37 @@
+package com.iamberry.rst.service.cm.mapper;
+
+import com.iamberry.rst.core.cm.StoreShip;
+
+import java.util.List;
+
+/**
+ *  接口
+ * @author ljk
+ * @Date 2018-09-13
+ */
+public interface StoreShipMapper {
+    /**
+     * 获取集合
+     * @param  storeShip
+     * @return List
+     */
+    List<StoreShip> getStoreShipList(StoreShip  storeShip);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  storeShip
+     */
+    StoreShip  getStoreShipById(Integer  id);
+    /**
+     * 增加数据
+     * @param  storeShip
+     * @return Integer
+     */
+    Integer  save(StoreShip  storeShip);
+    /**
+     * 修改数据
+     * @param  storeShip
+     * @return Integer
+     */
+    Integer  update(StoreShip  storeShip);
+}

+ 11 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -87,6 +87,9 @@
       <if test="salesStoreId !=null and salesStoreId !=''">
         AND sales_store_id = #{salesStoreId}
       </if>
+      <if test="salesPostFirm !=null and salesPostFirm !=''">
+        AND sales_post_firm = #{salesPostFirm}
+      </if>
       <if test="salesCompanyId !=null and salesCompanyId !=''">
         AND sales_company_id = #{salesCompanyId}
       </if>
@@ -799,7 +802,14 @@
         AND
           sales_id = #{salesId}
     </update>
-
+    <!-- 分配发货方式 -->
+    <update id="distributionExpress" parameterType="SalesOrder">
+        update tb_rst_sales_order_info
+        SET
+        sales_post_firm = #{salesPostFirm}
+        WHERE
+        sales_id = #{salesId}
+    </update>
 
     <!-- 批量分配快递方式 -->
     <update id="listSalesPostFirm" parameterType="SalesOrder" >

+ 95 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/storeShipMapper.xml

@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.rst.service.cm.mapper.StoreShipMapper">
+    <resultMap  id="BaseResultMap" type="StoreShip" >
+        <result    column="store_ship_id"    property="storeShipId" />
+        <result    column="store_id"    property="storeId" />
+        <result    column="store_ship_name"    property="storeShipName" />
+        <result    column="store_ship_tel"    property="storeShipTel" />
+        <result    column="store_ship_province"    property="storeShipProvince" />
+        <result    column="store_ship_city"    property="storeShipCity" />
+        <result    column="store_ship_address"    property="storeShipAddress" />
+        <result    column="store_ship_create_date"    property="storeShipCreateDate" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.store_ship_id,
+        t.store_id,
+        t.store_ship_name,
+        t.store_ship_tel,
+        t.store_ship_province,
+        t.store_ship_city,
+        t.store_ship_address,
+        t.store_ship_create_date
+    </sql>
+    <select id="getStoreShipList" resultMap="BaseResultMap" parameterType="StoreShip" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_store_ship t
+        <where>
+            <if test="storeShipId != null ">
+                AND t.store_ship_id = #{storeShipId}
+            </if >
+            <if test="storeId != null ">
+                AND t.store_id = #{storeId}
+            </if >
+            <if test="storeShipName != null and storeShipName != ''">
+                AND t.store_ship_name  like  CONCAT ('%',#{storeShipName},'%')
+            </if >
+            <if test="storeShipTel != null and storeShipTel != ''">
+                AND t.store_ship_tel  like  CONCAT ('%',#{storeShipTel},'%')
+            </if >
+        </where>
+    </select>
+    <select id="getStoreShipById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_store_ship t
+        where t.store_ship_id= #{storeShipId}
+    </select>
+    <insert id="save" parameterType="StoreShip" >
+        insert into
+        tb_rst_store_ship
+        (
+        store_id,
+        store_ship_name,
+        store_ship_tel,
+        store_ship_province,
+        store_ship_city,
+        store_ship_address
+        )
+        values
+        (
+        #{storeId},
+        #{storeShipName},
+        #{storeShipTel},
+        #{storeShipProvince},
+        #{storeShipCity},
+        #{storeShipAddress}
+        )
+    </insert>
+    <update id="update" parameterType="StoreShip" >
+        update
+        tb_rst_store_ship
+        <set >
+            <if test="storeId != null ">
+                store_id = #{storeId},
+            </if >
+            <if test="storeShipName != null and storeShipName != ''">
+                store_ship_name = #{storeShipName},
+            </if >
+            <if test="storeShipTel != null and storeShipTel != ''">
+                store_ship_tel = #{storeShipTel},
+            </if >
+            <if test="storeShipProvince != null and storeShipProvince != ''">
+                store_ship_province = #{storeShipProvince},
+            </if >
+            <if test="storeShipCity != null and storeShipCity != ''">
+                store_ship_city = #{storeShipCity},
+            </if >
+            <if test="storeShipAddress != null and storeShipAddress != ''">
+                store_ship_address = #{storeShipAddress},
+            </if >
+        </set >
+        where store_ship_id= #{storeShipId}
+    </update>
+</mapper>

+ 56 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/LogisticsInfoServiceImpl.java

@@ -0,0 +1,56 @@
+package com.iamberry.rst.service.order;
+
+import com.iamberry.rst.core.tools.LogisticsInfo;
+import com.iamberry.rst.faces.order.LogisticsInfoService;
+import com.iamberry.rst.service.order.mapper.LogisticsInfoMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *
+ * @author ljk
+ * @Date 2018-09-12
+ */
+@Service
+public class LogisticsInfoServiceImpl  implements LogisticsInfoService {
+    @Autowired
+    private LogisticsInfoMapper logisticsInfoMapper;
+    /**
+     * 获取集合
+     * @param  logisticsInfo
+     * @return List
+     */
+    @Override
+    public List<LogisticsInfo> getLogisticsInfoList(LogisticsInfo  logisticsInfo){
+        return  logisticsInfoMapper.getLogisticsInfoList(logisticsInfo);
+    }
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  logisticsInfo
+     */
+    @Override
+    public  LogisticsInfo  getLogisticsInfoById(Integer  id){
+        return  logisticsInfoMapper.getLogisticsInfoById(id);
+    }
+    /**
+     * 增加数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(LogisticsInfo  logisticsInfo){
+        return  logisticsInfoMapper.save(logisticsInfo);
+    }
+    /**
+     * 修改数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(LogisticsInfo  logisticsInfo){
+        return  logisticsInfoMapper.update(logisticsInfo);
+    }
+}

+ 37 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/LogisticsInfoMapper.java

@@ -0,0 +1,37 @@
+package com.iamberry.rst.service.order.mapper;
+
+import com.iamberry.rst.core.tools.LogisticsInfo;
+
+import java.util.List;
+
+/**
+ *
+ * @author ljk
+ * @Date 2018-09-12
+ */
+public interface LogisticsInfoMapper {
+    /**
+     * 获取集合
+     * @param  logisticsInfo
+     * @return List
+     */
+    List<LogisticsInfo> getLogisticsInfoList(LogisticsInfo  logisticsInfo);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  logisticsInfo
+     */
+    LogisticsInfo  getLogisticsInfoById(Integer  id);
+    /**
+     * 增加数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    Integer  save(LogisticsInfo  logisticsInfo);
+    /**
+     * 修改数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    Integer  update(LogisticsInfo  logisticsInfo);
+}

+ 91 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/logisticsInfoMapper.xml

@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.rst.service.order.mapper.LogisticsInfoMapper">
+    <resultMap  id="BaseResultMap" type="LogisticsInfo" >
+        <result    column="logistics_id"    property="logisticsId" />
+        <result    column="logistics_name"    property="logisticsName" />
+        <result    column="logistics_rst_code"    property="logisticsRstCode" />
+        <result    column="logistics_efast_code"    property="logisticsEfastCode" />
+        <result    column="logistics_onehundred_code"    property="logisticsOnehundredCode" />
+        <result    column="logistics_reamk"    property="logisticsReamk" />
+        <result    column="create_date"    property="createDate" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.logistics_id,
+        t.logistics_name,
+        t.logistics_rst_code,
+        t.logistics_efast_code,
+        t.logistics_onehundred_code,
+        t.logistics_reamk,
+        t.create_date
+    </sql>
+    <select id="getLogisticsInfoList" resultMap="BaseResultMap" parameterType="LogisticsInfo" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_logistics_info t
+        <where>
+            <if test="logisticsId != null ">
+                AND t.logistics_id = #{logisticsId}
+            </if >
+            <if test="logisticsName != null and logisticsName != ''">
+                AND t.logistics_name = #{logisticsName}
+            </if >
+            <if test="logisticsRstCode != null and logisticsRstCode != ''">
+                AND t.logistics_rst_code = #{logisticsRstCode}
+            </if >
+            <if test="logisticsEfastCode != null and logisticsEfastCode != ''">
+                AND t.logistics_efast_code = #{logisticsEfastCode}
+            </if >
+            <if test="logisticsOnehundredCode != null and logisticsOnehundredCode != ''">
+                AND t.logistics_onehundred_code = #{logisticsOnehundredCode}
+            </if >
+        </where>
+    </select>
+    <select id="getLogisticsInfoById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_logistics_info t
+        where t.logistics_id= #{logisticsId}
+    </select>
+    <insert id="save" parameterType="LogisticsInfo" >
+        insert into
+        tb_rst_logistics_info
+        (
+        logistics_name,
+        logistics_rst_code,
+        logistics_efast_code,
+        logistics_onehundred_code,
+        logistics_reamk
+        )
+        values
+        (
+        #{logisticsName},
+        #{logisticsRstCode},
+        #{logisticsEfastCode},
+        #{logisticsOnehundredCode},
+        #{logisticsReamk}
+        )
+    </insert>
+    <update id="update" parameterType="LogisticsInfo" >
+        update
+        tb_rst_logistics_info
+        <set >
+            <if test="logisticsName != null and logisticsName != ''">
+                logistics_name = #{logisticsName},
+            </if >
+            <if test="logisticsRstCode != null and logisticsRstCode != ''">
+                logistics_rst_code = #{logisticsRstCode},
+            </if >
+            <if test="logisticsEfastCode != null and logisticsEfastCode != ''">
+                logistics_efast_code = #{logisticsEfastCode},
+            </if >
+            <if test="logisticsOnehundredCode != null and logisticsOnehundredCode != ''">
+                logistics_onehundred_code = #{logisticsOnehundredCode},
+            </if >
+            <if test="logisticsReamk != null and logisticsReamk != ''">
+                logistics_reamk = #{logisticsReamk},
+            </if >
+        </set >
+        where logistics_id= #{logisticsId}
+    </update>
+</mapper>

+ 41 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -13,6 +13,7 @@ import com.iamberry.rst.faces.cm.CompanyInfoService;
 import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.cm.StoreInfoService;
 import com.iamberry.rst.faces.order.EfastOrderService;
+import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.faces.order.OrderBatchService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.utils.AdminUtils;
@@ -66,6 +67,8 @@ public class AdminSalesOrderController {
     private ProductService productService ;
     @Autowired
     private GenerateKeyUtil generateKeyUtil ;
+    @Autowired
+    private LogisticsInfoService logisticsInfoService;
 
     /**
      * 分页查询订单列表信息
@@ -97,6 +100,7 @@ public class AdminSalesOrderController {
             pagedResult.setTotal(totalNum);
         }
         List<StoreInfo> listStoreInfo = storeInfoService.listStore(new StoreInfo());
+        List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
         salesOrder.setSalesOrderItemList(null);
 
         StitchAttrUtil.getSa()
@@ -104,6 +108,7 @@ public class AdminSalesOrderController {
                 .setModelAndView(salesOrder, mv, "/admin/salesOrder/list_order_page", pagedResult);
 
         mv.addObject("listStoreInfo",listStoreInfo);
+        mv.addObject("logisticsInfoList",logisticsInfoList);
         mv.addObject("identity",identity);
         return mv;
     }
@@ -963,4 +968,40 @@ public class AdminSalesOrderController {
         return rj;
     }
 
+    /**
+     * 分配快递方式
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/distribution_express")
+    @RequiresPermissions("salesOrder:distribution:express")
+    public ResponseJson distributionExpress(HttpServletRequest request,Integer[] salesOrderIds,String orderExpress) throws Exception {
+        ResponseJson rj = ResponseJson.getFAILURE();
+        Integer flag = 0;
+        String errorId = "";
+        for (Integer salesIds:salesOrderIds) {
+            SalesOrder so = new SalesOrder();
+            so.setSalesId(salesIds);
+            so.setSalesPostFirm(orderExpress);
+            try{
+                flag = salesOrderService.distributionExpress(so);
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            if(flag < 1){
+                errorId  += salesIds + ",";
+            }
+        }
+        if(errorId.length() > 0){
+            rj.addResponseKeyValue("errorId",errorId);
+            return rj;
+        }
+        rj = new ResponseJson(200, "分配发货方式成功", 200);
+        return rj;
+    }
+
+
+
 }

+ 54 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -7,6 +7,7 @@ import com.iamberry.rst.core.order.EOrderRequestData;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.cm.SalesOrderService;
+import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.utils.OrderUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.AddrUtil;
@@ -42,6 +43,9 @@ public class AwaitSendController {
 
     @Autowired
     private SalesOrderService salesOrderService;
+    @Autowired
+    private LogisticsInfoService logisticsInfoService;
+
 
     private static final Logger LOGGER = LoggerFactory.getLogger(AwaitSendController.class);
 
@@ -65,6 +69,7 @@ public class AwaitSendController {
                 temp.setSalesOrderItemList(salesOrderService.listSalesOrderItem(item));
             }
         }
+        List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
 
         salesOrder.setSalesOrderItemList(null);
         ModelAndView mv = new ModelAndView("order/salesOrder/list_wait_send_order");
@@ -72,6 +77,7 @@ public class AwaitSendController {
                 .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
                 .setModelAndView(salesOrder, mv, "/admin/await_send/listAwaitSendOrder", pagedResult);
         mv.addObject("req",salesOrder);
+        mv.addObject("logisticsInfoList",logisticsInfoList);
         return mv;
     }
 
@@ -277,4 +283,52 @@ public class AwaitSendController {
         return ResponseJson.getSUCCESS().addResponseKeyValue("json", stringBuilder.toString());
     }
 
+
+    /**
+     * 跳转到手动发货页面
+     *
+     * @return
+     */
+    @RequiresPermissions("salesOrder:confirm:salesOrder")
+    @RequestMapping(value = "/to_manual_delivery")
+    public ModelAndView toDistributionPostFirm(HttpServletRequest request,String salesId) {
+        ModelAndView mv = new ModelAndView("order/salesOrder/manual_delivery");
+        mv.addObject("salesId",salesId);
+        return mv;
+    }
+
+    /**
+     * 手动发货
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("salesOrder:confirm:salesOrder")
+    @RequestMapping("/manual_delivery")
+    public ResponseJson listSalesPostFirm(HttpServletRequest request, SalesOrder salesOrder) {
+        ResponseJson rj = ResponseJson.getFAILURE();
+        if(salesOrder == null){
+            return rj;
+        }
+        if(salesOrder.getSalesPostFirm() == null || salesOrder.getSalesPostNum() == null || salesOrder.getSalesId() == null){
+            return rj;
+        }
+        salesOrder.setSalesSendTime(new Date());
+        salesOrder.setSalesShippingStatus(1);
+        salesOrder.setSalesSendType(2);
+        /*分配到该批次下的所有订单*/
+        Integer flag = 0;
+        try{
+            flag = salesOrderService.updateSalesOrder(salesOrder);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        if(flag < 0){
+            return rj;
+        }else{
+            rj = ResponseJson.getSUCCESS();
+            return rj;
+        }
+
+    }
 }

+ 1 - 1
watero-rst-web/src/main/resources/watero-rst-orm.xml

@@ -178,9 +178,9 @@
 
 		<mapper resource="com/iamberry/rst/service/order/mapper/orderMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/order/mapper/orderBatchMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/order/mapper/logisticsInfoMapper.xml"/>
 
 		<mapper resource="com/iamberry/rst/service/cm/mapper/inventoryLogMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/inventoryMapper.xml"/>
-
 	</mappers>
 </configuration>

+ 2 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_custome_list.ftl

@@ -53,6 +53,7 @@
                         <#--<input type="checkbox" class="selectAll" id="selectAll" value="selectAll" >-->
                     </th>
                     <th width="50">客诉编号</th>
+                    <th width="50">昵称</th>
                     <th width="50">姓名</th>
                     <th width="50">电话</th>
                     <th width="50">问题简述</th>
@@ -143,6 +144,7 @@
                         html += '<tr class="text-c">' +
                                 ' <td><input type="radio" class="customer_id" id="" value="'+ customer.customerId +'" ></td>' +
                                 ' <td>'+ cufte(customer.customerId) +'</td>' +
+                                ' <td>'+ cufte(customer.customerWechatName) +'</td>' +
                                 ' <td>'+ cufte(customer.customerName) +'</td>' +
                                 ' <td>'+ cufte(customer.customerTel) +'</td>' +
                                 ' <td style="text-align: left">'+ cufte(customer.describeTitle) +'</td>' +

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 38 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/list_wait_send_order.ftl


+ 98 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/manual_delivery.ftl

@@ -0,0 +1,98 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+<#include "/base/add_base.ftl">
+    <title>手动发货</title>
+    <style>
+        .my-title{font-weight: 500;padding-left: 15px;position: relative;}
+        .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
+        .my-input{padding: 8px 5px;width: 80%;border:1px solid rgba(0,0,0,.1);}
+        .my-input-date{padding: 8px 10px;border:1px solid rgba(0,0,0,.1);width: 80%;background: url(http://s.iamberry.com/images/rili-1.png) 98.5% center no-repeat; background-size:auto 50%;}
+        .input-box{margin: 18px 0;}
+        .input-dic{float: left;margin:5px 10px 0 0;font-size: 12px;}
+        .add-list{list-style-type: none;padding: 10px;background-color: #f5f5f5;width: 60%;float: left;margin: 0;}
+        .add-list>li{margin: 10px 0;}
+        .my-textarea{padding: 5px 10px;width: 80%;border:1px solid rgba(0,0,0,.1);}
+        .my-btn-reset{padding: 10px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-btn-submit{padding: 10px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;width: 60%; height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(http://s.iamberry.com/images/select-1.png) right center no-repeat #fff;background-size:auto 100%;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+    </style>
+    <meta name="keywords" content="${path}">
+    <meta name="description" content="H-ui.admin v3.0,是一款由国人开发的轻量级扁平化网站后台模板,完全免费开源的网站后台管理系统模版,适合中小型CMS后台系统。">
+</head>
+<body>
+<article class="page-container">
+    <form class="form form-horizontal" id="form-admin-add">
+        <div class="input-box"  >
+            <span class="input-dic spanhidth" style="margin-top: 5px;margin-left: 110px;">快递方式:</span>
+            <select class="my-select" name="salesPostFirm" id="salesPostFirm" style="height: 36px;width: 200px">
+                <option value="sto">申通快递</option>
+                <option value="yto">圆通快递</option>
+                <option value="sf">顺丰快递</option>
+                <option value="ems">邮政EMS</option>
+                <option value="zto">中通快递</option>
+                <option value="zjs">宅急送</option>
+                <option value="yunda">韵达快递</option>
+                <option value="cces">cces快递</option>
+                <option value="pick">上门提货</option>
+                <option value="htky">汇通快递</option>
+                <option value="ttkdex">天天快递</option>
+                <option value="stars">星晨急便</option>
+                <option value="jd">京东快递</option>
+                <option value="01">其他</option>
+                <option value="02">上门送货</option>
+            </select>
+        </div>
+
+        <div class="input-box"  >
+            <span class="input-dic spanhidth" style="margin-top: 5px;margin-left: 110px;">快递单号:</span>
+            <input type="text" class="input-text" style="height: 36px;width: 200px;margin-left: 10px;" value="" placeholder="快递单号" id="salesPostNum" name="salesPostNum">
+        </div>
+
+        <div style="text-align:center;" >
+        <#if salesId??>
+            <input type="hidden" value="${salesId!''}" id="salesId" name="salesId">
+        </#if>
+            <button type="button" class="my-btn-submit" onclick="listSalesPostFirm();">确认发货</button>
+        </div>
+
+    </form>
+</article>
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+<script type="text/javascript">
+
+    /**
+     * 分配快递方式
+     */
+    function listSalesPostFirm(){
+        var salesId = $("#salesId").val();
+        var salesPostFirm = $("#salesPostFirm").val();
+        var salesPostNum = $("#salesPostNum").val();
+        $.ajax('${path}/admin/await_send/manual_delivery?dates=' + new Date().getTime(), {
+            data: {"salesPostFirm":salesPostFirm,"salesPostNum" : salesPostNum,"salesId":salesId},
+            dataType: 'json',
+            type: 'post',
+            timeout: 15000,
+            success: function(dt) {
+                layer.msg('手动发货成功',{icon: 1,time:1000},function () {
+                    window.parent.location.reload();
+                    var index = parent.layer.getFrameIndex(window.name);
+                    parent.layer.close(index)
+                });
+            },
+            error: function(xhr, type, errorThrown) {
+                layer.msg("手动发货失败,请重试!", {icon: 5, time: 3000});
+            }
+        });
+    }
+
+</script>
+</body>
+</html>

+ 107 - 3
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl

@@ -244,12 +244,16 @@
                                 <font color=#06c>修改</font>
                             </a><br/>
                         </#if>
-
+                        <#if order.salesStatus == 0>
+                        <a style="text-decoration:none" href="javascript:void(0);" title="确认订单" onclick="confirm_one(${order.salesId!''})">
+                            <font color=#06c>确认订单</font>
+                        </a><br/>
+                        </#if>
                     </td>
                 </tr>
                 </#list>
             <#else>
-            <tr><td colspan="15" class="td-manage text-c" >暂时没有客诉信息,请添加!</td></tr>
+            <tr><td colspan="15" class="td-manage text-c" >暂时没有订单信息,请添加!</td></tr>
             </#if>
             </tbody>
         </table>
@@ -258,11 +262,39 @@
             <div style="float: left;margin-top: 20px;">
                 <button type="button" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 35px;" id="" onclick="noticeDistribution()">通知配货</button>
                 <button type="button" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 35px;" id="" onclick="confirmOrder()">确认订单</button>
+                <button type="button" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 35px;" id="" onclick="distribution_express()">分配快递公司</button>
             </div>
         </#if>
 
     </div>
 </div>
+
+<!-- 同步订单状态 -->
+<div class="layui-layer layui-anim layui-layer-iframe" id="layui-Express" times="4" showtime="0" contype="string" style="display:none;z-index: 10; width: 400px; height: 260px; position: absolute; top: 100px; left: 379px;">
+    <form action="" method="post" class="form form-horizontal" id="form-admin-Express">
+        <div class="layui-layer-title" style="cursor: move;" move="ok">同步订单</div>
+        <br>
+        <div class="row cl">
+            <label class="form-label col-4" style="float: left;"><span class="c-red">*</span>&nbsp;快递公司:</label>
+            <div style="float: left;box-sizing: border-box;min-height: 1px;">
+                <select class="select" id="orderExpress" name="orderExpress">
+                    <#list logisticsInfoList as logisticsInfo>
+                        <option value="${logisticsInfo.logisticsRstCode}">${logisticsInfo.logisticsName}</option>
+                    </#list>
+                </select>
+            </div>
+            <div class="col-4"></div>
+        </div>
+        <br>
+        <div class="col-9 col-offset-3">
+            <input class="btn btn-primary radius" onclick="distributionOrderExpress()" type="button" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
+        </div>
+    </form>
+    <span class="layui-layer-setwin">
+        <a class="layui-layer-ico layui-layer-close layui-layer-close1" onclick="exitWindowsDiv(this);" href="javascript:;"></a>
+    </span>
+</div>
+
 <tfoot>
 <#include "/base/page_util.ftl">
 <script type="text/javascript" src="${path}/common/lib/ueditor/1.4.3/ueditor.config.js"></script>
@@ -447,7 +479,7 @@
 
 
         /**
-         * 确认订单
+         * 批量确认订单
          */
         function confirmOrder(){
             var index = layer.load(1, {
@@ -486,6 +518,47 @@
         }
 
 
+        function distribution_express(){
+            $("#layui-Express").show();
+        }
+
+        function distributionOrderExpress(){
+            var index = layer.load(1, {
+                 shade: [0.5,'#fff'] //0.1透明度的白色背景
+             });
+             var salesOrderIds = "";
+             $(".sales_id:checked").each(function(){
+                 var val = $(this).val();
+                 if(isEmpty(salesOrderIds)){
+                     salesOrderIds += ","+val
+                 }else{
+                     salesOrderIds = val
+                 }
+             })
+            var orderExpress = $("#orderExpress").val();
+             $.ajax({
+                 type:'POST',
+                 url: '${path}/admin/salesOrder/distribution_express',
+                data:{
+                    "salesOrderIds" : salesOrderIds,
+                    "orderExpress" : orderExpress
+                },
+                dataType: 'json',
+                success:function(res) {
+                    if(res.resultCode == 200 && res.returnCode == 200){
+                        location.reload();
+                    }else{
+                        layer.alert("分配发货异常!", function(index){
+                            layer.close(index);
+                        });
+                        layer.close(index);
+                    }
+                    return false;
+                }
+            });
+        }
+
+
        /* function submitSynOrder() {
             var efastOrderId = $.trim($('#efastOrderId').val());
             if(efastOrderId == null || efastOrderId == ""){
@@ -565,6 +638,37 @@
             });
 
         })
+
+
+        /**
+         * 确认订单
+         */
+        function confirm_one(salesId){
+            var index = layer.load(1, {
+                shade: [0.5,'#fff'] //0.1透明度的白色背景
+            });
+
+            var salesOrderIds = salesId;
+            $.ajax({
+                type:'POST',
+                url: '${path}/admin/salesOrder/confirm_salesOrder',
+                data:{
+                    "salesOrderIds" : salesOrderIds
+                },
+                dataType: 'json',
+                success:function(res) {
+                    if(res.resultCode == 200 && res.returnCode == 200){
+                        location.reload();
+                    }else{
+                        layer.alert("确认订单异常!", function(index){
+                            layer.close(index);
+                        });
+                        layer.close(index);
+                    }
+                    return false;
+                }
+            });
+        }
     </script>
 </body>
 </html>

+ 1 - 1
watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

@@ -27,7 +27,7 @@ $(function(){
         }else{
             $("#selectCustomer").show();
             $("#salesCustomer").show();
-            $("#salesCustomerIdHtml").html("未选择客编号!");
+            $("#salesCustomerIdHtml").html("未选择客编号!");
         }
     })
 })

+ 50 - 0
wateroPF-common-core/src/main/java/com/iamberry/wechat/core/entity/drp/PlaceInfo.java

@@ -74,6 +74,14 @@ public class PlaceInfo implements java.io.Serializable {
     private int salesVolumes;               //销售数量
     private int allReback;                 //总提成
 
+    private Integer allAmount;  //应该返利总金额
+    private Integer cancelAmount;  //取消返利总金额
+
+    private Integer proposedAmount;  //提现已处理金额
+    private Integer proposedUnAmount;  //提现未处理金额
+
+    private Integer rebateAllAmount;  //待返利金额
+
     public String getQrcodeUrl() {
         return qrcodeUrl;
     }
@@ -347,6 +355,48 @@ public class PlaceInfo implements java.io.Serializable {
         this.allReback = allReback;
     }
 
+    public Integer getAllAmount() {
+        return allAmount;
+    }
+
+    public void setAllAmount(Integer allAmount) {
+        this.allAmount = allAmount;
+    }
+
+    public Integer getCancelAmount() {
+        return cancelAmount;
+    }
+
+    public void setCancelAmount(Integer cancelAmount) {
+        this.cancelAmount = cancelAmount;
+    }
+
+    public Integer getProposedAmount() {
+        return proposedAmount;
+    }
+
+    public void setProposedAmount(Integer proposedAmount) {
+        this.proposedAmount = proposedAmount;
+    }
+
+
+
+    public Integer getRebateAllAmount() {
+        return rebateAllAmount;
+    }
+
+    public void setRebateAllAmount(Integer rebateAllAmount) {
+        this.rebateAllAmount = rebateAllAmount;
+    }
+
+    public Integer getProposedUnAmount() {
+        return proposedUnAmount;
+    }
+
+    public void setProposedUnAmount(Integer proposedUnAmount) {
+        this.proposedUnAmount = proposedUnAmount;
+    }
+
     @Override
     public String toString() {
         return "PlaceInfo [id=" + id + ", supperId=" + supperId

+ 3 - 0
wateroPF-wechat-interface/src/main/java/com/iamberry/wechat/face/drp/PlaceWithDrawalsLogsService.java

@@ -52,4 +52,7 @@ public interface PlaceWithDrawalsLogsService {
 	
 	//获取所有的提现记录  可支持条件查询
 	public List<PlaceWithDrawalsLogs> selectAllMore(PlaceWithDrawalsLogs placeWithDrawalsLogs);
+
+	//获取所有的提现的钱
+	public Integer selectAllMoney(PlaceWithDrawalsLogs placeWithDrawalsLogs);
 }

+ 5 - 0
wateroPF-wechat-interface/src/main/java/com/iamberry/wechat/face/reback/RebackServices.java

@@ -106,4 +106,9 @@ public interface RebackServices {
 	 * 获取总提成
 	 */
 	public int getAllReback(RebackInfo rebackInfo);
+
+	/**
+	 * 获取取消返利
+	 */
+	public int getAllRebackByStatus(RebackInfo rebackInfo);
 }

+ 1 - 0
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/drp/PlaceInfoServiceImpl.java

@@ -201,6 +201,7 @@ public class PlaceInfoServiceImpl implements PlaceInfoService {
 	 * 分销商-商户信息管理列表查询
 	 * @return
 	 */
+	@Override
 	public List getPlaceInfoList(PlaceInfo placeInfo){
 		placeInfo.getPage().initRecordBegin();
 		List<PlaceInfo> lists=placeInfoMapper.selectAll(placeInfo);

+ 4 - 0
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/drp/PlaceWithDrawalsLogsServiceImpl.java

@@ -348,4 +348,8 @@ public class PlaceWithDrawalsLogsServiceImpl implements
 		// TODO Auto-generated method stub
 		return placeWithDrawalsLogsMapper.selectAllMore(placeWithDrawalsLogs);
 	}
+	@Override
+	public Integer selectAllMoney(PlaceWithDrawalsLogs placeWithDrawalsLogs){
+		return placeWithDrawalsLogsMapper.selectAllMoney(placeWithDrawalsLogs);
+	}
 }

+ 4 - 0
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/PlaceWithDrawalsLogsMapper.java

@@ -39,4 +39,8 @@ public interface PlaceWithDrawalsLogsMapper {
 		 */
 		public int getTotalMoneyByPlaceId(int placeId);
 
+
+	//获取所有的提现的钱
+	public Integer selectAllMoney(PlaceWithDrawalsLogs placeWithDrawalsLogs);
+
 }

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

@@ -151,4 +151,9 @@ public interface RebackInfoMapper {
 	 * 获取总提成
 	 */
 	public int getAllReback(RebackInfo rebackInfo);
+
+	/**
+	 * 获取取消返利
+	 */
+	public int getAllRebackByStatus(RebackInfo rebackInfo);
 }

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

@@ -197,4 +197,15 @@
  		where PLACE_WITHDRAWALS_PLACE_ID = #{id} and PLACE_STATUS =2
   </select>
 
+	<select id="selectAllMoney" parameterType="PlaceWithDrawalsLogs" resultType="Integer">
+		SELECT
+			IFNULL(sum(PLACE_WITHDRAWALS_NUM),0) toTalMoney
+		FROM
+			tb_iamberry_place_withdrawals_logs
+		WHERE
+			PLACE_WITHDRAWALS_PLACE_ID = #{placeId}
+		and PLACE_STATUS = #{status}
+	</select>
+
+
 </mapper>

+ 11 - 1
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/rebackInfoMapper.xml

@@ -721,5 +721,15 @@ m left join tb_iamberry_place_info b on b.place_openid=m.reback_to_openid
 		AND reback_status in (1,2)
 	</select>
 
+	<!-- 获取取消返利-->
+	<select id="getAllRebackByStatus" parameterType="RebackInfo" resultType="integer">
+		SELECT
+		ifnull(SUM(t.reback_money),0)
+		FROM
+		tb_iamberry_reback t
+		WHERE t.reback_user_id = #{userId}
+		AND reback_status = #{status}
+	</select>
+
 
- </mapper>
+</mapper>

+ 7 - 0
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/reback/RebackServicesImpl.java

@@ -474,4 +474,11 @@ public class RebackServicesImpl implements RebackServices {
 		return rebackInfoMapper.getAllReback(rebackInfo);
 	}
 
+	/**
+	 * 获取取消返利
+	 */
+	public int getAllRebackByStatus(RebackInfo rebackInfo){
+		return rebackInfoMapper.getAllRebackByStatus(rebackInfo);
+	}
+
 }

+ 0 - 1
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/reback/RebackStaticServiceImpl.java

@@ -880,5 +880,4 @@ public class RebackStaticServiceImpl implements RebackStaticService {
 		double getRebatemount  = rebackInfoMapper.getRebatemount(map);
 		return getRebatemount;
 	}
-
 }

+ 106 - 0
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/drp/AdminWithDrp.java

@@ -9,6 +9,7 @@ import com.iamberry.wechat.core.entity.banner.MessageDTO;
 import com.iamberry.wechat.core.entity.drp.*;
 import com.iamberry.wechat.core.entity.flow.TemplateInfo;
 import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.core.entity.reback.RebackInfo;
 import com.iamberry.wechat.face.admin.SystemService;
 import com.iamberry.wechat.face.drp.DrpRoleInfoService;
 import com.iamberry.wechat.face.drp.PlaceInfoService;
@@ -18,7 +19,9 @@ import com.iamberry.wechat.face.flow.TemplateInfoService;
 import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.face.order.AdminOrderService;
 import com.iamberry.wechat.face.qrcode.QrcodeService;
+import com.iamberry.wechat.face.reback.RebackServices;
 import com.iamberry.wechat.face.reback.RebackStaticService;
+import com.iamberry.wechat.service.reback.RebackStaticServiceImpl;
 import com.iamberry.wechat.service.wechat.WeChatServiceImpl;
 import com.iamberry.wechat.tools.*;
 import jxl.Sheet;
@@ -47,6 +50,7 @@ import java.net.URL;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
@@ -72,6 +76,8 @@ public class AdminWithDrp {
     @Autowired
     private RebackStaticService rebackStaticService;
     @Autowired
+    private RebackServices rebackServices;
+    @Autowired
     private QrcodeService qrcodeService;
     @Autowired
     private DrpRoleInfoService drpRoleInfoService;
@@ -554,6 +560,106 @@ public class AdminWithDrp {
 
 
     /**
+     * 下载导出返利
+     */
+    @ResponseBody
+    @RequestMapping(value = "/downloadRe")
+    public ModelAndView downloadRe(HttpServletRequest request){
+        PlaceInfo pinfo = new PlaceInfo();
+        PageBean pageBean = new PageBean();
+        pageBean.setPageSize(1000000);
+        pageBean.setPageNumber(1);
+        pinfo.setPage(pageBean);
+        List<PlaceInfo> list = placeInfoService.getPlaceInfoList(pinfo);
+
+        for (PlaceInfo pi : list){
+            RebackInfo rebackInfo = new RebackInfo();
+
+            RebackInfo ri1 = new RebackInfo();
+            ri1.setUserId(pi.getId());
+            ri1.setStatus(1);
+            int rebateAmount = rebackServices.getAllRebackByStatus(ri1);
+            pi.setRebateAllAmount(rebateAmount);
+
+            rebackInfo.setUserId(pi.getId());
+            rebackInfo.setStatus(2);
+            int allAmount = rebackServices.getAllRebackByStatus(rebackInfo);
+            pi.setAllAmount(allAmount);
+
+            RebackInfo ri = new RebackInfo();
+            ri.setUserId(pi.getId());
+            ri.setStatus(3);
+            int cancelAmount = rebackServices.getAllRebackByStatus(ri);
+            pi.setCancelAmount(cancelAmount);
+
+            PlaceWithDrawalsLogs placeWithDrawalsLogs = new PlaceWithDrawalsLogs();
+            placeWithDrawalsLogs.setPlaceId(pi.getId());
+            placeWithDrawalsLogs.setStatus(2);
+            int proposedAmount = placeWithDrawalsLogsService.selectAllMoney(placeWithDrawalsLogs);
+            pi.setProposedAmount(proposedAmount);
+
+            placeWithDrawalsLogs.setPlaceId(pi.getId());
+            placeWithDrawalsLogs.setStatus(1);
+            int proposedUnAmount = placeWithDrawalsLogsService.selectAllMoney(placeWithDrawalsLogs);
+            pi.setProposedUnAmount(proposedUnAmount);
+        }
+
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        // 准备model
+        Map<String, Object> model = new HashMap<String, Object>();
+        model.put("fileName", "上海WaterOPF分销");	// 下载文件名称
+        // 标题
+        List<String> titles = new ArrayList<String>();
+        titles.add("商户ID");
+        titles.add("商户名称");
+        titles.add("真实姓名");
+        titles.add("金额(元)");
+        titles.add("待返利金额(元)");
+//        titles.add("记录-待返利金额(元)");
+        titles.add("返利记录总金额(元)");
+//        titles.add("记录-取消返利(元)");
+        titles.add("提现未处理");
+        titles.add("提现已处理");
+        titles.add("角色");
+        titles.add("下线用户");
+        titles.add("是否激活");
+        titles.add("联系方式");
+        titles.add("激活码");
+        titles.add("创建时间");
+
+        model.put("titles", titles);
+        List<List<Object>> countexts = new ArrayList<List<Object>>();
+        for (PlaceInfo info : list) {
+            List<Object> row = new ArrayList<Object>();
+            row.add(info.getId());
+            row.add(info.getName() == null ?"":info.getName());
+            row.add(info.getUserName() == null ?"":info.getName());
+            row.add("".equals(info.getAmount() + "")?"0":info.getAmount()/100);
+            row.add("".equals(info.getRebatePending() + "")?"0":info.getRebatePending()/100);
+
+            row.add("".equals(info.getAllAmount() + "")?"0":info.getAllAmount()/100);
+
+            row.add("".equals(info.getProposedAmount() + "")?"0":info.getProposedAmount()/100);
+            row.add("".equals(info.getProposedUnAmount() + "")?"0":info.getProposedUnAmount()/100);
+
+            row.add(info.getRoleName() == null?"":info.getRoleName());
+            row.add("".equals(info.getOfflineubscriber() + "")?"0":info.getOfflineubscriber());
+            row.add( info.getOpenid() == null||"".equals(info.getOpenid())?"0":info.getOpenid());
+            row.add(info.getTel() == null?"":info.getTel());
+            row.add(info.getInitCode() == null?"":info.getInitCode());
+            row.add(info.getCreateDate() == null?"": formatter.format(info.getCreateDate()));
+            countexts.add(row);
+        }
+        model.put("varList", countexts);
+
+        ObjectExcelView erv = new ObjectExcelView();
+        ModelAndView mv = new ModelAndView(erv, model);
+        return mv;
+    }
+
+
+    /**
      * 后台-Drp分销管理主界面 --> 获取公司分销员的下线列表
      *
      * @param pageNO

+ 6 - 0
wateroPF-wechat-web/src/main/webapp/WEB-INF/views/admin/drp/placeInfolist.jsp

@@ -45,6 +45,8 @@
 		<button name="" id="submitBtn" onclick="return dataCheck();" class="btn btn-success radius" type="submit">
 			<i class="Hui-iconfont"></i> 搜索
 		</button>
+
+		<div onclick="return download();">下载订单</div>
 	</form>
 	<form id="goodsform" >
 		<div class="cl pd-5 bg-1 bk-gray mt-20">
@@ -383,6 +385,10 @@ function downLoadList() {
 	 
 }
 
+function  download() {
+    window.location="/wateroPF/admin/drp/downloadRe";
+}
+
 /**
  * 用于刷新页面
  */