浏览代码

修改订单

wangxiaoming 6 年之前
父节点
当前提交
c77886858e

+ 8 - 0
watero-common-core/src/main/java/com/iamberry/wechat/core/entity/WechatUtils.java

@@ -70,6 +70,14 @@ public class WechatUtils {
 	 * @Time   2016年11月24日
 	 */
 	public static Member getUserBySession(HttpServletRequest request) {
+
+//		Member m = new Member();
+//		m.setUserId(11861);
+//		m.setUserOpenid("o3G6nw7DSmcQwSy3LtNhEcPYMqRI");
+//		if(true){
+//			return m;
+//		}
+
 		//获取一个cookie数组
 		Cookie[] cookies = request.getCookies();
 		if (cookies == null) {

+ 3 - 3
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java

@@ -21,7 +21,7 @@ public class SalesOrder implements Serializable {
     private Integer salesDiscountMoney;     //优惠金额
     private Integer salesPledgeMoney;       //押金金额
     private Integer salesRemainDeposit;     //待提取金额
-    private Integer salesStatus;            //确认状态
+    private Integer salesStatus;            //确认状态  0(未确认)1(确认)2(挂起)3(作废)
     private Integer salesSendType;          //送货方式 1:线下送货,2:物流发货
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
@@ -51,10 +51,10 @@ public class SalesOrder implements Serializable {
     private String salesPayNumber;          //交易尾号
     private Integer salesStoreId;           //店铺id
     private Integer salesCompanyId;         //销售公司id
-    private Integer salesType;              //订单类型
+    private Integer salesType;              //订单类型  1:购买2:租赁
     private String salesDealCode;           //交易号
     private Integer salesOrderStatus;       //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发
-    private Integer salesShippingStatus;    //发货状态
+    private Integer salesShippingStatus;    //发货状态 0(未发货)1(已发货,即已扫描出库)3(备货中)4(收货)
     private Integer salesPayStatus;         //付款状态 0(未付款)2(已付款)
     private Integer salesProcessStatus;     //单据状态
     private Integer salesIsSend;            //是否通知配货

+ 30 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -14,8 +14,10 @@ import com.iamberry.rst.faces.order.OrderBatchService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.ExcelUtil;
+import com.iamberry.rst.utils.GenerateKeyUtil;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
+import net.sf.json.JSONArray;
 import org.apache.commons.lang.StringUtils;
 import org.apache.poi.hssf.usermodel.*;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -592,7 +594,6 @@ public class AdminSalesOrderController {
         return data;
     }
 
-
     @RequestMapping("/to_add_order")
     @RequiresPermissions("salesOrder:add:manual")
     public ModelAndView toAddOrder(HttpServletRequest request) throws Exception {
@@ -603,7 +604,6 @@ public class AdminSalesOrderController {
         return mv;
     }
 
-
     @RequestMapping("/to_add_product")
     @RequiresPermissions("salesOrder:add:manual")
     public ModelAndView toAddProduct(HttpServletRequest request) throws Exception {
@@ -611,6 +611,34 @@ public class AdminSalesOrderController {
         return mv;
     }
 
+    @ResponseBody
+    @RequestMapping("/add_salesOrder")
+    @RequiresPermissions("salesOrder:add:manual")
+    public ResponseJson addSalesOrder(HttpServletRequest request,
+        SalesOrder salesOrder,
+        String orderItemString
+    ) throws Exception {
+        ResponseJson rj = new ResponseJson();
+
+        JSONArray jsonArray = JSONArray.fromObject(orderItemString);
+        List<SalesOrderItem> salesOrderItemList = (List) JSONArray.toCollection(jsonArray, SalesOrderItem.class);
+
+        String dealCode = GenerateKeyUtil.getSalesOrderKey();   //获取交易号
+        salesOrder.setSalesOpenId(dealCode); //身份证号/openid
+        salesOrder.setSalesPledgeMoney(0);  ///押金金额
+        salesOrder.setSalesRemainDeposit(0);     //待提取金额
+        salesOrder.setSalesStatus(0);   //确认状态 未确认
+        salesOrder.setSalesSendType(2); //2:物流发货
+        salesOrder.setSalesCreateTime(new Date());
+        salesOrder.setSalesDealCode(dealCode);  //交易号
+        salesOrder.setSalesType(1); //订单类型  1:购买2:租赁
+        salesOrder.setSalesOrderStatus(1);   //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发
+        salesOrder.setSalesShippingStatus(0);      //发货状态 0(未发货
+
+
+
+        return rj;
+    }
 
     /**
      * 获取店铺集合

+ 12 - 6
watero-rst-web/src/main/java/com/iamberry/rst/utils/ExcelUtil.java

@@ -468,6 +468,7 @@ public class ExcelUtil {
                 if(errorNum > 5){
                     break;
                 }
+                EfastOrder order = new EfastOrder();
 
                 String nameValue = getValue(temp.getCell(nameColumnIndex));  // 读取name
                 String platformOrderIdValue = getValue(temp.getCell(platformOrderColumnIndex));  // 读取平台id
@@ -478,18 +479,23 @@ public class ExcelUtil {
                 String OrderProductBarCodeValue = map.get(getValue(temp.getCell(productColumnIndex)).trim()); // 读取对应的产品id
                 if(StringUtils.isEmpty(nameValue)){
                     errorNum ++;
-                    continue;
+                    order.setReturnStatus("error");
+                    order.setReturnMsg("姓名为空-交易号:"+platformOrderIdValue);
+                    order.setPlatformOrderId("1");
                 }
-                if(StringUtils.isEmpty(userTel)){
+                if(StringUtils.isEmpty(userTel) ){
                     errorNum ++;
-                    continue;
+                    order.setReturnStatus("error");
+                    order.setReturnMsg("手机号码为空-交易号:"+platformOrderIdValue);
+                    order.setPlatformOrderId("1");
                 }
                 if(StringUtils.isEmpty(OrderProductBarCodeValue)){
                     errorNum ++;
-                    continue;
+                    order.setReturnStatus("error");
+                    order.setReturnMsg("交易号出错-交易号:"+platformOrderIdValue);
+                    order.setPlatformOrderId("1");
                 }
 
-                EfastOrder order = new EfastOrder();
                 order.setOrderAddressName(nameValue);
                 if(!StringUtils.isEmpty(platformOrderIdValue)){
                     if (!ValidateUtil.checkString(platformOrderIdValue.trim())) {
@@ -515,7 +521,7 @@ public class ExcelUtil {
                     //temp.getCell(telColumnIndex).setCellStyle(cellStyle);
                     order.setReturnStatus("error");
                     order.setReturnMsg("手机号码不正确");
-                    //continue;
+                    order.setPlatformOrderId("1");
                 }
                 order.setOrderAddressTel(userTel.trim());
 

+ 37 - 0
watero-rst-web/src/main/java/com/iamberry/rst/utils/GenerateKeyUtil.java

@@ -0,0 +1,37 @@
+package com.iamberry.rst.utils;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/***
+ * 用于生成单号
+ */
+public class GenerateKeyUtil {
+
+    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+
+    /*订单交易号前两位,D标识一定为手动增加  */
+    private final static String sd = "D";
+
+    /**
+     * 获取交易号
+     * @return
+     */
+    public static String getSalesOrderKey(){
+        return (sd  + sdf.format(new Date()) + "0" + generateRandomNumber(3));
+    }
+
+
+    /**
+     * 产生4位随机数
+     * @return
+     */
+    protected static long generateRandomNumber(int n) {
+        if (n < 1) {
+            throw new IllegalArgumentException("随机数位数必须大于0");
+        }
+        return (long) (Math.random() * 9 * Math.pow(10, n - 1)) + (long) Math.pow(10, n - 1);
+    }
+
+
+}

+ 138 - 54
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/add_order.ftl

@@ -50,7 +50,7 @@
 </nav>
 <article class="page-container" style="padding: 10px;">
     <div class="pd-20 cl">
-        <form action="${path}/admin/customer/save_customer" method="post" class="form form-horizontal" id="form-customer-add"  onkeydown="if(event.keyCode==13)return false;">
+        <form action="${path}/admin/salesOrder/add_salesOrder" method="post" class="form form-horizontal" id="form-order-add"  onkeydown="if(event.keyCode==13)return false;">
 
             <div class="row cl">
                 <label class="form-label col-3">
@@ -60,50 +60,7 @@
                 </div>
             </div>
 
-           <#-- private static final long serialVersionUID = -2015761953380110553L;
-            private Integer salesId;                //订单id
-            private String salesOrderId;            //订单号
-            private String salesOpenId;             //身份证号/openid
-            private Integer salesDiscountMoney;     //优惠金额
-            private Integer salesPledgeMoney = 0;       //押金金额
-            private Integer salesRemainDeposit = 0;     //待提取金额
-            private Integer salesStatus;            //确认状态
-            private Integer salesSendType = 2;          //送货方式 1:线下送货,2:物流发货
-            private Date salesSendTime = null ;             //发货时间
-            private Date salesSalesTime = new Date();            //订购时间
-            private String salesPostNum;            //快递单号
-            private String salesPostFirm;           //快递公司
-            private String salesAddressInfo = "";        //详细地址
-                private String salesAddressTel;         //收件人电话
-                private String salesAddressName;        //收件人姓名
-                private Integer salesAmount = ;            //订单总金额
-                private Integer salesPayMoney = salesAmount;          //已付金额 = 总金额
-                private Integer salesPayType = 1;           //付款方式 1:微信支付 2:现金支付3:已支付定金¥99 4:刷卡支付 5:支付宝支付
-            private Integer salesWaitMoney;         //待付金额
-            private Integer salesLastMoney;         //本次支付金额
-            private Integer salesShippingFee;       //邮费
-            private Date salesPayTime;              //支付时间
-            private Date salesCreateTime;           //创建时间
-                    private String salesAdminRemark;        //后台的备注 -- 卖家备注
-                    private String salesUserRemark;         //用户备注 --
-            private String salesPayNumber;          //交易尾号
-                private Integer salesStoreId;           //店铺id
-                private Integer salesCompanyId;         //销售公司id
-            private Integer salesType;              //订单类型
-            private String salesDealCode;           //交易号
-            private Integer salesOrderStatus;       //订单状态 订单状态:1:正常        2:换货 3:退货  4:维修  5:补发
-            private Integer salesShippingStatus;    //发货状态
-            private Integer salesPayStatus;         //付款状态
-            private Integer salesProcessStatus;     //单据状态
-            private Integer salesIsSend;            //是否通知配货
-            private Integer salesIsLocked;          //是否锁定
-            private Integer salesIsSeparate;        //是否缺货
-            private Integer salesIsDownload;        //是否下载过
-            private Integer salesMainOrderId;       //主订单id(拆单用)
-            private String orderNoteRemark;         //订单备注,推送到efast
-            private String storeEfast;              //Efast 的店铺id
-                    salesBatchId        、、批次
-            -->
+          
 
             <div class="row cl">
                 <label class="form-label col-1 col-sm-1">批次编号:</label>
@@ -181,6 +138,15 @@
                 <input type="hidden" name="salesAddressInfo" id="salesAddressInfo" >
             </div>
 
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1">支付时间:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" placeholder="购买日期" id="salesPayTime"  name="salesPayTime" datatype="*" class="input-text Wdate" onclick="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate: '%y-%M-%d'})"  readonly="readonly">
+                </div>
+            </div>
+
+
             <div class="row cl">
                 <label class="form-label col-3">
                     <div class="tit-2">商品信息</div>
@@ -192,7 +158,7 @@
             <div class="row cl" id="" style="">
                 <label class="form-label col-1 col-sm-1">商品信息:</label>
                 <div class="formControls col-8 col-sm-8">
-                    <input type="button" class="btn btn-primary" onclick="add_product()" value="添加商品" >
+                    <input type="button" class="btn btn-primary add-order-button" onclick="add_product()" value="添加商品" >
 
                     <table class="table table-border table-bg table-bordered" style="margin-top: 10px;display: none" id="all_add_product">
                         <thead>
@@ -209,19 +175,33 @@
                         </tbody>
                     </table>
 
+                    <input type="hidden" id="orderItemString" name="orderItemString" value="" >
+
                 </div>
             </div>
 
             <div class="row cl" id="" style="">
-                <label class="form-label col-1 col-sm-1">商品价格:</label>
+                <label class="form-label col-1 col-sm-1">总金额:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="总金额" datatype="*" errormsg="必须要输入总金额!" id="salesAmount" name="salesAmount"  >
+                </div>
+                <label class="form-label col-2 col-sm-2">实付金额:</label>
                 <div class="formControls col-2 col-sm-2">
-                    <input type="text" class="input-text" value="" placeholder="订单总价" id="salesAmount" name="salesAmount"  >
+                    <input type="text" class="input-text" value="" placeholder="实付金额" datatype="*" errormsg="必须要输入总金额!" id="salesPayMoney" name="salesPayMoney"  >
                 </div>
+                <div class="formControls col-2 col-sm-2" style="display: none">
+                    <input type="text" class="input-text" value="0" placeholder="优惠金额" datatype="*" errormsg="必须要输入总金额!" id="salesDiscountMoney" name="salesDiscountMoney"  >
+                </div>
+
                 <div class="formControls col-2 col-sm-2">
-                    <input type="text" class="input-text" value="" placeholder="实际总价" id="salesAmount" name="salesAmount" onkeyup="keyFun($(this),999,1)" onpaste="keyFun($(this),999,1)">
+                    <input type="button" style="width: 100%;" class="btn btn-primary add-order-button" onclick="calculatePrice()" value="计算商品总价" >
                 </div>
             </div>
 
+            <input type="hidden" class="input-text" value="" placeholder="待付金额" id="salesWaitMoney" name="salesWaitMoney"  >
+            <input type="hidden" class="input-text" value="" placeholder="本次支付金额" id="salesLastMoney" name="salesLastMoney"  >
+            <input type="hidden" class="input-text" value="" placeholder="邮费" id="salesShippingFee" name="salesShippingFee"  >
+
             <div class="row cl">
                 <label class="form-label col-3">
                     <div class="tit-2">备注信息</div>
@@ -233,7 +213,7 @@
             <div class="row cl" id="" style="">
                 <label class="form-label col-1 col-sm-1">用户备注:</label>
                 <div class="formControls col-6 col-sm-6">
-                    <textarea name="salesUserRemark" id="salesUserRemark" cols="" rows="2" datatype="" errormsg="" class="textarea" placeholder="请填写用户备注,最多支持100字符" onKeyUp="$.Huitextarealength(this,100)"></textarea>
+                    <textarea name="salesUserRemark" id="salesUserRemark" cols="" rows="2"  class="textarea" placeholder="请填写用户备注,最多支持100字符" onKeyUp="$.Huitextarealength(this,100)"></textarea>
                     <#--<span id="addrssMsg"></span>-->
                 </div>
             </div>
@@ -241,7 +221,7 @@
             <div class="row cl" id="" style="">
                 <label class="form-label col-1 col-sm-1">后台备注:</label>
                 <div class="formControls col-6 col-sm-6">
-                    <textarea name="salesAdminRemark" id="salesAdminRemark" cols="" rows="2" datatype="" errormsg="" class="textarea" placeholder="请填写后台备注,最多支持100字符" onKeyUp="$.Huitextarealength(this,100)"></textarea>
+                    <textarea name="salesAdminRemark" id="salesAdminRemark" cols="" rows="2" class="textarea" placeholder="请填写后台备注,最多支持100字符" onKeyUp="$.Huitextarealength(this,100)"></textarea>
                     <#--<span id="addrssMsg"></span>-->
                 </div>
             </div>
@@ -255,6 +235,10 @@
     </div>
 </article>
 
+
+<#--时间控件-->
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+
 <script type="text/javascript">
     var url_path = "${path}";
 </script>
@@ -268,7 +252,7 @@
     });
 
     /*初始化省市区*/
-    $(".address_info").initAddress();
+    var address = $(".address_info").initAddress();
 
     /*初始化销售公司店铺*/
     $(".sales_channel").initSalesChannel();
@@ -280,6 +264,66 @@
         layer_show("商品列表",url_path + "/admin/salesOrder/to_add_product","1000","500");
     }
 
+    $(function(){
+
+        $("#form-order-add").Validform({
+            tiptype: function (msg, o, cssctl) {
+                if (o.type == 3) {//失败
+                    layer.msg(msg, {icon: 5, time: 3000});
+                    $(window).scrollTop(o.obj.offset().top - 40);
+                }
+            },
+            datatype: {//自定义验证类型
+            },
+            ignoreHidden: true,
+            tipSweep: true, //若为true,则只在表单提交时验证
+            ajaxPost: true, //异步提交
+            beforeCheck: function (curform) {  //验证通过之前执行的函数
+                var flag = false;
+            },
+            beforeSubmit: function (curform) {  //验证通过之后执行的函数
+
+                var flag = false;
+                /*封装订单项*/
+                var orderItemArray = new Array();
+                $("#add_product").find("tr").each(function(){
+                    var orderItem = new Object();
+                    orderItem.itemColorId = $(this).find(".color_id").val();
+                    orderItem.itemNum = $(this).find(".item-num").val();
+                    orderItemArray.push(orderItem);
+                    flag = true;
+                })
+                if(!flag){
+                    vailErrorMsg($(".add-order-button"),"必须要有一个产品");
+                    return false;
+                }
+
+                $("#orderItemString").val(JSON.stringify(orderItemArray));
+
+                var index = layer.load(1, {
+                    shade: [0.5,'#fff'] //0.1透明度的白色背景
+                });
+            },
+            callback: function (data) {//异步回调函数
+                if (data) {
+                    var index = layer.alert(data.resultMsg, function (index) {
+                        if (data.resultCode == 200) {
+                            location.href = url_path + "/admin/salesOrder/list_order_page";
+                        } else if(data.resultCode == 505){
+                            location.href = url_path + "/admin/salesOrder/list_order_page";
+                        }else {
+                            layer.close(index);
+                        }
+                    });
+                }
+            }
+        });
+    });
+
+    /**
+     * 选择商品回调
+     * @param colorIds
+     */
     function setSelectProduct(colorIds){
         var index = layer.load(1, {
             shade: [0.5,'#fff'] //0.1透明度的白色背景
@@ -315,23 +359,63 @@
                             var productColor = data.returnMsg.productColorList[i];
                             html += '<tr class="text-c">' +
                                     '<input type="hidden" class="color_id" id="" value="'+ productColor.colorId +'" >' +
+                                    '<input type="hidden" class="color_price" id="" value="'+ productColor.colorPrice +'" >' +
+                                    '<input type="hidden" class="color_discount" id="" value="'+ productColor.colorDiscount +'" >' +
                                     ' <td>'+ cufte(productColor.productName) +'</td>' +
                                     ' <td>'+ cufte(productColor.colorName) +'</td>' +
                                     ' <td>'+ cufte(productColor.colorPrice)/100 +'</td>' +
                                     ' <td>'+ cufte(productColor.colorBar) +'</td>' +
-                                    ' <td><input type="text" class="input-text input-number"  style="width: 100%;border: none;text-align: center;" name="" id="" placeholder="产品数量" onkeyup="keyFun($(this),999,1)" onpaste="keyFun($(this),999,1)"></td>' +
-                                    ' <td><a href="javascript:void(0)" class="del_product all_down" >删除</a></td>' +
+                                    ' <td><input type="text" class="input-text input-number item-num"  style="width: 100%;border: none;text-align: center;" name="" id="" placeholder="产品数量" onkeyup="keyFun($(this),999,1)" onpaste="keyFun($(this),999,1)"></td>' +
+                                    ' <td><a href="javascript:void(0)" class="del_product all_down" onclick="delProduct($(this))" >删除</a></td>' +
                                     ' </tr>';
                         }
                     }else{
                         html = '<tr class="text-c"><td colspan="12">没有搜索到商品,请重试!</td></tr>';
                     }
                     $("#add_product").append(html);
+                    /*计算价格*/
+                    calculatePrice();
                 }
             });
         }
         layer.close(index);
     }
