Selaa lähdekoodia

Merge branch 'dev/v2.4.31_dx' of jianyu/qmx_admin into feature/v2.4.31

duxin 1 vuosi sitten
vanhempi
commit
9d2fb6129b
4 muutettua tiedostoa jossa 137 lisäystä ja 84 poistoa
  1. 61 48
      src/order/orderManageController.go
  2. 20 36
      src/order/orderManageService.go
  3. 55 0
      src/order/orderSeal.go
  4. 1 0
      src/order/router.go

+ 61 - 48
src/order/orderManageController.go

@@ -629,6 +629,12 @@ func OrderDetails(context *admin.Context) (interface{}, error) {
 		if auditResult != nil && len(*auditResult) > 0 {
 			result["audit"] = auditResult
 		}
+		//盖章记录
+		sealRes := util.JysqlDB.SelectBySql(`SELECT stamp_time,create_time,b.admin_user as salesperson_name,c.admin_user as applicant_name FROM dataexport_order a
+LEFT JOIN cadmin.admin_user b on a.salesperson_id = b.id LEFT JOIN cadmin.admin_user c on a.applicant_id = b.id WHERE a.order_code = ?`, (*res)["order_code"])
+		if sealRes != nil && len(*sealRes) > 0 {
+			result["sealArr"] = sealRes
+		}
 	}
 	return result, nil
 }
