|
@@ -142,7 +142,7 @@ func (this *vipSubscribeStruct) PayCallBack(param *CallBackParam) bool {
|
|
|
//支付提醒
|
|
|
util.MsgRemind.PaySuccess(qutil.IntAll((*orderdata)["id"]), qutil.ObjToString((*orderdata)["order_code"]), qutil.ObjToString((*orderdata)["user_id"]), qutil.ObjToString((*orderdata)["prepay_time"]), qutil.IntAllDef((*orderdata)["vip_type"], -1))
|
|
|
//其他未支付vip订阅订单 变为已取消
|
|
|
- go PayCancel(userid, "VIP订阅")
|
|
|
+ go PayCancel(userid, "VIP订阅", "")
|
|
|
}
|
|
|
return flag
|
|
|
}
|
|
@@ -616,21 +616,39 @@ func getSetMealPrice(c, iCount, u int) int {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//支付成功后,将该订单以外的所有订单状态改为已取消状态 已取消:-2 先关闭订单再改状态
|
|
|
-func PayCancel(userId, product_type string) bool {
|
|
|
+//支付成功后,将该订单以外的所有订单状态改为已取消状态 已取消:-2 先关闭订单再改状态 --entname 企业商机管理订单会用到该参数 其他取消订单不需要
|
|
|
+func PayCancel(userId, product_type, entname string) bool {
|
|
|
queryMap := map[string]interface{}{
|
|
|
"user_id": userId,
|
|
|
"order_status": 0,
|
|
|
"product_type": product_type,
|
|
|
}
|
|
|
i, order_len := 0, 0
|
|
|
- order := util.Mysql.Find("dataexport_order", queryMap, "id,pay_way,out_trade_no,prepay_time,order_status", "create_time desc", -1, 0)
|
|
|
+ order := util.Mysql.Find("dataexport_order", queryMap, "id,filter,pay_way,out_trade_no,prepay_time,order_status", "create_time desc", -1, 0)
|
|
|
if order != nil {
|
|
|
- order_len = len(*order)
|
|
|
//遍历未支付订单
|
|
|
for _, v := range *order {
|
|
|
//关闭未支付订单
|
|
|
- flag := pay.CloseDataExportOrder(qutil.ObjToString(v["pay_way"]), qutil.ObjToString(v["out_trade_no"]), qutil.ObjToString(v["prepay_time"]))
|
|
|
+ if product_type == "企业商机管理" { //企业商机管理取消的订单 公司名重复才取消
|
|
|
+ var filter map[string]interface{}
|
|
|
+ if err := json.Unmarshal([]byte(qutil.ObjToString(v["filter"])), &filter); err != nil {
|
|
|
+ log.Println("企业商机管理取消订单json.Unmarshal出错", err)
|
|
|
+ } else {
|
|
|
+ filter_entname, _ := filter["entname"].(string)
|
|
|
+ if entname != filter_entname {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ order_len++
|
|
|
+ flag := false
|
|
|
+ if qutil.ObjToString(v["out_trade_no"]) != "" {
|
|
|
+ flag = pay.CloseDataExportOrder(qutil.ObjToString(v["pay_way"]), qutil.ObjToString(v["out_trade_no"]), qutil.ObjToString(v["prepay_time"]))
|
|
|
+ } else {
|
|
|
+ if product_type == "企业商机管理" {
|
|
|
+ flag = true
|
|
|
+ }
|
|
|
+ }
|
|
|
if flag {
|
|
|
//更改未支付订单状态 -2 逐个取消订单
|
|
|
bl := util.Mysql.Update("dataexport_order", bson.M{
|