+
+    /**
+     *  删除商品
+     */
+    function delProduct($this){
+        $this.parents("tr").remove();
+    }
+
+    /**
+     * 计算价格
+     */
+    function calculatePrice(){
+        /*总价,折扣价,优惠金额*/
+        var colorDiscountAll = 0,colorPriceAll = 0,salesPayMoneyAll=0;
+        $("#add_product").find("tr").each(function(){
+            var colorDiscount = 0,colorPrice = 0,salesPayMoney=0,itemNum=0;
+            colorDiscount = parseInt($(this).find(".color_discount").val())/100;
+            colorPrice = parseInt($(this).find(".color_price").val())/100;
+            itemNum = $(this).find(".item-num").val();
+            if(!isEmpty(itemNum)){
+                return;
+            }
+            itemNum = parseInt(itemNum);
+            salesPayMoney = colorPrice -colorDiscount;
+            if(salesPayMoney < 0){
+                salesPayMoney = 0;
+            }
+            colorDiscountAll += colorDiscount*itemNum;
+            colorPriceAll += colorPrice*itemNum;
+            salesPayMoneyAll += salesPayMoney*itemNum;
+        })
+        $("#salesAmount").val(colorPriceAll);
+        $("#salesPayMoney").val(colorDiscountAll);
+        $("#salesDiscountMoney").val(salesPayMoneyAll);
+    }
+
 </script>
 </body>
 </html>

