duxin 3 miesięcy temu
rodzic
commit
57b74202ee

+ 40 - 39
internal/controller/orderHandler.go

@@ -203,26 +203,27 @@ func SaveOrderHandler(r *ghttp.Request) {
 		if err := g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
 			//todo 插入订单表
 			if _, err := g.DB().Ctx(ctx).Insert(ctx, "dataexport_order", g.Map{
-				"order_code":         orderCode,
-				"order_money":        param.OrderMoney,
-				"pay_money":          param.ContractMoney,
-				"pay_way":            param.PayType,
-				"product_type":       getProductNameByMasterKey(masterKey),
-				"order_status":       0,
-				"user_phone":         param.PersonPhone,
-				"company_name":       param.CompanyName,
-				"is_backstage_order": 1,
-				"commission":         param.ChannelCommission,
-				"order_channel":      param.OrderChannel,
-				"create_person":      userName,
-				"last_update_person": userName,
-				"salesperson_id":     entUserId,
-				"signing_subject":    param.PaybackCompany,
-				"audit_status":       common.If(param.Save == 1, 0, 1),
-				"buy_subject":        param.BuySubject,
-				"payment_user":       param.PaymentUser,
-				"zero_type":          param.ZeroOrderType,
-				"mark":               param.OrderRemark,
+				"order_code":            orderCode,
+				"order_money":           param.OrderMoney,
+				"pay_money":             param.ContractMoney,
+				"pay_way":               param.PayType,
+				"product_type":          getProductNameByMasterKey(masterKey),
+				"order_status":          0,
+				"user_phone":            param.PersonPhone,
+				"company_name":          param.CompanyName,
+				"is_backstage_order":    1,
+				"commission":            param.ChannelCommission,
+				"order_channel":         param.OrderChannel,
+				"create_time":           time.Now().Format(time.DateTime),
+				"create_person":         userName,
+				"last_update_person":    userName,
+				"salesperson_entUserId": entUserId,
+				"signing_subject":       param.PaybackCompany,
+				"audit_status":          common.If(param.Save == 1, 0, 1),
+				"buy_subject":           param.BuySubject,
+				"payment_user":          param.PaymentUser,
+				"zero_type":             param.ZeroOrderType,
+				"mark":                  param.OrderRemark,
 			}); err != nil {
 				return gerror.Wrap(err, "插入订单表异常")
 			}
@@ -293,25 +294,25 @@ func UpdateOrderHandler(r *ghttp.Request) {
 		//数据库操作
 		if err := g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
 			upOrder := g.Map{
-				"order_money":        param.OrderMoney,
-				"pay_money":          param.ContractMoney,
-				"pay_way":            param.PayType,
-				"product_type":       getProductNameByMasterKey(masterKey),
-				"order_status":       param.OrderStatus,
-				"user_phone":         param.PersonPhone,
-				"company_name":       param.CompanyName,
-				"is_backstage_order": 1,
-				"commission":         param.ChannelCommission,
-				"order_channel":      param.OrderChannel,
-				"create_person":      userName,
-				"last_update_person": userName,
-				"salesperson_id":     entUserId,
-				"signing_subject":    param.PaybackCompany,
-				"audit_status":       common.If(param.Save == 1, 0, 1),
-				"buy_subject":        param.BuySubject,
-				"payment_user":       param.PaymentUser,
-				"zero_type":          param.ZeroOrderType,
-				"mark":               param.OrderRemark,
+				"order_money":           param.OrderMoney,
+				"pay_money":             param.ContractMoney,
+				"pay_way":               param.PayType,
+				"product_type":          getProductNameByMasterKey(masterKey),
+				"order_status":          param.OrderStatus,
+				"user_phone":            param.PersonPhone,
+				"company_name":          param.CompanyName,
+				"is_backstage_order":    1,
+				"commission":            param.ChannelCommission,
+				"order_channel":         param.OrderChannel,
+				"create_person":         userName,
+				"last_update_person":    userName,
+				"salesperson_entUserId": entUserId,
+				"signing_subject":       param.PaybackCompany,
+				"audit_status":          common.If(param.Save == 1, 0, 1),
+				"buy_subject":           param.BuySubject,
+				"payment_user":          param.PaymentUser,
+				"zero_type":             param.ZeroOrderType,
+				"mark":                  param.OrderRemark,
 			}
 			//退回单子重新编辑提交后更改审核状态
 			if auditStatus := gconv.Int(orderRes.Map()["audit_status"]); auditStatus < 0 {

+ 3 - 1
internal/logic/order/examineList.go

@@ -90,6 +90,7 @@ func ExamineList(ctx context.Context, param model.OrderExamineListParams) (map[s
 		"lists": []map[string]interface{}{},
 		"total": 0,
 	}
+	var listArr []map[string]interface{}
 	qCount := fmt.Sprintf("SELECT * FROM(select DISTINCT(d.order_code) from dataexport_order d inner join order_sale_record s  on ( d.order_code=s.ordercode and (s.state=1 or s.state=2) %s) where %s )as orderData", innerSale, strings.Join(condition, " and "))
 	log.Println("count sql", qCount)
 	count, _ := g.DB().GetCount(ctx, qCount)
@@ -136,10 +137,11 @@ func ExamineList(ctx context.Context, param model.OrderExamineListParams) (map[s
 						}
 					}
 					vv["auditButtShow"] = auditButtShow
+					listArr = append(listArr, vv)
 				}
 			}
 		}
-		data["lists"] = res.List()
+		data["lists"] = listArr
 		data["total"] = count
 	}
 

