zhangxinlei1996 5 years ago
parent
commit
6a4af6e148

+ 1 - 0
src/jfw/modules/subscribepay/src/a/init.go

@@ -26,5 +26,6 @@ func init() {
 	xweb.AddAction(&service.Trial{})
 	xweb.AddAction(&service.Order{})
 	xweb.AddAction(&service.EditSub{})
+	xweb.AddAction(&service.OrderListDetails{})
 
 }

+ 56 - 18
src/jfw/modules/subscribepay/src/service/orderListDetails.go

@@ -3,16 +3,18 @@ package service
 import (
 	"errors"
 	"jfw/config"
-	"jfw/public"
 	"log"
 	"strconv"
 	"strings"
 	"time"
 	"util"
 
-	"github.com/go-xweb/xweb"
+	"jfw/public"
 
 	qutil "qfw/util"
+
+	"github.com/go-xweb/xweb"
+	"gopkg.in/mgo.v2/bson"
 )
 
 type OrderListDetails struct {
@@ -22,6 +24,7 @@ type OrderListDetails struct {
 	myOrderPaging     xweb.Mapper `xweb:"/orderListDetails/myOrderPaging"`     //查询订单分页
 	deleteOrder       xweb.Mapper `xweb:"/orderListDetails/deleteOrder"`       //删除订单
 	applyInvoice      xweb.Mapper `xweb:"/orderListDetails/applyInvoice"`      //开发票
+	payCancel         xweb.Mapper `xweb:"/orderListDetails/payCancel"`         //支付成功后,其余订单改为已取消
 }
 
 var (
@@ -194,10 +197,10 @@ func (o *OrderListDetails) DeleteOrder() error {
 		var boo = false
 		if cancel == "cancel" {
 			//取消订单
-			boo = public.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"order_status": -2})
+			boo = util.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"order_status": -2})
 		} else {
 			//删除订单
-			boo = public.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"order_status": -1})
+			boo = util.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"order_status": -1})
 		}
 		o.ServeJson(map[string]interface{}{
 			"success":     boo,
@@ -222,13 +225,13 @@ func (o *OrderListDetails) ApplyInvoice() error {
 	}
 	if applyBill_type == "个人" {
 		applyBill_status = 1
-		updateBl = public.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"applyBill_status": applyBill_status})
+		updateBl = util.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"applyBill_status": applyBill_status})
 
 	} else if applyBill_type == "单位" {
 		applyBill_status = 1                                 //状态
 		applyBill_company = o.GetString("applyBill_company") //公司名
 		applyBill_taxnum = o.GetString("applyBill_taxnum")   //纳税人识别号
-		updateBl = public.Mysql.Update(tableName_order, queryMap, map[string]interface{}{
+		updateBl = util.Mysql.Update(tableName_order, queryMap, map[string]interface{}{
 			"applyBill_company": applyBill_company,
 			"applyBill_taxnum":  applyBill_taxnum,
 			"applyBill_status":  applyBill_status,
@@ -238,7 +241,7 @@ func (o *OrderListDetails) ApplyInvoice() error {
 	//判断条件
 	if updateBl {
 		go func() {
-			orderdata := public.Mysql.FindOne(tableName_order, map[string]interface{}{
+			orderdata := util.Mysql.FindOne(tableName_order, map[string]interface{}{
 				"order_code": order_code,
 			}, "id,filter,user_mail,user_phone,product_type,data_spec,filter_id,order_code,data_count,order_status,order_money,out_trade_no,applybill_type,applybill_company,applybill_taxnum,user_openid,create_time,pay_time,pay_way", "")
 			tt := time.Now()
@@ -252,33 +255,68 @@ func (o *OrderListDetails) ApplyInvoice() error {
 	return nil
 }
 
+//支付成功后,将该订单以外的所有订单状态改为已取消状态 已取消:-2
+func (o *OrderListDetails) PayCancel() bool {
+	order_code := o.GetString("order_code")
+	userId := qutil.ObjToString(o.GetSession("userId"))
+	//	参数:查询语句,不等语句,修改条件
+	bl := util.Mysql.UpdateByNotEqual(tableName_order, bson.M{
+		"user_id":      userId,
+		"product_type": "vip订阅",
+	}, bson.M{
+		"order_code":   order_code,
+		"order_status": orderStatus_deleted,
+	}, bson.M{
+		"order_status": orderStatus_cancel,
+	})
+	return bl
+}
+
 func (o *OrderListDetails) SetRes(res []map[string]interface{}, queryM map[string]interface{}) {
 	for _, v := range res {
-		filter_publishtime := v["filter_publishtime"]
-		if filter_publishtime != nil || filter_publishtime != "" {
-			timeArr := strings.Split(filter_publishtime.(string), "_")
-			if len(timeArr) == 2 {
-				start, err := strconv.ParseInt(timeArr[0], 10, 64)
-				end, erro := strconv.ParseInt(timeArr[1], 10, 64)
-				if err == nil && erro == nil {
-					v["filter_publishtime"] = qutil.FormatDateByInt64(&start, layout_date) + "-" + qutil.FormatDateByInt64(&end, layout_date)
+		if v["filter_publishtime"] != nil {
+			filter_publishtime := v["filter_publishtime"]
+			if filter_publishtime != nil {
+				timeArr := strings.Split(filter_publishtime.(string), "_")
+				if len(timeArr) == 2 {
+					start, err := strconv.ParseInt(timeArr[0], 10, 64)
+					end, erro := strconv.ParseInt(timeArr[1], 10, 64)
+					if err == nil && erro == nil {
+						v["filter_publishtime"] = qutil.FormatDateByInt64(&start, layout_date) + "-" + qutil.FormatDateByInt64(&end, layout_date)
+					}
 				}
 			}
 		}
-		v["filter_id"] = qutil.SE.Encode2Hex(v["filter_id"].(string))
+		if v["filter_id"] != nil {
+			v["filter_id"] = qutil.SE.Encode2Hex(v["filter_id"].(string))
+		}
 		orderMoney := v["order_money"]
 		if orderMoney != nil {
 			v["order_money"] = float64(orderMoney.(int64)) / 100
 		}
-		if v["id"] != nil && orderMoney != nil && v["order_code"] != nil {
+		if v["id"] != nil && v["order_money"] != nil && v["order_code"] != nil {
 			v["token"] = public.GetWaitPayToken(v["id"].(int64), int(orderMoney.(int64)), v["order_code"].(string), v["pay_way"].(string), queryM["user_id"].(string))
 		}
+		if v["pay_time"] != nil && v["product_type"] == "vip订阅" {
+			//TODO 还没录入数据
+			data, err := util.MQFW.FindOne("user", bson.M{"_id": queryM["user_id"]})
+			if len(*data) > 0 && err {
+				v["i_vip_status"] = qutil.ObjToString((*data)["i_vip_status"])
+				v["l_vip_starttime"] = qutil.ObjToString((*data)["l_vip_starttime"])
+				v["l_vip_endtime"] = qutil.ObjToString((*data)["l_vip_endtime"])
+			} else {
+				v["i_vip_status"] = "1"
+				v["l_vip_starttime"] = "1571991460"
+				v["l_vip_endtime"] = "1572596260"
+			}
+		}
 	}
+	log.Println(res)
 }
 
 //查询数据
 func (o *OrderListDetails) Datas(queryM map[string]interface{}, pageNum int) (haveNextPage bool, result []map[string]interface{}, err error) {
-	res := *public.Mysql.Find(tableName_order, queryM, "id,order_code,filter_publishtime,create_time,data_spec,filter_id,filter_keys,order_money,data_count,order_status,pay_way", "create_time desc", -1, 0)
+	res := *util.Mysql.Find(tableName_order, queryM, "id,order_code,filter_publishtime,create_time,data_spec,filter_id,filter_keys,order_money,data_count,order_status,pay_way,product_type,filter,pay_time", "create_time desc", -1, 0)
 	if len(res) > 0 {
 		start := (pageNum - 1) * pagesize_max
 		end := pageNum * pagesize_max

+ 1 - 1
src/web/templates/weixin/dataExport/dataExport_applyInvoice.html

@@ -327,7 +327,7 @@
 					}
 				}
 				if (submitBl){
-					$.post('/front/wxMyOrder/wxApplyInvoice',formParam+"&demo-radio="+$(".type").html(),function(data){ 
+					$.post('/subscribepay/orderListDetails/applyInvoice',formParam+"&demo-radio="+$(".type").html(),function(data){ 
 										if(data.flag){
 											//window.location.href="/front/wxMyorder/wxPaySuccess/" + {{.T.order_code}}
 											sessionStorage.applysuccess="1";

+ 40 - 33
src/web/templates/weixin/dataExport/dataExport_toMyOrder.html

@@ -443,7 +443,7 @@
 			                    text: '确定',
 			                    btnClass: 'btn-primary-0',
 			                    action: function() {
-			                        $.post("/subscribepay/order/deleteOrder", {"id":id,"pageNum":pageIndex,"type":typ},function(data){
+			                        $.post("/subscribepay/orderListDetails/deleteOrder", {"id":id,"pageNum":pageIndex,"type":typ},function(data){
 			                                if(data && data["success"]){
 			                                    var self = $(obj).parent().parent();
 			                                    var parent = self.parent();
@@ -615,7 +615,7 @@
 			                    text: '确定',
 			                    btnClass: 'btn-primary-0',
 			                    action: function() {
-			                        $.post("/subscribepay/order/deleteOrder", {"id":id,"pageNum":pageIndex,"type":typ,"cancel":"cancel"},function(data){
+			                        $.post("/subscribepay/orderListDetails/deleteOrder", {"id":id,"pageNum":pageIndex,"type":typ,"cancel":"cancel"},function(data){
 			                                if(data && data["success"]){
 			                                    $.alert({
 			                                        title:"提示信息",
@@ -714,7 +714,7 @@
 //					sessionStorage.removeItem("payMsg")
 //					sessionStorage.removeItem("deleteIndex")
 					var result = true;
-					$.post("/subscribepay/order/myOrder",{"type":typ},function(data){
+					$.post("/subscribepay/orderListDetails/myOrder",{"type":typ},function(data){
 							$(".loading_").hide();
 							var list=data.res;
 							dataCache =data.res;
@@ -741,7 +741,7 @@
 							wxflag = $(' .main').dropload({
 						        scrollArea : $(".main"),
 						        loadDownFn : function(me){
-									$.post('/subscribepay/order/myOrderPaging', {"pageNum": pageIndex,"type":typ},function(data){
+									$.post('/subscribepay/orderListDetails/myOrderPaging', {"pageNum": pageIndex,"type":typ},function(data){
 											//没有数据
 											if(data.res==null||data.res.length==0){
 												noMoreData(me);
@@ -915,12 +915,19 @@
 	                        //地区
 							var region_vipArr = filter_vip.area;
 	                        var region_vip=""
+	                        var region_city_vip=" "
 	                        for( i in region_vipArr){
 	                        	region_vip+=i;
-	                        	region_vip+=region_vipArr[i];
+	                        	if(Array.isArray(region_vipArr[i])){
+	                        		for( j in region_vipArr[i]){
+	                        			region_city_vip+=region_vipArr[i][j]+" ";
+	                        		}
+	                        	}
+	                        	region_vip+=region_city_vip;
 	                        	region_vip+=" ";
 	                        }
 	                        region_vip=region_vip.replace(/(\s*$)/g, "");
+	                        console.log(region_vip)
 	                        //行业
 	                        var industry_vip = filter_vip.industry+"";	//数组
 	                        industry_vip=industry_vip.replace(/,/g,"、")
@@ -991,7 +998,7 @@
 	                        }
 	                        //vip状态 0不是vip 1试用 2正式
 	                        var status_vip = obj.i_vip_status;
-	                        if (status_vip==0){
+	                        if (orderStatus_vip!="已完成"){
 	                        //未支付 或 已取消
 	                        	listhtml+='<div class="card">'
 											+'<div class="card-header">'
@@ -1016,36 +1023,36 @@
 											+iconHtml
 									+'</div>'
 	                        }else{
-	                       //有效时间
-	                       var starttime_vip= obj.l_vip_starttime;
-	                       var endtime_vip= obj.l_vip_endtime;
-	                       starttime_vip = timestampToTime(starttime_vip)
-	                       endtime_vip = timestampToTime(endtime_vip)
-	                       var effectivetime_vip =starttime_vip+"-"+endtime_vip;
-	                        //已完成
-	                        	listhtml+='<div class="card">'
-											+'<div class="card-header">'
-												+'<span class="time" style="color:#888888">'+createTime_vip+'</span>'
-												+orderHtml
-											+'</div>'
-											+'<div class="card-content">'
-												+'<a  eid='+orderCode_vip+' class="media" isvipOrder="true">'
-													+'<div class="media-img">'
-														+'<img src="/vipsubscribe/image/vip_order.png">'
+			                       //有效时间
+			                       var starttime_vip= obj.l_vip_starttime;
+			                       var endtime_vip= obj.l_vip_endtime;
+			                       starttime_vip = timestampToTime(starttime_vip)
+			                       endtime_vip = timestampToTime(endtime_vip)
+			                       var effectivetime_vip =starttime_vip+"-"+endtime_vip;
+			                        //已完成
+			                        	listhtml+='<div class="card">'
+													+'<div class="card-header">'
+														+'<span class="time" style="color:#888888">'+createTime_vip+'</span>'
+														+orderHtml
 													+'</div>'
-													+'<div class="media-info">'
-														+'<p class="item-ifo ellipsis">区域:'+ region_vip+'</p>'
-														+'<p class="item-ifo ellipsis">行业:'+ industry_vip +'条</p>'
-														+'<p class="item-ifo ellipsis">订阅周期:'+effectiveduration_vip+'</p>'
-														+'<p class="item-ifo ellipsis">有效日期:'+effectivetime_vip+'</p>'
+													+'<div class="card-content">'
+														+'<a  eid='+orderCode_vip+' class="media" isvipOrder="true">'
+															+'<div class="media-img">'
+																+'<img src="/vipsubscribe/image/vip_order.png">'
+															+'</div>'
+															+'<div class="media-info">'
+																+'<p class="item-ifo ellipsis">区域:'+ region_vip+'</p>'
+																+'<p class="item-ifo ellipsis">行业:'+ industry_vip +'条</p>'
+																+'<p class="item-ifo ellipsis">订阅周期:'+effectiveduration_vip+'</p>'
+																+'<p class="item-ifo ellipsis">有效日期:'+effectivetime_vip+'</p>'
+															+'</div>'
+														+'</a>'
+														+'<div class="price">'
+															+'<strong class="current">¥'+orderMoney_vip+'</strong>'
+														+'</div>'
 													+'</div>'
-												+'</a>'
-												+'<div class="price">'
-													+'<strong class="current">¥'+orderMoney_vip+'</strong>'
-												+'</div>'
+													+iconHtml
 											+'</div>'
-											+iconHtml
-									+'</div>'
 	                        }
 	                        
 						}

+ 6 - 2
src/web/templates/weixin/vipsubscribe/vip_order_detail.html

@@ -16,7 +16,11 @@
     <link rel="stylesheet" href="/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="/vipsubscribe/css/vip_order_detail.css?v={{Msg "seo" "version"}}">
 </head>
-
+<style>
+	.person > p >span , .unit > p >span{
+		margin-bottom: .12rem;
+	}
+</style>
 <body>
     <div class="vip_order_detail">
         <main class="main">
@@ -138,7 +142,7 @@ if(signature && signature.length == 4){
 	    });
     }
     $(".orderCode").text(orderCode);
-    $DoPost("/subscribepay/order/getOrderPayAllMsg",{"orderCode":orderCode},function(r){
+    $DoPost("/subscribepay/orderListDetails/getOrderPayAllMsg",{"orderCode":orderCode},function(r){
       if(r.success){
         //下单时间
         if(r.data.order.prepay_time) $(".prepayTime").text(r.data.order.prepay_time.replace("-",".").replace("-","."));