+ 78 - 22
watero-rst-web/src/main/webapp/common/js/common/address.js

@@ -1,4 +1,4 @@
-/*** 没事的时候多写写代码 -- ljk */
+/*** 我很帅 -- ljk */
 ;(function($,window,document,undefined){
     //定义Address的构造函数
     var Address = function(ele,opt) {
@@ -6,35 +6,37 @@
         this.addressInfo = {
             provinceNode : ele.find(".init_province"),
             cityNode : ele.find(".init_city"),
-            countryNode : ele.find(".init_country")
-        }
-        this.options = $.extend({}, this.defaults, opt)
+            countryNode : ele.find(".init_country"),
+            provinceId : 0,
+            cityId : 0,
+            countryId :0
+        },
+        this.options = $.extend({}, this.addressInfo, opt)  //opt并入addressInfo集合组成新的集合,然后赋值给 options ,所以一切调用options
     }
     //定义Address的方法
     Address.prototype = {
-        create: function() {
-            this.provinceNode =  this.options.provinceNode;
-            this.cityNode =  this.options.cityNode;
-            this.countryNode =  this.options.countryNode;
-            return this;
-        },
         init: function() {
-            var provinceArray = this.initProvince();
+            this.initProvince();
             return this;
         },
         initProvince:function(){
             var address = this;
-            var $provinceNode = $(this.addressInfo.provinceNode);
+            var $provinceNode = $(this.options.provinceNode);
             $.get(root_path +"/address/list_province", function(result){
                 if (result.returnCode == 200) {
                     $provinceNode.empty();    //清空下拉框
                     $(result.returnMsg.provinceList).each(function (){
                         $provinceNode.append("<option value='"+ this.provinceId +"'>"+ this.province +"</option>");
                     })
-                    $provinceNode.change(function (){
-                        address.initCity($provinceNode.val());
-                    })
-                    address.initCity(result.returnMsg.provinceList[0].provinceId);
+
+                    if(isEmpty($provinceNode.attr("defValue"))){
+                        address.options.provinceId = $provinceNode.attr("defValue");
+                    }else if(!isEmpty(address.options.provinceId)){
+                        address.options.provinceId = result.returnMsg.provinceList[0].provinceId;
+                    }else{
+                        address.options.provinceId = $provinceNode.val();
+                    }
+                    address.setProvince();
                 }else{
                     console.log("省份查询失败");
                 }
@@ -42,7 +44,7 @@
         },
         initCity:function(provinceId){
             var address = this;
-            var $cityNode = $(this.addressInfo.cityNode);
+            var $cityNode = $(this.options.cityNode);
             provinceId = this.cufte(provinceId);
             $.get(root_path +"/address/list_city?provinceId="+provinceId, function(result){
                 if (result.returnCode == 200) {
@@ -50,17 +52,23 @@
                     $(result.returnMsg.cityList).each(function (){
                         $cityNode.append("<option value='"+ this.cityId +"'>"+ this.city +"</option>");
                     })
-                    $cityNode.change(function (){
-                        address.initCountry($cityNode.val());
-                    })
-                    address.initCountry(result.returnMsg.cityList[0].cityId);
+
+                    if(isEmpty($cityNode.attr("defValue"))){
+                        address.options.cityId = $cityNode.attr("defValue");
+                    }else if(!isEmpty(address.options.cityId)){
+                        address.options.cityId = result.returnMsg.cityList[0].cityId;
+                    }else{
+                        address.options.cityId = $cityNode.val();
+                    }
+                    address.setCity();
                 }else{
                     console.log("城市查询失败");
                 }
             });
         },
         initCountry:function(cityId){
-            var $countryNode = $(this.addressInfo.countryNode);
+            var address = this;
+            var $countryNode = $(this.options.countryNode);
             cityId = this.cufte(cityId);
             $.get(root_path +"/address/list_district?cityId="+cityId, function(result){
                 if (result.returnCode == 200) {
@@ -68,11 +76,58 @@
                     $(result.returnMsg.districtList).each(function (){
                         $countryNode.append("<option value='"+ this.districtId +"'>"+ this.district +"</option>");
                     })
+
+                    if(isEmpty($countryNode.attr("defValue"))){
+                        address.options.countryId = $countryNode.attr("defValue");
+                    }else if(!isEmpty(address.options.countryId)){
+                        address.options.countryId = result.returnMsg.districtList[0].districtId;
+                    }else{
+                        address.options.countryId = $countryNode.val();
+                    }
+                    address.setCountry();
                 }else{
                     console.log("区县查询失败");
                 }
             });
         },
+        setProvince:function(){
+            var address = this;
+            var $provinceNode = $(this.options.provinceNode);
+            $provinceNode.val(this.options.provinceId);
+            $provinceNode.change(function (){
+                address.initCity($provinceNode.val());
+            })
+            address.initCity(this.options.provinceId);
+        },
+        setCity:function(){
+            var address = this;
+            var $cityNode = $(this.options.cityNode);
+            $cityNode.val(this.options.cityId);
+            $cityNode.change(function (){
+                address.initCountry($cityNode.val());
+            })
+            address.initCountry(this.options.cityId);
+        },
+        setCountry:function(){
+            var address = this;
+            var $countryNode = $(this.options.countryNode);
+            $countryNode.val(this.options.countryId);
+        },
+        setProvinceId:function(provinceId){
+            this.options.provinceId = provinceId;
+            this.setProvince();
+            return this;
+        },
+        setCityId:function(cityId){
+            this.options.cityId = cityId;
+            this.setCity();
+            return this;
+        },
+        setCountryId:function(countryId){
+            this.options.countryId = countryId;
+            this.setCountry();
+            return this;
+        },
         cufte:function(val) {
             if (undefined == val || null == val||typeof val == undefined || typeof val == 'undefined'|| 'undefined' == val) {
                 val = "";
@@ -84,6 +139,7 @@
     $.fn.initAddress = function(options) {
         var address = new Address(this, options);
         address.init();
+        return address;
     }
 })(jQuery,window,document);
 

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

@@ -54,7 +54,7 @@ function cufte(val) {
 }
 
 /**
- * 该方法用于将Undefined转换为空值
+ * 空值返回false
  * @param val
  */
 function isEmpty(val) {

+ 6 - 11
watero-rst-web/src/main/webapp/common/js/common/salesChannel.js

@@ -1,4 +1,4 @@
-/*** 没事的时候多写写代码 -- ljk */
+/***  -- ljk */
 ;(function($,window,document,undefined){
     //定义SalesChannel的构造函数
     var SalesChannel = function(ele,opt) {
@@ -7,22 +7,17 @@
             companyNode : ele.find(".init_company"),
             storeNode : ele.find(".init_store")
         }
-        this.options = $.extend({}, this.defaults, opt)
+        this.options = $.extend({}, this.salesChannel, opt)
     }
     //定义SalesChannel的方法
     SalesChannel.prototype = {
-        create: function() {
-            this.companyNode =  this.options.companyNode;
-            this.storeNode =  this.options.storeNode;
-            return this;
-        },
         init: function() {
            this.initCompany();
             return this;
         },
         initCompany:function(){
             var salesChannel = this;
-            var $companyNode = $(this.salesChannel.companyNode);
+            var $companyNode = $(this.options.companyNode);
             $.get(root_path +"/admin/salesChannel/select_company", function(result){
                 if (result.returnCode == 200) {
                     $companyNode.empty();    //清空下拉框
@@ -43,7 +38,7 @@
         },
         initStore:function(companyId){
             var salesChannel = this;
-            var $storeNode = $(this.salesChannel.storeNode);
+            var $storeNode = $(this.options.storeNode);
             companyId = cufte(companyId);
             $.get(root_path +"/admin/salesChannel/select_storeInfo?companyId="+companyId, function(result){
                 if (result.returnCode == 200) {
@@ -63,7 +58,7 @@
         },
         setCompany:function(companyId){
             var salesChannel = this;
-            var $companyNode = $(this.salesChannel.companyNode);
+            var $companyNode = $(this.options.companyNode);
             $companyNode.val(companyId);
             $companyNode.change(function (){
                 salesChannel.initStore($companyNode.val());
@@ -71,7 +66,7 @@
             salesChannel.initStore(companyId);
         },
         setStore:function(storeId){
-            var $storeNode = $(this.salesChannel.storeNode);
+            var $storeNode = $(this.options.storeNode);
             $storeNode.val(storeId);
         }
     }

+ 6 - 0
watero-wechat-web/src/main/java/com/iamberry/wechat/handles/giftCard/AgentInfoHandler.java

@@ -2,6 +2,7 @@ package com.iamberry.wechat.handles.giftCard;
 
 import javax.servlet.http.HttpServletRequest;
 
+import com.iamberry.app.tool.log.RatFWLogger;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -26,6 +27,9 @@ import com.iamberry.wechat.tools.StrUtils;
 public class AgentInfoHandler {
 	@Autowired
 	private AgentService agentService;
+
+	@Autowired
+	private RatFWLogger logger;
 	/**
 	 * 查询当前代理商的昵称和头像
 	 * 2017年2月16日
@@ -40,6 +44,8 @@ public class AgentInfoHandler {
 		rm.setMessage("获取用户信息失败!");
 		String openId = WechatUtils.getUserBySession(req).getUserOpenid();
 		AgentInfo agent = agentService.selectAgentByOpenId(openId);
+		System.out.println("获取小代用户信息"+agent.getAgentOpenId());
+		logger.info("获取小代用户信息"+agent.getAgentOpenId());
 		if(agent != null){
 			rm.setStatus(true);
 			rm.setMessage("获取用户信息成功!");

+ 9 - 0
watero-wechat-web/src/main/java/com/iamberry/wechat/handles/giftCard/CardHandler.java

@@ -124,17 +124,26 @@ public class CardHandler {
 	@RequestMapping(value = "/agencyUI")
 	public void agencyUI(HttpServletRequest request,
 			HttpServletResponse response) {
+
 		// 获取当前用户
 		Member member = WechatUtils.getUserBySession(request);
+
+		System.out.println("进入小代理"+member.getUserOpenid());
+		logger.info("进入小代理"+member.getUserOpenid());
+
 		String url = null;
 		List<AgentPayLogs> agentPayLogsList = agentService
 				.selectPayLogHasByOpenid(member.getUserOpenid());
 		if (agentPayLogsList == null || agentPayLogsList.size() == 0) {
+			System.out.println("进入小代理失败"+member.getUserOpenid());
+			logger.info("进入小代理失败"+member.getUserOpenid());
 			url = "/view/gift_card_go_agent.html";
 			dispatcherLink(response, request, url);
 			return;
 		}
 		if (agentPayLogsList.size() > 0) {
+			System.out.println("进入理中心"+member.getUserOpenid());
+			logger.info("进入代理中心"+member.getUserOpenid());
 			url = "/WEB-INF/views/wechat/gift_card_agent_center.html";
 			dispatcherLink(response, request, url);
 			return;