|
@@ -3,16 +3,18 @@ package service
|
|
import (
|
|
import (
|
|
"errors"
|
|
"errors"
|
|
"jfw/config"
|
|
"jfw/config"
|
|
- "jfw/public"
|
|
|
|
"log"
|
|
"log"
|
|
"strconv"
|
|
"strconv"
|
|
"strings"
|
|
"strings"
|
|
"time"
|
|
"time"
|
|
"util"
|
|
"util"
|
|
|
|
|
|
- "github.com/go-xweb/xweb"
|
|
|
|
|
|
+ "jfw/public"
|
|
|
|
|
|
qutil "qfw/util"
|
|
qutil "qfw/util"
|
|
|
|
+
|
|
|
|
+ "github.com/go-xweb/xweb"
|
|
|
|
+ "gopkg.in/mgo.v2/bson"
|
|
)
|
|
)
|
|
|
|
|
|
type OrderListDetails struct {
|
|
type OrderListDetails struct {
|
|
@@ -22,6 +24,7 @@ type OrderListDetails struct {
|
|
myOrderPaging xweb.Mapper `xweb:"/orderListDetails/myOrderPaging"` //查询订单分页
|
|
myOrderPaging xweb.Mapper `xweb:"/orderListDetails/myOrderPaging"` //查询订单分页
|
|
deleteOrder xweb.Mapper `xweb:"/orderListDetails/deleteOrder"` //删除订单
|
|
deleteOrder xweb.Mapper `xweb:"/orderListDetails/deleteOrder"` //删除订单
|
|
applyInvoice xweb.Mapper `xweb:"/orderListDetails/applyInvoice"` //开发票
|
|
applyInvoice xweb.Mapper `xweb:"/orderListDetails/applyInvoice"` //开发票
|
|
|
|
+ payCancel xweb.Mapper `xweb:"/orderListDetails/payCancel"` //支付成功后,其余订单改为已取消
|
|
}
|
|
}
|
|
|
|
|
|
var (
|
|
var (
|
|
@@ -194,10 +197,10 @@ func (o *OrderListDetails) DeleteOrder() error {
|
|
var boo = false
|
|
var boo = false
|
|
if cancel == "cancel" {
|
|
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 {
|
|
} 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{}{
|
|
o.ServeJson(map[string]interface{}{
|
|
"success": boo,
|
|
"success": boo,
|
|
@@ -222,13 +225,13 @@ func (o *OrderListDetails) ApplyInvoice() error {
|
|
}
|
|
}
|
|
if applyBill_type == "个人" {
|
|
if applyBill_type == "个人" {
|
|
applyBill_status = 1
|
|
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 == "单位" {
|
|
} else if applyBill_type == "单位" {
|
|
applyBill_status = 1 //状态
|
|
applyBill_status = 1 //状态
|
|
applyBill_company = o.GetString("applyBill_company") //公司名
|
|
applyBill_company = o.GetString("applyBill_company") //公司名
|
|
applyBill_taxnum = o.GetString("applyBill_taxnum") //纳税人识别号
|
|
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_company": applyBill_company,
|
|
"applyBill_taxnum": applyBill_taxnum,
|
|
"applyBill_taxnum": applyBill_taxnum,
|
|
"applyBill_status": applyBill_status,
|
|
"applyBill_status": applyBill_status,
|
|
@@ -238,7 +241,7 @@ func (o *OrderListDetails) ApplyInvoice() error {
|
|
//判断条件
|
|
//判断条件
|
|
if updateBl {
|
|
if updateBl {
|
|
go func() {
|
|
go func() {
|
|
- orderdata := public.Mysql.FindOne(tableName_order, map[string]interface{}{
|
|
|
|
|
|
+ orderdata := util.Mysql.FindOne(tableName_order, map[string]interface{}{
|
|
"order_code": order_code,
|
|
"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", "")
|
|
}, "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()
|
|
tt := time.Now()
|
|
@@ -252,33 +255,68 @@ func (o *OrderListDetails) ApplyInvoice() error {
|
|
return nil
|
|
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{}) {
|
|
func (o *OrderListDetails) SetRes(res []map[string]interface{}, queryM map[string]interface{}) {
|
|
for _, v := range res {
|
|
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"]
|
|
orderMoney := v["order_money"]
|
|
if orderMoney != nil {
|
|
if orderMoney != nil {
|
|
v["order_money"] = float64(orderMoney.(int64)) / 100
|
|
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))
|
|
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) {
|
|
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 {
|
|
if len(res) > 0 {
|
|
start := (pageNum - 1) * pagesize_max
|
|
start := (pageNum - 1) * pagesize_max
|
|
end := pageNum * pagesize_max
|
|
end := pageNum * pagesize_max
|