@@ -2433,7 +2439,6 @@ func CreateSupplyOrder(context *admin.Context) (interface{}, error) {
 		SaleDep               string                   `form:"saleDep"`
 		SaleMoney             string                   `form:"saleMoney"`
 		ContractNature        int                      `form:"contract_nature"`
-		NewServerArr          []map[string]interface{} `form:"newServersArr"` //补充包新增服务id
 	})
 	err := context.Form(param)
 	if err != nil {
@@ -2529,22 +2534,19 @@ func CreateSupplyOrder(context *admin.Context) (interface{}, error) {
 			"remark":         param.Remark,
 			"contractStatus": contractStatus,
 			"serverArr":      param.ServerArr,
-			"new_serverArr":  param.NewServerArr,
-		}
-		var oldService []map[string]interface{}
-		for _, m := range param.ServerArr {
-			var isNewService bool
-			for _, m2 := range param.NewServerArr {
-				if m["id"] == m2["id"] {
-					isNewService = true
-					break
+		}
+		if param.BuySubject == "1" { //个人补充包 获取老权益
+			var oldServiceArr []map[string]interface{}
+			sqls := "select a.s_serviceid,b.s_name from bigmember_service_user a LEFT JOIN bigmember_service b on a.s_serviceid = b.id where  a.s_userid = ? and a.i_status = 0"
+			serverUser := util.JysqlDB.SelectBySql(sqls, userId)
+			if serverUser != nil && len(*serverUser) > 0 {
+				for _, m := range *serverUser {
+					oldServiceArr = append(oldServiceArr, map[string]interface{}{
+						"id": m["s_serviceid"], "name": m["s_name"]})
 				}
 			}
-			if !isNewService {
-				oldService = append(oldService, m)
-			}
+			filter_map["old_serverArr"] = oldServiceArr
 		}
-		filter_map["old_serverArr"] = oldService
 		filter, _ := json.Marshal(filter_map)
 		startdate := time.Unix(bigStart, 0)
 		enddate := time.Unix(bigEnd, 0)
@@ -2754,7 +2756,6 @@ func UpdateSupplyOrder(context *admin.Context) (interface{}, error) {
 		SaleDep               string                   `form:"saleDep"`
 		SaleMoney             string                   `form:"saleMoney"`
 		ContractNature        int                      `form:"contract_nature"`
-		NewServerArr          []map[string]interface{} `form:"newServersArr"` //补充包新增服务id
 	})
 	err := context.Form(param)
 	if err != nil {
@@ -2858,22 +2859,19 @@ func UpdateSupplyOrder(context *admin.Context) (interface{}, error) {
 			"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),
 			"remark":         param.Remark,
 			"contractStatus": contractStatus,
-			"new_serverArr":  param.NewServerArr,
-		}
-		var oldService []map[string]interface{}
-		for _, m := range param.ServerArr {
-			var isNewService bool
-			for _, m2 := range param.NewServerArr {
-				if m["id"] == m2["id"] {
-					isNewService = true
-					break
+		}
+		if param.BuySubject == "1" { //个人补充包 获取老权益
+			var oldServiceArr []map[string]interface{}
+			sqls := "select a.s_serviceid,b.s_name from bigmember_service_user a LEFT JOIN bigmember_service b on a.s_serviceid = b.id where  a.s_userid = ? and a.i_status = 0"
+			serverUser := util.JysqlDB.SelectBySql(sqls, userId)
+			if serverUser != nil && len(*serverUser) > 0 {
+				for _, m := range *serverUser {
+					oldServiceArr = append(oldServiceArr, map[string]interface{}{
+						"id": m["s_serviceid"], "name": m["s_name"]})
 				}
 			}
-			if !isNewService {
-				oldService = append(oldService, m)
-			}
+			filter_map["old_serverArr"] = oldServiceArr
 		}
-		filter_map["old_serverArr"] = oldService
 		// 如果本来就包含人工审核字段就在filter里面赋值人工审核字段
 		if strings.Contains(oldFilter, "人工审核") {
 			filter_map["audit_type"] = "人工审核"
@@ -2990,7 +2988,6 @@ func MyUpdateSupplySubOrder(context *admin.Context) (interface{}, error) {
 		BuySubject            string                   `form:"buySubject"`        //购买主体  1 个人, 2公司
 		BuyCount              int                      `form:"buyCount"`          //大会员、超级订阅购买数量
 		Contract_nature       int                      `form:"contract_nature"`
-		NewServerArr          []map[string]interface{} `form:"newServerArr"` //服务id
 	})
 	err := context.Form(param)
 	if err != nil {
@@ -3093,22 +3090,19 @@ func MyUpdateSupplySubOrder(context *admin.Context) (interface{}, error) {
 				"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),
 				"remark":         param.Remark,
 				"contractStatus": contractStatus,
-				"new_serverArr":  param.NewServerArr,
 			}
-			var oldService []map[string]interface{}
-			for _, m := range param.ServerArr {
-				var isNewService bool
-				for _, m2 := range param.NewServerArr {
-					if m["id"] == m2["id"] {
-						isNewService = true
-						break
+			if param.BuySubject == "1" { //个人补充包 获取老权益
+				var oldServiceArr []map[string]interface{}
+				sqls := "select a.s_serviceid,b.s_name from bigmember_service_user a LEFT JOIN bigmember_service b on a.s_serviceid = b.id where  a.s_userid = ? and a.i_status = 0"
+				serverUser := util.JysqlDB.SelectBySql(sqls, userId)
+				if serverUser != nil && len(*serverUser) > 0 {
+					for _, m := range *serverUser {
+						oldServiceArr = append(oldServiceArr, map[string]interface{}{
+							"id": m["s_serviceid"], "name": m["s_name"]})
 					}
 				}
-				if !isNewService {
-					oldService = append(oldService, m)
-				}
+				filter_map["old_serverArr"] = oldServiceArr
 			}
-			filter_map["old_serverArr"] = oldService
 			// 如果本来就包含人工审核字段就在filter里面赋值人工审核字段
 			if strings.Contains(oldFilter, "人工审核") {
 				filter_map["audit_type"] = "人工审核"
@@ -3591,6 +3585,7 @@ func GetCurrentServer(context *admin.Context) (interface{}, error) {
 		return nil, err
 	}
 	idArr := []int{}
+	var endTime string
 	if param.Phone != "" {
 		userId := ""
 		userData, ok := util.MQFW.FindOne("user", map[string]interface{}{"s_phone": param.Phone})
@@ -3603,7 +3598,7 @@ func GetCurrentServer(context *admin.Context) (interface{}, error) {
 			}
 		}
 		if userId != "" {
-			userServer := util.JysqlDB.Find("bigmember_service_user", map[string]interface{}{"s_userid": userId, "i_status": 0}, "s_serviceid,s_smainid", "", -1, -1)
+			userServer := util.JysqlDB.Find("bigmember_service_user", map[string]interface{}{"s_userid": userId, "i_status": 0}, "s_serviceid,s_smainid,l_endtime", "", -1, -1)
 			if userServer != nil && len(*userServer) > 0 {
 				var isHUa = util.JysqlDB.CountBySql(`SELECT count(1) as count FROM bigmember_service_user WHERE s_userid = ? and i_status =0 and (s_serviceid=4 or s_serviceid =19)`, userId) > 0
 
@@ -3611,6 +3606,7 @@ func GetCurrentServer(context *admin.Context) (interface{}, error) {
 					if isHUa && v["s_serviceid"] == 26 {
 						continue
 					}
+					endTime = qutil.InterfaceToStr(v["l_endtime"])
 					if qutil.IntAll(v["s_smainid"]) == 0 {
 						if qutil.IntAll(v["s_serviceid"]) == 12 {
 							idArr = append(idArr, 23)
@@ -3633,7 +3629,8 @@ func GetCurrentServer(context *admin.Context) (interface{}, error) {
 		}
 	}
 	return map[string]interface{}{
-		"list": idArr,
+		"list":           idArr,
+		"serviceEndTime": endTime,
 	}, nil
 }
 
@@ -3871,12 +3868,28 @@ func GetSalesChannelItem(context *admin.Context) (interface{}, error) {
 			}
 		}
 	}
+	//  `distribution_channel` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '销售渠道',
+	//  `salesperson_id` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '销售人员在剑鱼后台的用户id',
+	//  `saleDep` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '040000' COMMENT '业绩归属部门:010000',
+	//获取最近一次业绩归属部门 下单渠道 销售人员在剑鱼后台的用户id
+	displayMap := make(map[string]interface{})
+	displayData := util.JysqlDB.SelectBySql(`SELECT distribution_channel,salesperson_id,saleDep,create_person,b.username FROM dataexport_order a
+LEFT JOIN cadmin.admin_user b on a.salesperson_id = b.id
+WHERE a.create_person = ? and a.saleDep NOT LIKE '%,%' ORDER BY a.create_time DESC LIMIT 1`, context.User.Username)
+	if displayData != nil && len(*displayData) > 0 {
+		display := (*displayData)[0]
+		displayMap["distribution_channel"] = display["distribution_channel"]
+		displayMap["salesperson_id"] = display["salesperson_id"]
+		displayMap["salesperson_name"] = display["username"]
+		displayMap["saleDep"] = display["saleDep"]
+	}
 	return map[string]interface{}{
-		"code": 1,
-		"msg":  "查询成功",
-		"data": res,
-		"dep":  dep,
-		"user": context.User.Username,
+		"code":       1,
+		"msg":        "查询成功",
+		"data":       res,
+		"dep":        dep,
+		"user":       context.User.Username,
+		"displayMap": displayMap,
 	}, nil
 }
 

+ 20 - 36
src/order/orderManageService.go

@@ -1280,52 +1280,36 @@ func BigVipOrderDetails(res *map[string]interface{}) map[string]interface{} {
 			filterMap["level"] = "专家版2.0"
 		}
 		// 获取基础服务信息
-		var serName string
 		serverData := util.JysqlDB.FindOne("bigmember_service", map[string]interface{}{"id": 1}, "s_new_name", "")
 		if serverData != nil {
+			var serName string
 			serName = qutil.InterfaceToStr((*serverData)["s_new_name"])
-		}
-
-		switch qutil.InterfaceToStr((*res)["product_type"]) {
-		case "大会员-补充包": //扩充服务补充字段
-			if (*res)["buy_subject"] == 1 {
+			if qutil.InterfaceToStr((*res)["product_type"]) == "大会员-补充包" {
 				supplys, _ := filterMap["supplys"].([]interface{})
-				new_serverArr, _ := filterMap["new_serverArr"].([]interface{})
-
-				var (
-					oldService []map[string]interface{}
-				)
-				new_serverArrMap := qutil.ObjArrToMapArr(new_serverArr)
 				for _, m1 := range qutil.ObjArrToMapArr(supplys) {
 					if strings.Contains(qutil.InterfaceToStr(m1["name"]), serName) {
 						m1["name"] = "基础服务"
+						break
 					}
-					var isNewService bool
-					for _, m2 := range qutil.ObjArrToMapArr(new_serverArr) {
-						if m1["id"] == m2["id"] {
-							isNewService = true
-							break
-						}
-					}
-					if !isNewService {
-						oldService = append(oldService, m1)
+				}
+				serverArr, _ := filterMap["serverArr"].([]interface{})
+				for _, m1 := range qutil.ObjArrToMapArr(serverArr) {
+					if strings.Contains(qutil.InterfaceToStr(m1["name"]), serName) {
+						m1["name"] = "基础服务"
+						break
 					}
 				}
-				filterMap["oldService"] = oldService
-				filterMap["newervice"] = new_serverArrMap
-			}
-
-		case "大会员-子账号": //关联订单
-
-		}
-		if qutil.InterfaceToStr((*res)["product_type"]) != "大会员-补充包" {
-			serversName := qutil.InterfaceToStr(filterMap["serversName"])
-			serversNameArr := strings.Split(serversName, ",")
-			for k, s := range serversNameArr {
-				if strings.Contains(s, serName) {
-					serversNameArr[k] = "基础服务"
-					filterMap["serversName"] = strings.Join(serversNameArr, ",")
-					break
+				filterMap["supplys"] = supplys
+				filterMap["supplys"] = serverArr
+			} else {
+				serversName := qutil.InterfaceToStr(filterMap["serversName"])
+				serversNameArr := strings.Split(serversName, ",")
+				for k, s := range serversNameArr {
+					if strings.Contains(s, serName) {
+						serversNameArr[k] = "基础服务"
+						filterMap["serversName"] = strings.Join(serversNameArr, ",")
+						break
+					}
 				}
 			}
 		}

+ 55 - 0
src/order/orderSeal.go

@@ -0,0 +1,55 @@
+package order
+
+import (
+	"errors"
+	"github.com/baiy/Cadmin-server-go/admin"
+	qutil "qfw/util"
+	"time"
+	"util"
+)
+
+func OperateOrderSeal(context *admin.Context) (interface{}, error) {
+	param := new(struct {
+		Id          string `form:"id"`
+		OrderCode   string `form:"orderCode"`
+		salesmanId  string `form:"salesman_id"`  //销售人员
+		StampTime   string `form:"stamp_time"`   //盖章时间
+		RegType     string `form:"regType"`      //请求类型
+		applicantId string `form:"applicant_id"` //申请人
+	})
+	err := context.Form(param)
+	if err != nil {
+		return nil, err
+	}
+	switch param.RegType {
+	case "post": //增加记录`
+		_d := util.JysqlDB.FindOne("dataexport_order", map[string]interface{}{"order_code": param.OrderCode}, "audit_status,order_status", "")
+		if _d == nil || len(*_d) == 0 {
+			return nil, errors.New("订单获取失败")
+		}
+		audit_status := qutil.IntAll((*_d)["audit_status"])
+		order_status := qutil.IntAll((*_d)["order_status"])
+		if order_status == -1 || order_status == -2 || audit_status != 3 {
+			return nil, errors.New("订单状态异常")
+		}
+		util.JysqlDB.Insert("order_seal", map[string]interface{}{
+			"order_code":   param.OrderCode,
+			"stamp_time":   param.StampTime,
+			"create_time":  time.Now().Format("2006-01-02 15:04:05"),
+			"salesman_id":  param.salesmanId,
+			"applicant_id": param.applicantId,
+			"status":       0,
+		})
+	case "delete": //删除记录
+		util.JysqlDB.Update("order_seal", map[string]interface{}{
+			"id": param.Id,
+		}, map[string]interface{}{
+			"status": -1,
+		})
+	default:
+		return nil, errors.New("请求方式错误")
+	}
+	return map[string]interface{}{
+		"code": 0,
+	}, nil
+}

+ 1 - 0
src/order/router.go

@@ -142,6 +142,7 @@ func init() {
 		"Baiy.Cadmin.Order.addUpdateRecord":                   AddUpdateRecord,
 		"Baiy.Cadmin.Order.helpVipinfo":                       HelpVipInfo,
 		"Baiy.Cadmin.Order.orderPriceCount":                   orderPriceCount,
+		"Baiy.Cadmin.Order.orderSeal":                         OperateOrderSeal, //
 	})
 	RegisterDispatch(OrderDispatcher)
 }