|
@@ -1475,19 +1475,7 @@ func CreateBigOrder(context *admin.Context) (interface{}, error) {
|
|
|
status = ExtendBigOrder(subStatus, pay_sub_num, free_sub_num, now, startdate, enddate, userId, code, ¶m)
|
|
|
}
|
|
|
if param.Save != util.SAVE && status == nil {
|
|
|
- // 如果是我的订单全部订单则需要新增审核轨迹 暂存不需要
|
|
|
- saveData := map[string]interface{}{
|
|
|
- "operator": context.User.Username,
|
|
|
- "create_time": date.NowFormat(date.Date_Full_Layout),
|
|
|
- "operator_type": util.OperateCreate,
|
|
|
- "audit_status": param.AuditStatus,
|
|
|
- "order_code": code,
|
|
|
- "audit_type": util.AuditCreate,
|
|
|
- }
|
|
|
- if !InsertAudit(saveData) {
|
|
|
- return nil, errors.New("创建成功,审核轨迹保存失败")
|
|
|
- }
|
|
|
- CheckAutoAudit(OrderPriceParams{
|
|
|
+ if !CheckAutoAudit(OrderPriceParams{
|
|
|
//ProductType string `form:"productType"` //大会员超级订阅
|
|
|
// Phone string `form:"phone"`
|
|
|
// Level int `form:"level"` //会员等级
|
|
@@ -1527,7 +1515,21 @@ func CreateBigOrder(context *admin.Context) (interface{}, error) {
|
|
|
PaybackCompany: param.PaybackCompany,
|
|
|
ContractStatus: param.ContractArchiveStatus,
|
|
|
PayMoney: param.PayMoney,
|
|
|
- })
|
|
|
+ }) {
|
|
|
+ // 如果是我的订单全部订单则需要新增审核轨迹 暂存不需要
|
|
|
+ saveData := map[string]interface{}{
|
|
|
+ "operator": context.User.Username,
|
|
|
+ "create_time": date.NowFormat(date.Date_Full_Layout),
|
|
|
+ "operator_type": util.OperateCreate,
|
|
|
+ "audit_status": param.AuditStatus,
|
|
|
+ "order_code": code,
|
|
|
+ "audit_type": util.AuditCreate,
|
|
|
+ }
|
|
|
+ if !InsertAudit(saveData) {
|
|
|
+ return nil, errors.New("创建成功,审核轨迹保存失败")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
//销售业绩统计
|
|
|
if err := SaleSaveRecordTmp(code, param.CreatePerson, param.SaleMoney); err != nil {
|
|
@@ -1883,21 +1885,9 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
|
|
|
if (param.SalesChannel == util.SaleChannel052 || param.SalesChannel == util.SaleChannel053) && saleChannel != param.SalesChannel {
|
|
|
UpdateUserType(param.SalesChannel, userId)
|
|
|
}
|
|
|
- // 自动增加审核轨迹
|
|
|
- saveData := map[string]interface{}{
|
|
|
- "operator": context.User.Username,
|
|
|
- "create_time": date.NowFormat(date.Date_Full_Layout),
|
|
|
- "operator_type": util.OperateEdit,
|
|
|
- "audit_status": util.OrderPassed,
|
|
|
- "order_code": code,
|
|
|
- "audit_type": util.AuditCreate,
|
|
|
- }
|
|
|
- if !InsertAudit(saveData) {
|
|
|
- return nil, errors.New("审核轨迹保存失败")
|
|
|
- }
|
|
|
//暂存订单提交
|
|
|
if res["audit_status"] == util.OrderUncommitted && param.Save == util.COMMIT {
|
|
|
- CheckAutoAudit(OrderPriceParams{
|
|
|
+ if !CheckAutoAudit(OrderPriceParams{
|
|
|
//ProductType string `form:"productType"` //大会员超级订阅
|
|
|
// Phone string `form:"phone"`
|
|
|
// Level int `form:"level"` //会员等级
|
|
@@ -1937,7 +1927,33 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
|
|
|
PaybackCompany: param.PaybackCompany,
|
|
|
ContractStatus: param.ContractArchiveStatus,
|
|
|
PayMoney: param.PayMoney,
|
|
|
- })
|
|
|
+ }) {
|
|
|
+ // 自动增加审核轨迹
|
|
|
+ saveData := map[string]interface{}{
|
|
|
+ "operator": context.User.Username,
|
|
|
+ "create_time": date.NowFormat(date.Date_Full_Layout),
|
|
|
+ "operator_type": util.OperateEdit,
|
|
|
+ "audit_status": util.OrderPassed,
|
|
|
+ "order_code": code,
|
|
|
+ "audit_type": util.AuditCreate,
|
|
|
+ }
|
|
|
+ if !InsertAudit(saveData) {
|
|
|
+ return nil, errors.New("审核轨迹保存失败")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 自动增加审核轨迹
|
|
|
+ saveData := map[string]interface{}{
|
|
|
+ "operator": context.User.Username,
|
|
|
+ "create_time": date.NowFormat(date.Date_Full_Layout),
|
|
|
+ "operator_type": util.OperateEdit,
|
|
|
+ "audit_status": util.OrderPassed,
|
|
|
+ "order_code": code,
|
|
|
+ "audit_type": util.AuditCreate,
|
|
|
+ }
|
|
|
+ if !InsertAudit(saveData) {
|
|
|
+ return nil, errors.New("审核轨迹保存失败")
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return nil, status
|
|
@@ -2603,19 +2619,8 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
|
|
|
"contract_archive_num": param.ContractArchiveNum,
|
|
|
})
|
|
|
if param.Save != util.SAVE {
|
|
|
- // 如果是我的订单全部订单保存则需要新增审核轨迹 暂存不需要
|
|
|
- saveData := map[string]interface{}{
|
|
|
- "operator": context.User.Username,
|
|
|
- "create_time": date.NowFormat(date.Date_Full_Layout),
|
|
|
- "operator_type": util.OperateCreate,
|
|
|
- "audit_status": param.AuditStatus,
|
|
|
- "order_code": code,
|
|
|
- "audit_type": util.AuditCreate,
|
|
|
- }
|
|
|
- if !InsertAudit(saveData) {
|
|
|
- return nil, errors.New("编辑成功,审核轨迹保存失败")
|
|
|
- }
|
|
|
- CheckAutoAudit(OrderPriceParams{
|
|
|
+
|
|
|
+ if !CheckAutoAudit(OrderPriceParams{
|
|
|
//ProductType string `form:"productType"` //大会员超级订阅
|
|
|
// Phone string `form:"phone"`
|
|
|
// Level int `form:"level"` //会员等级
|
|
@@ -2654,7 +2659,20 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
|
|
|
PaybackCompany: param.PaybackCompany,
|
|
|
ContractStatus: contractStatus,
|
|
|
PayMoney: param.PayMoney,
|
|
|
- })
|
|
|
+ }) {
|
|
|
+ // 如果是我的订单全部订单保存则需要新增审核轨迹 暂存不需要
|
|
|
+ saveData := map[string]interface{}{
|
|
|
+ "operator": context.User.Username,
|
|
|
+ "create_time": date.NowFormat(date.Date_Full_Layout),
|
|
|
+ "operator_type": util.OperateCreate,
|
|
|
+ "audit_status": param.AuditStatus,
|
|
|
+ "order_code": code,
|
|
|
+ "audit_type": util.AuditCreate,
|
|
|
+ }
|
|
|
+ if !InsertAudit(saveData) {
|
|
|
+ return nil, errors.New("编辑成功,审核轨迹保存失败")
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if !param.Open {
|
|
@@ -3244,19 +3262,7 @@ func CreateSupplyOrder(context *admin.Context) (interface{}, error) {
|
|
|
"contract_archive_num": param.ContractArchiveNum,
|
|
|
})
|
|
|
if param.Save != util.SAVE {
|
|
|
- // 如果是我的订单全部订单则需要新增审核轨迹 暂存不需要
|
|
|
- saveData := map[string]interface{}{
|
|
|
- "operator": context.User.Username,
|
|
|
- "create_time": date.NowFormat(date.Date_Full_Layout),
|
|
|
- "operator_type": util.OperateCreate,
|
|
|
- "audit_status": param.AuditStatus,
|
|
|
- "order_code": code,
|
|
|
- "audit_type": util.AuditCreate,
|
|
|
- }
|
|
|
- if !InsertAudit(saveData) {
|
|
|
- return nil, errors.New("创建成功,审核轨迹保存失败")
|
|
|
- }
|
|
|
- CheckAutoAudit(OrderPriceParams{
|
|
|
+ if !CheckAutoAudit(OrderPriceParams{
|
|
|
//ProductType string `form:"productType"` //大会员超级订阅
|
|
|
// Phone string `form:"phone"`
|
|
|
// Level int `form:"level"` //会员等级
|
|
@@ -3296,7 +3302,20 @@ func CreateSupplyOrder(context *admin.Context) (interface{}, error) {
|
|
|
PaybackCompany: param.PaybackCompany,
|
|
|
ContractStatus: contractStatus,
|
|
|
PayMoney: param.PayMoney,
|
|
|
- })
|
|
|
+ }) {
|
|
|
+ // 如果是我的订单全部订单则需要新增审核轨迹 暂存不需要
|
|
|
+ saveData := map[string]interface{}{
|
|
|
+ "operator": context.User.Username,
|
|
|
+ "create_time": date.NowFormat(date.Date_Full_Layout),
|
|
|
+ "operator_type": util.OperateCreate,
|
|
|
+ "audit_status": param.AuditStatus,
|
|
|
+ "order_code": code,
|
|
|
+ "audit_type": util.AuditCreate,
|
|
|
+ }
|
|
|
+ if !InsertAudit(saveData) {
|
|
|
+ return nil, errors.New("创建成功,审核轨迹保存失败")
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
if err := SaleSaveRecordTmp(code, param.CreatePerson, param.SaleMoney); err != nil {
|
|
|
log.Printf("%s %s销售业绩统计创建失败 %v \n", code, gconv.String(param.SaleMoney), err)
|
|
@@ -5107,7 +5126,7 @@ func EntLicense(entId, empowerCount, provinceCount, orderId, userCount int, prod
|
|
|
}
|
|
|
|
|
|
// CheckAutoAudit 校验自动审核
|
|
|
-func CheckAutoAudit(param OrderPriceParams) {
|
|
|
+func CheckAutoAudit(param OrderPriceParams) bool {
|
|
|
|
|
|
//是否支持线上自动生成电子协议
|
|
|
contractPass := func() bool {
|
|
@@ -5120,9 +5139,11 @@ func CheckAutoAudit(param OrderPriceParams) {
|
|
|
*/
|
|
|
|
|
|
if param.PaybackCompany != "h01" {
|
|
|
+ log.Println("自动审核不通过PaybackCompany:", param.PaybackCompany)
|
|
|
return false
|
|
|
}
|
|
|
if param.ContractStatus != 1 {
|
|
|
+ log.Println("自动审核不通过ContractStatus:", param.ContractStatus)
|
|
|
return false
|
|
|
}
|
|
|
var monthCount int
|
|
@@ -5161,12 +5182,15 @@ func CheckAutoAudit(param OrderPriceParams) {
|
|
|
log.Println("获取商品原价失败")
|
|
|
return false
|
|
|
}
|
|
|
+ log.Println("自动审核商品原价originalPrice:", originalPrice)
|
|
|
//折扣率满足一定条件
|
|
|
switch {
|
|
|
case monthCount >= 24:
|
|
|
- return float64(param.PayMoney)/originalPrice >= 0.45
|
|
|
+ log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Vip.Over24Months, config.SysConfigs.ExamineDiscount.Vip.Over24Months)
|
|
|
+ return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Vip.Over24Months
|
|
|
case monthCount >= 12 && monthCount < 24:
|
|
|
- return float64(param.PayMoney)/originalPrice >= 0.8
|
|
|
+ log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Vip.Over12Months, config.SysConfigs.ExamineDiscount.Vip.Over12Months)
|
|
|
+ return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Vip.Over12Months
|
|
|
}
|
|
|
return false
|
|
|
case "大会员":
|
|
@@ -5178,11 +5202,14 @@ func CheckAutoAudit(param OrderPriceParams) {
|
|
|
//折扣率满足一定条件
|
|
|
switch {
|
|
|
case monthCount < 6:
|
|
|
- return float64(param.PayMoney)/originalPrice >= 1
|
|
|
+ log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Less6Months, config.SysConfigs.ExamineDiscount.Bigmember.Less6Months)
|
|
|
+ return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Less6Months
|
|
|
case monthCount >= 6 && monthCount < 12:
|
|
|
- return float64(param.PayMoney)/originalPrice >= 0.8
|
|
|
+ log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Over6Months, config.SysConfigs.ExamineDiscount.Bigmember.Over6Months)
|
|
|
+ return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Over6Months
|
|
|
case monthCount >= 12:
|
|
|
- return float64(param.PayMoney)/originalPrice >= 0.6
|
|
|
+ log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Over12Months, config.SysConfigs.ExamineDiscount.Bigmember.Over12Months)
|
|
|
+ return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Over12Months
|
|
|
}
|
|
|
return false
|
|
|
default:
|
|
@@ -5190,9 +5217,11 @@ func CheckAutoAudit(param OrderPriceParams) {
|
|
|
}
|
|
|
}()
|
|
|
if !contractPass {
|
|
|
- return
|
|
|
+ log.Println("自动审批条件不通过")
|
|
|
+ return false
|
|
|
}
|
|
|
//符合条件 自动审批通过
|
|
|
config.JysqlDB.Update("dataexport_order", map[string]interface{}{"order_code": param.OrderCode},
|
|
|
map[string]interface{}{"audit_status": 3})
|
|
|
+ return true
|
|
|
}
|