Forráskód Böngészése

Merge remote-tracking branch 'origin/debug' into debug

Roc 3 éve
szülő
commit
e4c5991eae

+ 1 - 0
controllers/admin.go

@@ -73,6 +73,7 @@ func (c *AdminCommon) Login() {
 	}
 	resp.ProductName = productName
 	resp.Authority = adminWx.Authority
+	resp.Headimgurl = adminWx.Headimgurl
 	c.OkDetailed(resp, "登录成功")
 }
 

+ 27 - 0
controllers/contract.go

@@ -7,6 +7,7 @@ import (
 	contractResp "hongze/hongze_mobile_admin/models/response/contract"
 	"hongze/hongze_mobile_admin/models/tables/contract"
 	"hongze/hongze_mobile_admin/models/tables/contract_approval"
+	"hongze/hongze_mobile_admin/models/tables/contract_relation"
 	contractService "hongze/hongze_mobile_admin/services/contract"
 	"hongze/hongze_mobile_admin/services/seal"
 	"hongze/hongze_mobile_admin/utils"
@@ -431,6 +432,32 @@ func (c *ContractCommon) ListBySeal() {
 		c.FailWithMessage("获取合同列表失败", "获取合同列表失败,Err:"+err.Error())
 		return
 	}
+	if len(list) > 0 {
+		// 代付合同查询代付用户名称
+		contractIdSlice := make([]string, 0)
+		for i := 0; i < len(list); i ++ {
+			if list[i].ContractBusinessType == "代付合同" {
+				contractIdSlice = append(contractIdSlice, strconv.Itoa(list[i].ContractId))
+			}
+		}
+		if len(contractIdSlice) > 0 {
+			contractIdStr := strings.Join(contractIdSlice, ",")
+			contractList, err := contract_relation.GetContractRelationListByPaymentOnBehalfContractIds(contractIdStr)
+			if err != nil {
+				c.FailWithMessage("获取失败", "获取代付合同对应的合同数据失败,Err:"+err.Error())
+				return
+			}
+			userCompanyNameMap := make(map[int]string, 0)
+			for i := 0; i < len(contractList); i ++ {
+				userCompanyNameMap[contractList[i].PaymentOnBehalfContractId] = contractList[i].CompanyName
+			}
+			for _, item := range list {
+				if item.ContractBusinessType == "代付合同" {
+					item.UseCompanyName = userCompanyNameMap[item.ContractId]
+				}
+			}
+		}
+	}
 
 	page := paging.GetPaging(currentIndex, pageSize, total)
 

+ 64 - 38
controllers/seal.go

@@ -33,21 +33,32 @@ func (c *SealCommon) Add() {
 		return
 	}
 
-	//参数校验
-	paramVerify := utils.Rules{
-		"Use":         {utils.NotEmpty()},
-		"CompanyName": {utils.NotEmpty()},
-		"CreditCode":  {utils.NotEmpty()},
-		"ServiceType": {utils.NotEmpty()},
-		"SealType":    {utils.NotEmpty()},
-		"FileUrl":     {utils.NotEmpty()},
+	// 参数校验
+	if req.Use == "" {
+		c.FailWithMessage("用印用途不能为空", "用印用途不能为空")
+		return
 	}
-	err = utils.Verify(req, paramVerify, utils.LANG_CN)
-
-	if err != nil {
-		c.FailWithMessage("缺少参数", err.Error())
+	if req.CompanyName == "" {
+		c.FailWithMessage("客户名称不能为空", "客户名称不能为空")
+		return
+	}
+	if req.CreditCode == "" {
+		c.FailWithMessage("社会统一信用代码不能为空", "社会统一信用代码不能为空")
+		return
+	}
+	if req.ServiceType == "" {
+		c.FailWithMessage("合同类型不能为空", "合同类型不能为空")
+		return
+	}
+	if req.SealType == "" {
+		c.FailWithMessage("印章类型不能为空", "印章类型不能为空")
 		return
 	}
+	if req.FileUrl == "" {
+		c.FailWithMessage("合同附件不能为空", "合同附件不能为空")
+		return
+	}
+
 	sealInfo, err := sealService.AddSeal(c.AdminWx.AdminId, req.ContractId, req.FileNum, c.AdminWx.RealName, req.Use, req.UseCompanyName, req.CompanyName, req.CreditCode, req.ServiceType, req.SealType, req.Remark, req.FileUrl)
 	if err != nil {
 		c.FailWithMessage("用印添加失败", err.Error())
@@ -78,22 +89,36 @@ func (c *SealCommon) Edit() {
 		return
 	}
 
-	//参数校验
-	paramVerify := utils.Rules{
-		"SealId":      {utils.NotEmpty()},
-		"Use":         {utils.NotEmpty()},
-		"CompanyName": {utils.NotEmpty()},
-		"CreditCode":  {utils.NotEmpty()},
-		"ServiceType": {utils.NotEmpty()},
-		"SealType":    {utils.NotEmpty()},
-		"FileUrl":     {utils.NotEmpty()},
-	}
-	err = utils.Verify(req, paramVerify, utils.LANG_CN)
-
+	// 参数校验
 	if req.SealId <= 0 {
-		c.FailWithMessage("合同编号必传!", "合同编号必传!")
+		c.FailWithMessage("用印编号不能为空", "用印编号不能为空")
+		return
+	}
+	if req.Use == "" {
+		c.FailWithMessage("用印用途不能为空", "用印用途不能为空")
+		return
+	}
+	if req.CompanyName == "" {
+		c.FailWithMessage("客户名称不能为空", "客户名称不能为空")
 		return
 	}
+	if req.CreditCode == "" {
+		c.FailWithMessage("社会统一信用代码不能为空", "社会统一信用代码不能为空")
+		return
+	}
+	if req.ServiceType == "" {
+		c.FailWithMessage("合同类型不能为空", "合同类型不能为空")
+		return
+	}
+	if req.SealType == "" {
+		c.FailWithMessage("印章类型不能为空", "印章类型不能为空")
+		return
+	}
+	if req.FileUrl == "" {
+		c.FailWithMessage("合同附件不能为空", "合同附件不能为空")
+		return
+	}
+
 	sealInfo, err := sealService.Edit(req.SealId, c.AdminWx.AdminId, req.ContractId, req.FileNum, req.Use, req.CompanyName, req.UseCompanyName, req.CreditCode, req.ServiceType, req.SealType, req.Remark, req.FileUrl, c.AdminWx.RealName)
 	if err != nil {
 		c.FailWithMessage("修改合同失败!", "修改合同失败,Err:"+err.Error())
@@ -123,21 +148,22 @@ func (c *SealCommon) CheckEdit() {
 		return
 	}
 
-	//参数校验
-	paramVerify := utils.Rules{
-		"SealId":      {utils.NotEmpty()},
-		"Use":         {utils.NotEmpty()},
-		"CompanyName": {utils.NotEmpty()},
-		"CreditCode":  {utils.NotEmpty()},
-		"ServiceType": {utils.NotEmpty()},
-		"SealType":    {utils.NotEmpty()},
-		"FileUrl":     {utils.NotEmpty()},
-	}
-	err = utils.Verify(req, paramVerify, utils.LANG_CN)
-
+	// 参数校验
 	sealId := req.SealId
 	if sealId <= 0 {
-		c.FailWithMessage("请传入用印单编号!", "请传入用印单编号!")
+		c.FailWithMessage("用印编号不能为空", "用印编号不能为空")
+		return
+	}
+	if req.Use == "" {
+		c.FailWithMessage("用印用途不能为空", "用印用途不能为空")
+		return
+	}
+	if req.SealType == "" {
+		c.FailWithMessage("印章类型不能为空", "印章类型不能为空")
+		return
+	}
+	if req.FileUrl == "" {
+		c.FailWithMessage("合同附件不能为空", "合同附件不能为空")
 		return
 	}
 

+ 6 - 1
controllers/seal_approval.go

@@ -367,6 +367,11 @@ func (c *SealApprovalCommon) Reject() {
 		c.FailWithMessage("请传入用印单编号!", "请传入用印单编号!")
 		return
 	}
+	remark := strings.Trim(req.Remark, " ")
+	if remark == "" {
+		c.FailWithMessage("请输入驳回理由!", "请输入驳回理由!")
+		return
+	}
 
 	//数据校验
 	sealInfo, approvalInfo, approvalRecord, err := sealService.CheckApproveAuth(sealId, c.AdminWx)
@@ -374,7 +379,7 @@ func (c *SealApprovalCommon) Reject() {
 		c.FailWithMessage("驳回审批失败!", "驳回审批失败,Err:"+err.Error())
 		return
 	}
-	err = sealService.Reject(sealInfo, approvalInfo, approvalRecord, c.AdminWx, req.Remark)
+	err = sealService.Reject(sealInfo, approvalInfo, approvalRecord, c.AdminWx, remark)
 	if err != nil {
 		c.FailWithMessage("驳回审批失败!", "驳回审批失败,Err:"+err.Error())
 		return

+ 3 - 2
services/seal/seal.go

@@ -106,10 +106,11 @@ func Edit(sealId, userId, contractId, fileNum int, use, companyName, userCompany
 	sealInfo.FileUrl = fileUrl
 	sealInfo.FileNum = fileNum
 	sealInfo.ContractId = contractId
+	sealInfo.CreateTime = time.Now()	// 重提更新提交时间
 	sealInfo.ModifyTime = time.Now()
 	sealInfo.Status = "待提交" //用印状态
 
-	err = sealInfo.Update([]string{"Use", "CompanyName", "UseCompanyName", "CreditCode", "ServiceType", "SealType", "Remark", "FileUrl", "ModifyTime", "Status"})
+	err = sealInfo.Update([]string{"Use", "CompanyName", "UseCompanyName", "CreditCode", "ServiceType", "SealType", "Remark", "FileUrl", "FileNum", "ContractId", "CreateTime", "ModifyTime", "Status"})
 	if err != nil {
 		err = errors.New("新增用印日志失败")
 		return
@@ -448,7 +449,7 @@ func GetOpButton(sealInfo *seal.Seal, contractApprovalInfo *contract_approval.Co
 
 		//待审批状态下,如果当前审批节点就是操作人,审批节点超过当前审批节点,且节点类型是抄送人,,那么标记为处理中
 		if contractApprovalInfo.Status == "待审批" {
-			if approvalRecord.ApproveUserId == opUser.AdminId && approvalRecord.NodeId < contractApprovalInfo.CurrNodeId && approvalRecord.NodeType == "cc" {
+			if approvalRecord.ApproveUserId == opUser.AdminId && approvalRecord.NodeId < contractApprovalInfo.CurrNodeId && approvalRecord.NodeType != "cc" {
 				sealInfo.Status = "处理中"
 			}
 		}

+ 22 - 0
utils/common.go

@@ -13,6 +13,7 @@ import (
 	"image/png"
 	"math"
 	"math/rand"
+	"net"
 	"os"
 	"os/exec"
 	"regexp"
@@ -703,3 +704,24 @@ func FormatPrice(price float64) (str string) {
 	}
 	return strings.Join(arr, ".") //将一系列字符串连接为一个字符串,之间用sep来分隔。
 }
+
+func GetLocalIP() (ip string, err error) {
+	addrs, err := net.InterfaceAddrs()
+	if err != nil {
+		return
+	}
+	for _, addr := range addrs {
+		ipAddr, ok := addr.(*net.IPNet)
+		if !ok {
+			continue
+		}
+		if ipAddr.IP.IsLoopback() {
+			continue
+		}
+		if !ipAddr.IP.IsGlobalUnicast() {
+			continue
+		}
+		return ipAddr.IP.String(), nil
+	}
+	return
+}

+ 15 - 4
utils/config.go

@@ -56,11 +56,22 @@ func init() {
 	}
 	RunMode = tmpRunMode
 	if RunMode == "" {
-		RunMode = "release"
+		localIp, tempErr := GetLocalIP()
+		if tempErr != nil {
+			fmt.Println("init GetLocalIP Err:" + tempErr.Error())
+		}
+		fmt.Println("localIp:", localIp)
+		if localIp == "10.0.0.123" {
+			RunMode = "debug"
+		} else {
+			RunMode = "release"
+		}
+		fmt.Println("RunMode:", RunMode)
+
 		configPath := `/home/code/config/hongze_mobile_admin/conf/app.conf`
-		err := web.LoadAppConfig("ini", configPath)
-		if err != nil {
-			fmt.Println("web.LoadAppConfig Err:" + err.Error())
+		tempErr = web.LoadAppConfig("ini", configPath)
+		if tempErr != nil {
+			fmt.Println("web.LoadAppConfig Err:" + tempErr.Error())
 		}
 	}