Przeglądaj źródła

后端: bugfix:判断账号唯一性时加上状态判断。审核注册时由原先的先删除再添加,改为直接在原有信息基础上更新。添加注册审批日志。

baichengfei 5 lat temu
rodzic
commit
d0ad88193e

+ 55 - 30
src/dashoo.cn/backend/api/controllers/register/oilcorporateinfo.go

@@ -7,6 +7,7 @@ import (
 	"dashoo.cn/business2/permission"
 	"encoding/json"
 	"fmt"
+	"log"
 	"math/rand"
 	"strconv"
 	"strings"
@@ -208,19 +209,35 @@ func (this *OilCorporateInfoController) AddEntity() {
 
 	var checkModel register.OilCorporateInfo
 	svcCor := register.GetOilCorporateInfoService(utils.DBE)
-	checkUserNameWhere := " UserName ='" + strings.Trim(model.UserName, " ")
+	checkUserNameWhere := " CheckStatus != -1 and UserName ='" + strings.Trim(model.UserName, " ") + "'"
 	checkUserNameRes := svcCor.GetEntityByWhere(OilCorporateInfoName, checkUserNameWhere, &checkModel)
 	if checkUserNameRes {
-		errinfo.Message = "用户名已存在,请重新输入!"
+		resName := ""
+		if checkModel.CheckStatus == 0 {
+			resName = "用户名注册审批中,请耐心等待审批!"
+		} else if checkModel.CheckStatus == 11 {
+			resName = "用户名已被注册审核通过,请直接登录!"
+		} else {
+			resName = "用户名已存在,请重新输入!"
+		}
+		errinfo.Message = resName
 		errinfo.Code = -1
 		this.Data["json"] = &errinfo
 		this.ServeJSON()
 		return
 	}
-	checkComWhere := " CommercialNo ='" + strings.Trim(model.CommercialNo, " ") + "' or SupplierName='" + strings.Trim(model.SupplierName, " ") + "'"
+	checkComWhere := " CheckStatus != -1 and (CommercialNo ='" + strings.Trim(model.CommercialNo, " ") + "' or SupplierName='" + strings.Trim(model.SupplierName, " ") + "')"
 	checkComRes := svcCor.GetEntityByWhere(OilCorporateInfoName, checkComWhere, &checkModel)
 	if checkComRes {
-		errinfo.Message = "该公司已注册,请直接登录!"
+		regMsg := ""
+		if checkModel.CheckStatus == 0 {
+			regMsg = "该公司正在审核中,请耐心等待审批!"
+		} else if checkModel.CheckStatus == 11 {
+			regMsg = "该公司已注册审核通过,请直接登录!"
+		} else {
+			regMsg = "该公司已注册,请确认后登录!"
+		}
+		errinfo.Message = regMsg
 		errinfo.Code = -1
 		this.Data["json"] = &errinfo
 		this.ServeJSON()
@@ -434,45 +451,46 @@ func (this *OilCorporateInfoController) ComAudit() {
 				model.ModifiedUserId, _ = strconv.Atoi(this.User.Id)
 				svcRegister := register.GetOilCorporateInfoService(utils.DBE)
 				//删除原有数据(由于采用 svcRegister.UpdateEntityById() 一直报错,所以采用先删除再添加的方式达到更新数据的目的!)
-				where := " Id = " + strconv.Itoa(model.Id)
-				err2 := svcRegister.DeleteEntityBytbl(OilCorporateInfoName, where)
-				if err2 == nil {
-					//插入更新数据
-					_, err3 := svcRegister.InsertEntityBytbl(OilCorporateInfoName, &model)
-					if err3 == nil {
-						//编辑短信内容
-						toMobile := model.UserTelephone
-						msg := "恭喜您!市场管理信息系统账号注册成功,系统登录用户名为: " + model.UserName //
-						msgService := msg2.GetMsgService(utils.DBE)
-						err := msgService.HandleMsg(toMobile, msg, "1-1", model.UserName, model.UserRealName, strconv.Itoa(model.UserId), this.User.Username)
-						if err == nil {
-							errinfo.Message = "审核通过!"
-							errinfo.Code = 0
-							errinfo.Item = model.Id
-							this.Data["json"] = &errinfo
-							this.ServeJSON()
-						}
-					} else {
-						errinfo.Message = "操作失败!--1"
-						errinfo.Code = -1
+				_, err0 := svcRegister.UpdateEntityById(model.Id, &model) // UpdateEntityById 未见报错,还是更新较为稳妥
+				//where := " Id = " + strconv.Itoa(model.Id)
+				//err2 := svcRegister.DeleteEntityBytbl(OilCorporateInfoName, where)
+				//if err0 == nil {
+				//	//插入更新数据
+				//	//_, err3 := svcRegister.InsertEntityBytbl(OilCorporateInfoName, &model)
+				//}
+				if err0 == nil {
+					//编辑短信内容
+					toMobile := model.UserTelephone
+					msg := "恭喜您!市场管理信息系统账号注册成功,系统登录用户名为: " + model.UserName //
+					msgService := msg2.GetMsgService(utils.DBE)
+					err := msgService.HandleMsg(toMobile, msg, "1-1", model.UserName, model.UserRealName, strconv.Itoa(model.UserId), this.User.Username)
+					if err == nil {
+						errinfo.Message = "审核通过!"
+						errinfo.Code = 0
+						errinfo.Item = model.Id
 						this.Data["json"] = &errinfo
 						this.ServeJSON()
+					} else {
+						log.Println("账号注册成功,发送短信失败!电话:"+toMobile, model)
 					}
 				} else {
-					errinfo.Message = "操作失败!--2"
+					log.Print("审批通过注册账号更新数据失败!"+utils.AlertProcess(err0.Error()), model)
+					errinfo.Message = "操作失败!"
 					errinfo.Code = -1
 					this.Data["json"] = &errinfo
 					this.ServeJSON()
 				}
 			} else {
-				errinfo.Message = "操作失败!--3"
+				log.Print("创建用户失败!"+utils.AlertProcess(err.Error()), userentity)
+				errinfo.Message = "操作失败!"
 				errinfo.Code = -1
 				this.Data["json"] = &errinfo
 				this.ServeJSON()
 				return
 			}
 		} else {
-			errinfo.Message = "操作失败!--4"
+			log.Print("注册审批通过,工作流操作失败!"+receiveVal, ActiComplete)
+			errinfo.Message = "操作失败!"
 			errinfo.Code = -1
 			this.Data["json"] = &errinfo
 			this.ServeJSON()
@@ -509,13 +527,20 @@ func (this *OilCorporateInfoController) ComAudit() {
 				this.Data["json"] = &errinfo
 				this.ServeJSON()
 			} else {
-				errinfo.Message = "操作失败!" + utils.AlertProcess(err.Error())
+				if err != nil {
+					log.Println("审批未通过, 更新注册信息失败!" + utils.AlertProcess(err.Error()))
+				}
+				if res != nil {
+					log.Println("审批未通过, 发送短信失败!电话:" + toMobile + " 信息:" + msg + ", 错误信息" + utils.AlertProcess(res.Error()))
+				}
+				errinfo.Message = "操作失败!"
 				errinfo.Code = -1
 				this.Data["json"] = &errinfo
 				this.ServeJSON()
 			}
 		} else {
-			errinfo.Message = "操作失败!" + utils.AlertProcess(err.Error())
+			log.Print("注册审批未通过,工作流操作失败!"+receiveVal, ActiComplete)
+			errinfo.Message = "操作失败!"
 			errinfo.Code = -1
 			this.Data["json"] = &errinfo
 			this.ServeJSON()