+ 39 - 34
internal/logic/order/list.go

@@ -20,7 +20,7 @@ func List(ctx context.Context, param model.OrderListParams) (map[string]interfac
 	if param.Page <= 0 {
 		param.Page = 1
 	}
-	if param.Size < 0 || param.Size > 100 {
+	if param.Size <= 0 || param.Size > 100 {
 		param.Size = 50
 	}
 	if param.IsHelpList {
@@ -33,7 +33,7 @@ func List(ctx context.Context, param model.OrderListParams) (map[string]interfac
 			orderSql = append(orderSql, fmt.Sprintf(" f.ent_userId= '%d' ", adminId))
 		}
 	} else {
-		orderSql = append(orderSql, fmt.Sprintf(`(a.salesperson_id ='%d' or f.ent_userId ='%d')`, adminId, adminId))
+		orderSql = append(orderSql, fmt.Sprintf(`(a.salesperson_entUserId ='%d' or f.ent_userId ='%d')`, adminId, adminId))
 	}
 	if param.SearchContent != "" {
 		orderSql = append(orderSql, fmt.Sprintf(`  (a.order_code = '%s' or a.company_name LIKE '%s' or a.user_phone LIKE '%s')`,
@@ -111,9 +111,14 @@ func List(ctx context.Context, param model.OrderListParams) (map[string]interfac
 		}
 		orderSql = append(orderSql, fmt.Sprintf("(%s)", strings.Join(statusArr, " or ")))
 	}
-	if len(param.ProductType) > 0 {
-		var statusArr []string
-		orderSql = append(orderSql, fmt.Sprintf(" a.order_code in (SELECT DISTINCT(order_code)  FROM jy_order_detail WHERE product_type in ('%s') )", strings.Join(statusArr, " or ")))
+	if param.ProductType != "" {
+		//orderSql = append(orderSql, fmt.Sprintf(" a.order_code in (SELECT DISTINCT(order_code)  FROM jy_order_detail WHERE product_type in ('%s') )", strings.ReplaceAll(param.ProductType, ",", "','")))
+		orderSql = append(orderSql, fmt.Sprintf(` a.order_code in (SELECT DISTINCT(jyd.order_code)  FROM jy_order_detail jyd 
+inner JOIN dataexport_order dor on jyd.order_code = dor.order_code
+LEFT JOIN 
+(    SELECT ordercode, ent_userId FROM order_sale_record WHERE ent_userId = '%d' and state in (1,2) GROUP BY ordercode,ent_userId
+)osr on osr.ordercode = jyd.order_code
+WHERE (dor.salesperson_entUserId ='%d' or osr.ent_userId ='%d') and jyd.product_type in ('%s')) `, adminId, adminId, adminId, strings.ReplaceAll(param.ProductType, ",", "','")))
 	}
 	if param.OrderTimeStart != "" {
 		orderSql = append(orderSql, fmt.Sprintf("a.create_time>='%s'", param.OrderTimeStart))
@@ -181,48 +186,48 @@ WHERE
 		log.Println("count err:=", err.Error())
 		return nil, err
 	}
-
 	list, err := g.DB().Query(ctx, fmt.Sprintf(`%s order by a.create_time desc LIMIT %d,%d`, sql, (param.Page-1)*param.Size, param.Size))
 	if err != nil {
 		log.Println("list err:=", err.Error())
 		return nil, err
 	}
+	var listArr []map[string]interface{}
 	for _, m := range list.List() {
 		jyOrderDetail, _ := g.DB().GetOne(ctx, fmt.Sprintf(`SELECT * FROM jy_order_detail WHERE id = %d`, gconv.Int64(m["order_detail_id"])))
-		if jyOrderDetail.IsEmpty() {
-			continue
-		}
-		m["service_type"] = jyOrderDetail.Map()["service_type"]
-		m["filter"] = jyOrderDetail.Map()["filter"]
-		//未回款金额
-		m["no_return_money"] = gconv.Int(m["pay_money"]) - gconv.Int(m["return_money"]) - gconv.Int(m["commission"])
-		//未退款金额
-		m["no_refund_money"] = gconv.Int(m["return_money"]) - gconv.Int(m["refund_money"])
-		//开票
-		if m["invoiced_amount"] != nil && m["invoiced_amount"] != 0 {
-			noInvoicedAmount := gconv.Int(m["pay_money"]) - gconv.Int(m["invoiced_amount"]) - gconv.Int(m["commission"])
-			m["no_invoiced_amount"] = noInvoicedAmount //未开票金额
-			m["invoiced_status"] = common.If(noInvoicedAmount == 0, 1, 2)
-		} else {
-			m["invoiced_status"] = 0 //未开票
-		}
+		if !jyOrderDetail.IsEmpty() {
+			m["service_type"] = jyOrderDetail.Map()["service_type"]
+			m["filter"] = jyOrderDetail.Map()["filter"]
+			//未回款金额
+			m["no_return_money"] = gconv.Int(m["pay_money"]) - gconv.Int(m["return_money"]) - gconv.Int(m["commission"])
+			//未退款金额
+			m["no_refund_money"] = gconv.Int(m["return_money"]) - gconv.Int(m["refund_money"])
+			//开票
+			if m["invoiced_amount"] != nil && m["invoiced_amount"] != 0 {
+				noInvoicedAmount := gconv.Int(m["pay_money"]) - gconv.Int(m["invoiced_amount"]) - gconv.Int(m["commission"])
+				m["no_invoiced_amount"] = noInvoicedAmount //未开票金额
+				m["invoiced_status"] = common.If(noInvoicedAmount == 0, 1, 2)
+			} else {
+				m["invoiced_status"] = 0 //未开票
+			}
 
-		if m["productType"] == "大会员" {
-			filter := gconv.Map(jyOrderDetail.Map()["filter"])
-			isSINGLE := common.IntAll(filter["areaCount"]) == 1
-			if filter["comboId"] == 6 {
-				if isSINGLE {
-					m["productType"] = "大会员商机版2.0(单省版)"
-				} else {
-					m["productType"] = "大会员商机版2.0"
+			if m["productType"] == "大会员" {
+				filter := gconv.Map(jyOrderDetail.Map()["filter"])
+				isSINGLE := common.IntAll(filter["areaCount"]) == 1
+				if filter["comboId"] == 6 {
+					if isSINGLE {
+						m["productType"] = "大会员商机版2.0(单省版)"
+					} else {
+						m["productType"] = "大会员商机版2.0"
+					}
+				} else if filter["comboId"] == 7 {
+					m["productType"] = "大会员专家版2.0"
 				}
-			} else if filter["comboId"] == 7 {
-				m["productType"] = "大会员专家版2.0"
 			}
 		}
+		listArr = append(listArr, m)
 	}
 	return map[string]interface{}{
 		"count": count,
-		"list":  list.List(),
+		"list":  listArr,
 	}, nil
 }