|
|
package gys
|
|
|
|
|
|
import (
|
|
|
"encoding/base64"
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
"github.com/gin-gonic/gin"
|
|
|
"github.com/golangkit/formatime"
|
|
|
"github.com/jinzhu/gorm"
|
|
|
"github.com/shopspring/decimal"
|
|
|
"io/ioutil"
|
|
|
"log"
|
|
|
"path/filepath"
|
|
|
"recook/configs"
|
|
|
"recook/internal/api/manage/gys/logic"
|
|
|
"recook/internal/back"
|
|
|
"recook/internal/dbc"
|
|
|
"recook/internal/libs/aliyun"
|
|
|
"recook/internal/libs/bean"
|
|
|
"recook/internal/libs/juhe"
|
|
|
"recook/internal/libs/tianyan"
|
|
|
"recook/internal/model/gys"
|
|
|
"recook/internal/model/manage"
|
|
|
"recook/internal/model/vend"
|
|
|
"recook/internal/static_path"
|
|
|
"recook/tools"
|
|
|
"strconv"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
type Enterprise struct {
|
|
|
base
|
|
|
}
|
|
|
|
|
|
type replyStatus struct {
|
|
|
Status string `json:"status"`
|
|
|
StateInfo string `json:"stateInfo"`
|
|
|
Name string `json:"name"`
|
|
|
Email string `json:"email"`
|
|
|
Contract string `json:"contract"`
|
|
|
}
|
|
|
|
|
|
// @Style 状态查询
|
|
|
func (e *Enterprise) Status(c *gin.Context) {
|
|
|
userId, err := e.GetGysIdByWs(c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
state := vend.GysEnterpriseState{}
|
|
|
dbc.DB.First(&state, "user_id = ?", userId)
|
|
|
if state.ID > 0 {
|
|
|
// 认证成功
|
|
|
email := ""
|
|
|
Contract := ""
|
|
|
if state.State == "2" {
|
|
|
sector := vend.GysEnterpriseSector{}
|
|
|
dbc.DB.First(§or, "enterprise_id = ? and `type` = ?", state.ID, vend.Sector_Type_Sales)
|
|
|
email = sector.Email
|
|
|
if tools.FileExist(filepath.Join(static_path.Dir.Root, "/contract/pdf/瑞库客平台合作协议_"+state.ContractNo+".pdf")) {
|
|
|
Contract = "/contract/pdf/瑞库客平台合作协议_" + state.ContractNo + ".pdf"
|
|
|
}
|
|
|
}
|
|
|
back.Suc(c, "操作成功", replyStatus{Status: state.State, StateInfo: state.StateInfo, Name: state.EnterpriseName, Email: email, Contract: Contract})
|
|
|
return
|
|
|
}
|
|
|
back.Suc(c, "操作成功", replyStatus{Status: "0"})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
type replyFillData struct {
|
|
|
CompanyId uint `json:"companyId" form:"companyId"`
|
|
|
LicenseUrl string `json:"licenseUrl" form:"licenseUrl"`
|
|
|
LegalPersonUrl string `json:"legalPersonUrl" form:"legalPersonUrl"`
|
|
|
PaytaxesUrl string `json:"paytaxesUrl" form:"paytaxesUrl"`
|
|
|
AccountUrl string `json:"accountUrl" form:"accountUrl"`
|
|
|
BankName string `json:"bankName" form:"bankName"` // 开户行
|
|
|
BankCode string `json:"bankCode" form:"bankCode"` // 银行账户
|
|
|
Address string `json:"address" form:"address"` // 地址
|
|
|
PayTaxes int `json:"payTaxes" form:"payTaxes"`
|
|
|
Sales logic.Sector `json:"sales"` // 业务联系人
|
|
|
SourceId uint `json:"sourceId" form:"sourceId"`
|
|
|
Name string `json:"name"`
|
|
|
RegNum string `json:"regNum"`
|
|
|
LegalPersonName string `json:"legalPersonName"`
|
|
|
IsCreditCode int `json:"isCreditCode"`
|
|
|
TaxNumber string `json:"taxNumber"`
|
|
|
FormTime string `json:"formTime"`
|
|
|
ToTime string `json:"toTime"`
|
|
|
OperationAddress string `json:"operationAddress"`
|
|
|
Tel string `json:"tel"`
|
|
|
}
|
|
|
|
|
|
func (e *Enterprise) FillData(c *gin.Context) {
|
|
|
userId, err := e.GetGysIdByWs(c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
state := vend.GysEnterpriseState{}
|
|
|
dbc.DB.Table("gys_enterprise_state").First(&state, "user_id = ?", userId)
|
|
|
if state.ID > 0 {
|
|
|
if state.State == "1" {
|
|
|
back.Fail(c, "账户审核中")
|
|
|
return
|
|
|
}
|
|
|
if state.State == "2" {
|
|
|
back.Fail(c, "账户已审核通过")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
log.Println(state)
|
|
|
sector := vend.GysEnterpriseSector{}
|
|
|
dbc.DB.First(§or, "enterprise_id = ? and `type` = ?", state.ID, vend.Sector_Type_Sales)
|
|
|
|
|
|
companyBase := gys.GysCompanyBase{}
|
|
|
dbc.DB.First(&companyBase, "id = ?", state.CompanyId)
|
|
|
result := replyFillData{
|
|
|
CompanyId: state.CompanyId,
|
|
|
LicenseUrl: state.LicenseUrl,
|
|
|
LegalPersonUrl: state.LegalPersonUrl,
|
|
|
PaytaxesUrl: state.PaytaxesUrl,
|
|
|
AccountUrl: state.AccountUrl,
|
|
|
BankName: state.BankName,
|
|
|
BankCode: state.BankCode,
|
|
|
Address: state.Address,
|
|
|
PayTaxes: state.PayTaxes,
|
|
|
Sales: logic.Sector{
|
|
|
Name: sector.Name,
|
|
|
Phone: sector.Phone,
|
|
|
Email: sector.Email,
|
|
|
Position: sector.Position,
|
|
|
},
|
|
|
SourceId: state.Source,
|
|
|
Name: state.EnterpriseName,
|
|
|
RegNum: state.EnterpriseCode,
|
|
|
LegalPersonName: state.LegalPerson,
|
|
|
IsCreditCode: companyBase.IsCreditCode,
|
|
|
TaxNumber: state.TaxNumber,
|
|
|
FormTime: state.BusinessStart,
|
|
|
ToTime: state.BusinessEnd,
|
|
|
OperationAddress: state.OperationAddress,
|
|
|
Tel: state.Tel,
|
|
|
}
|
|
|
back.Suc(c, "操作成功", result)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
type argsLicense struct {
|
|
|
LicenseUrl string `json:"licenseUrl" form:"licenseUrl"`
|
|
|
}
|
|
|
|
|
|
type replyLicense struct {
|
|
|
Name string `json:"name"`
|
|
|
RegNum string `json:"regNum"`
|
|
|
}
|
|
|
|
|
|
// @Style 营业执照识别
|
|
|
func (e *Enterprise) License(c *gin.Context) {
|
|
|
userId, err := e.GetGysIdByWs(c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
args := argsLicense{}
|
|
|
if err := tools.Params(&args, c); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
if args.LicenseUrl == "" {
|
|
|
back.Fail(c, "参数错误")
|
|
|
return
|
|
|
}
|
|
|
state := vend.GysEnterpriseState{}
|
|
|
dbc.DB.Table("gys_enterprise_state").First(&state, "user_id = ?", userId)
|
|
|
if state.ID > 0 {
|
|
|
if state.State == "1" {
|
|
|
back.Fail(c, "账户审核中")
|
|
|
return
|
|
|
}
|
|
|
if state.State == "2" {
|
|
|
back.Fail(c, "账户已审核通过")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
licenseInfo := gys.OcrBusinessLicense{}
|
|
|
dbc.DB.First(&licenseInfo, "img_path = ?", args.LicenseUrl)
|
|
|
if licenseInfo.Id > 0 {
|
|
|
back.Suc(c, "操作成功", replyLicense{
|
|
|
Name: licenseInfo.Name,
|
|
|
RegNum: licenseInfo.RegNum,
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
date := time.Now().Format("20060102")
|
|
|
i, _ := dbc.Rds.Get(fmt.Sprintf("ocr:license:%v:user:%v", date, userId)).Int()
|
|
|
if i < 10 {
|
|
|
dbc.Rds.Set(fmt.Sprintf("ocr:license:%v:user:%v", date, userId), i+1, time.Hour*24)
|
|
|
file, err := ioutil.ReadFile(static_path.Dir.Root + args.LicenseUrl)
|
|
|
if err != nil {
|
|
|
back.Fail(c, "图片错误")
|
|
|
return
|
|
|
}
|
|
|
license, err := aliyun.Ocr.BusinessLicense(base64.StdEncoding.EncodeToString(file))
|
|
|
if err != nil {
|
|
|
log.Println(err)
|
|
|
back.Fail(c, "未识别出营业执照信息,请重拍或着手动填写")
|
|
|
return
|
|
|
}
|
|
|
isSuccess := 0
|
|
|
if license.Success {
|
|
|
isSuccess = 1
|
|
|
}
|
|
|
dbc.DB.Create(&gys.OcrBusinessLicense{
|
|
|
ImgPath: args.LicenseUrl,
|
|
|
IsSuccess: isSuccess,
|
|
|
Name: license.Name,
|
|
|
RegNum: license.RegNum,
|
|
|
})
|
|
|
back.Suc(c, "操作成功", replyLicense{
|
|
|
Name: license.Name,
|
|
|
RegNum: license.RegNum,
|
|
|
})
|
|
|
return
|
|
|
} else {
|
|
|
back.Fail(c, "图片识别每日限10次,请手动录入或明日再试")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
|
|
|
type argsComapany struct {
|
|
|
Name string `json:"name" form:"name"`
|
|
|
RegNum string `json:"regNum" form:"regNum"`
|
|
|
}
|
|
|
|
|
|
type replyCompany struct {
|
|
|
CompanyId uint `json:"companyId"`
|
|
|
Name string `json:"name"`
|
|
|
RegNum string `json:"regNum"`
|
|
|
LegalPersonName string `json:"legalPersonName"`
|
|
|
IsCreditCode int `json:"isCreditCode"`
|
|
|
TaxNumber string `json:"taxNumber"`
|
|
|
FormTime string `json:"formTime"`
|
|
|
ToTime string `json:"toTime"`
|
|
|
Address string `json:"address"`
|
|
|
Bank string `json:"bank"`
|
|
|
Bankaccount string `json:"bankaccount"`
|
|
|
Tel string `json:"tel"`
|
|
|
}
|
|
|
|
|
|
// @Style 企业信息获取
|
|
|
func (e *Enterprise) Company(c *gin.Context) {
|
|
|
userId, err := e.GetGysIdByWs(c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
args := argsComapany{}
|
|
|
if err := tools.Params(&args, c); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
if args.Name == "" {
|
|
|
back.Fail(c, "参数错误")
|
|
|
return
|
|
|
}
|
|
|
// 本地数据查询
|
|
|
companyBase := gys.GysCompanyBase{}
|
|
|
dbc.DB.First(&companyBase, "name = ?", args.Name)
|
|
|
if companyBase.Id > 0 {
|
|
|
creditcode := gys.GysCompanyCreditcode{}
|
|
|
if companyBase.IsCreditCode == 1 {
|
|
|
dbc.DB.First(&creditcode, "company_id = ?", companyBase.Id)
|
|
|
}
|
|
|
back.Suc(c, "操作成功", replyCompany{
|
|
|
CompanyId: companyBase.Id,
|
|
|
Name: companyBase.Name,
|
|
|
RegNum: companyBase.CreditCode,
|
|
|
LegalPersonName: companyBase.LegalPersonName,
|
|
|
IsCreditCode: companyBase.IsCreditCode,
|
|
|
TaxNumber: companyBase.TaxNumber,
|
|
|
FormTime: companyBase.GetBusinessStart(),
|
|
|
ToTime: companyBase.GetBusinessEnd(),
|
|
|
Address: creditcode.Address,
|
|
|
Bank: creditcode.Bank,
|
|
|
Bankaccount: creditcode.Bankaccount,
|
|
|
})
|
|
|
return
|
|
|
} else {
|
|
|
// 频率检测
|
|
|
date := time.Now().Format("20060102")
|
|
|
i, _ := dbc.Rds.Get(fmt.Sprintf("tianyan:company:%v:user:%v", date, userId)).Int()
|
|
|
if i >= 10 {
|
|
|
back.Fail(c, "操作次数过多,请明天重试")
|
|
|
return
|
|
|
}
|
|
|
dbc.Rds.Set(fmt.Sprintf("tianyan:company:%v:user:%v", date, userId), i+1, time.Hour*24)
|
|
|
|
|
|
// 工商信息获取
|
|
|
info, err := tianyan.Company.BaseInfo(args.Name)
|
|
|
if err != nil {
|
|
|
back.Fail(c, "网络异常")
|
|
|
return
|
|
|
}
|
|
|
if info.ID > 0 {
|
|
|
// 获取到工商信息,调用接口获取开票信息
|
|
|
creditCode, _ := juhe.Juhe.CreditCode(info.RegNumber)
|
|
|
|
|
|
isCreditCode := 0
|
|
|
if creditCode.Name != "" {
|
|
|
isCreditCode = 1
|
|
|
}
|
|
|
|
|
|
// 写入数据
|
|
|
data := gys.GysCompanyBase{
|
|
|
StaffNumRange: info.StaffNumRange,
|
|
|
FromTime: info.FromTime,
|
|
|
Type: info.Type,
|
|
|
BondName: info.BondName,
|
|
|
TianyanId: info.ID,
|
|
|
IsMicroEnt: info.IsMicroEnt,
|
|
|
UsedBondName: info.UsedBondName,
|
|
|
RegNumber: info.RegNumber,
|
|
|
PercentileScore: info.PercentileScore,
|
|
|
RegCapital: info.RegCapital,
|
|
|
Name: info.Name,
|
|
|
RegInstitute: info.RegInstitute,
|
|
|
RegLocation: info.RegLocation,
|
|
|
Industry: info.Industry,
|
|
|
ApprovedTime: info.ApprovedTime,
|
|
|
SocialStaffNum: info.SocialStaffNum,
|
|
|
Tags: info.Tags,
|
|
|
TaxNumber: info.TaxNumber,
|
|
|
BusinessScope: info.BusinessScope,
|
|
|
Property3: info.Property3,
|
|
|
Alias: info.Alias,
|
|
|
OrgNumber: info.OrgNumber,
|
|
|
RegStatus: info.RegStatus,
|
|
|
EstiblishTime: info.EstiblishTime,
|
|
|
BondType: info.BondType,
|
|
|
LegalPersonName: info.LegalPersonName,
|
|
|
ToTime: info.ToTime,
|
|
|
ActualCapital: info.ActualCapital,
|
|
|
CompanyOrgType: info.CompanyOrgType,
|
|
|
Base: info.Base,
|
|
|
CreditCode: info.CreditCode,
|
|
|
HistoryNames: info.HistoryNames,
|
|
|
BondNum: info.BondNum,
|
|
|
RevokeDate: info.RevokeDate,
|
|
|
RevokeReason: info.RevokeReason,
|
|
|
CancelDate: info.CancelDate,
|
|
|
CancelReason: info.CancelReason,
|
|
|
Category: info.Category,
|
|
|
CategoryBig: info.CategoryBig,
|
|
|
CategoryMiddle: info.CategoryMiddle,
|
|
|
IsCreditCode: isCreditCode,
|
|
|
}
|
|
|
dbc.DB.Create(&data)
|
|
|
if data.Id > 0 {
|
|
|
dbc.DB.Create(&gys.GysCompanyCreditcode{
|
|
|
CompanyId: data.Id,
|
|
|
Name: creditCode.Name,
|
|
|
Creditcode: creditCode.Creditcode,
|
|
|
Econkind: creditCode.Econkind,
|
|
|
Status: creditCode.Status,
|
|
|
Address: creditCode.Address,
|
|
|
Tel: creditCode.Tel,
|
|
|
Bank: creditCode.Bank,
|
|
|
Bankaccount: creditCode.Bankaccount,
|
|
|
Orderid: creditCode.Orderid,
|
|
|
})
|
|
|
}
|
|
|
back.Suc(c, "操作成功", replyCompany{
|
|
|
CompanyId: data.Id,
|
|
|
Name: data.Name,
|
|
|
RegNum: data.CreditCode,
|
|
|
LegalPersonName: data.LegalPersonName,
|
|
|
IsCreditCode: isCreditCode,
|
|
|
TaxNumber: data.TaxNumber,
|
|
|
FormTime: data.GetBusinessStart(),
|
|
|
ToTime: data.GetBusinessEnd(),
|
|
|
Address: creditCode.Address,
|
|
|
Bank: creditCode.Bank,
|
|
|
Bankaccount: creditCode.Bankaccount,
|
|
|
Tel: creditCode.Tel,
|
|
|
})
|
|
|
return
|
|
|
} else {
|
|
|
back.Fail(c, "未查询到相关企业信息,请确认公司名称是否准确")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// @Style 来源-运用商
|
|
|
func (e *Enterprise) Source(c *gin.Context) {
|
|
|
gysSources := []gys.GysSource{}
|
|
|
dbc.DB.Order("order").Find(&gysSources, "is_show = 1")
|
|
|
back.Suc(c, "操作成功", gysSources)
|
|
|
}
|
|
|
|
|
|
type argsSubmit struct {
|
|
|
CompanyId uint `json:"companyId" form:"companyId"`
|
|
|
LicenseUrl string `json:"licenseUrl" form:"licenseUrl"`
|
|
|
LegalPersonUrl string `json:"legalPersonUrl" form:"legalPersonUrl"`
|
|
|
PaytaxesUrl string `json:"paytaxesUrl" form:"paytaxesUrl"`
|
|
|
AccountUrl string `json:"accountUrl" form:"accountUrl"`
|
|
|
BankName string `json:"bankName" form:"bankName"` // 开户行
|
|
|
BankCode string `json:"bankCode" form:"bankCode"` // 银行账户
|
|
|
Address string `json:"address" form:"address"` // 地址
|
|
|
OperationAddress string `json:"operationAddress" form:"operationAddress"` // 经营地址
|
|
|
PayTaxes int `json:"payTaxes" form:"payTaxes"`
|
|
|
logic.Sector // 业务联系人
|
|
|
SourceId uint `json:"sourceId" form:"sourceId"`
|
|
|
Tel string `json:"tel" form:"tel"`
|
|
|
}
|
|
|
|
|
|
// @Style 提交数据
|
|
|
func (e *Enterprise) Submit(c *gin.Context) {
|
|
|
userId, err := e.GetGysIdByWs(c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
|
args := argsSubmit{}
|
|
|
err = tools.Params(&args, c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
if err := logic.SectorLogic.VerfiySector(args.Sector); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
gysState := vend.GysEnterpriseState{}
|
|
|
dbc.DB.First(&gysState, "user_id = ?", userId)
|
|
|
if gysState.ID > 0 {
|
|
|
if gysState.State == "1" {
|
|
|
back.Fail(c, "资料申请审核中")
|
|
|
return
|
|
|
}
|
|
|
if gysState.State == "2" {
|
|
|
back.Fail(c, "已审核通过")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
companyBase := gys.GysCompanyBase{}
|
|
|
dbc.DB.First(&companyBase, "id = ?", args.CompanyId)
|
|
|
if companyBase.Id <= 0 {
|
|
|
back.Fail(c, "资料错误")
|
|
|
return
|
|
|
}
|
|
|
//if companyBase.IsCreditCode == 1 {
|
|
|
// creditcode := gys.GysCompanyCreditcode{}
|
|
|
// dbc.DB.First(&creditcode, "company_id = ?", companyBase.Id)
|
|
|
//args.BankCode = creditcode.Bankaccount
|
|
|
//args.BankName = creditcode.Bank
|
|
|
//args.Address = creditcode.Address
|
|
|
//}
|
|
|
// 合同编号
|
|
|
contractNo, err := logic.EnterpriseLogic.GetContractNo()
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
contractTmp := vend.GysEnterpriseState{}
|
|
|
dbc.DB.First(&contractTmp, "contract_no = ?", contractNo)
|
|
|
if contractTmp.ID > 0 {
|
|
|
if contractTmp.ID != gysState.ID {
|
|
|
back.Fail(c, "合同编号获取失败")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
gysSource := gys.GysSource{}
|
|
|
dbc.DB.First(&gysSource, "id = ?", args.SourceId)
|
|
|
if gysSource.Id <= 0 {
|
|
|
back.Fail(c, "运营方选择错误")
|
|
|
return
|
|
|
}
|
|
|
// 生成预览合同
|
|
|
if err := logic.EnterpriseLogic.ContractInit(contractNo, companyBase.Name, companyBase.TaxNumber, args.OperationAddress, args.BankName, args.BankCode, gysSource); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
if err = dbc.DB.Transaction(func(tx *gorm.DB) error {
|
|
|
gysEnterpriseState := vend.GysEnterpriseState{
|
|
|
EnterpriseName: companyBase.Name,
|
|
|
Recommended: "0",
|
|
|
RegistrationAddress: 1,
|
|
|
Trade: 1,
|
|
|
CompanyType: companyBase.GetCompanyType(),
|
|
|
CompanyTypeInfo: companyBase.GetCompanyInfo(),
|
|
|
Capital: decimal.NewFromFloat(companyBase.GetRegCapital()).String(),
|
|
|
Currency: companyBase.GetCurrency(),
|
|
|
BusinessStart: companyBase.GetBusinessStart(),
|
|
|
BusinessEnd: companyBase.GetBusinessEnd(),
|
|
|
RegistrationDetailAddress: companyBase.RegLocation,
|
|
|
EnterpriseCode: companyBase.CreditCode,
|
|
|
LicenseUrl: args.LicenseUrl,
|
|
|
PayTaxes: args.PayTaxes,
|
|
|
PaytaxesUrl: args.PaytaxesUrl,
|
|
|
AccountUrl: args.AccountUrl,
|
|
|
LegalPerson: companyBase.LegalPersonName,
|
|
|
LegalPersonUrl: args.LegalPersonUrl,
|
|
|
ComitTime: formatime.NewSecondNow(),
|
|
|
State: "1",
|
|
|
UserID: strconv.FormatUint(uint64(userId), 10),
|
|
|
CompanyId: args.CompanyId,
|
|
|
Source: args.SourceId,
|
|
|
TaxNumber: companyBase.TaxNumber,
|
|
|
BankName: args.BankName,
|
|
|
BankCode: args.BankCode,
|
|
|
Address: args.Address,
|
|
|
ContractNo: contractNo,
|
|
|
OperationAddress: args.OperationAddress,
|
|
|
Tel: args.Tel,
|
|
|
}
|
|
|
if gysState.ID > 0 {
|
|
|
gysEnterpriseState.ID = gysState.ID
|
|
|
logic.EnterpriseLogic.Updates(gysEnterpriseState.ID, &gysEnterpriseState, tx)
|
|
|
} else {
|
|
|
logic.EnterpriseLogic.Create(&gysEnterpriseState, tx)
|
|
|
}
|
|
|
if gysEnterpriseState.ID <= 0 {
|
|
|
return errors.New("网络异常")
|
|
|
}
|
|
|
if gysState.ID > 0 {
|
|
|
logic.SectorLogic.Delete(gysEnterpriseState.ID, tx)
|
|
|
}
|
|
|
// 业务联系人
|
|
|
sales := vend.GysEnterpriseSector{
|
|
|
Name: args.Sector.Name,
|
|
|
Phone: args.Sector.Phone,
|
|
|
Email: args.Sector.Email,
|
|
|
Position: args.Sector.Position,
|
|
|
EnterpriseID: gysEnterpriseState.ID,
|
|
|
Type: vend.Sector_Type_Sales,
|
|
|
}
|
|
|
logic.SectorLogic.Create(&sales, tx)
|
|
|
if sales.ID <= 0 {
|
|
|
return errors.New("网络异常")
|
|
|
}
|
|
|
return nil
|
|
|
}); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
back.Suc(c, "资料提交成功", nil)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func (e *Enterprise) Create(c *gin.Context) {
|
|
|
userId, err := e.GetGysId(c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
|
args := logic.EnterpriseInfo{}
|
|
|
err = tools.Params(&args, c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if err := logic.EnterpriseLogic.Verfiy(&args); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
gysEnterpriseState := vend.GysEnterpriseState{}
|
|
|
dbc.DB.First(&gysEnterpriseState, "user_id = ?", userId)
|
|
|
if gysEnterpriseState.ID > 0 {
|
|
|
back.Fail(c, "资料已提交")
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if err = dbc.DB.Transaction(func(tx *gorm.DB) error {
|
|
|
gysEnterpriseState := vend.GysEnterpriseState{
|
|
|
EnterpriseName: args.EnterpriseName,
|
|
|
RegistrationAddress: args.RegistrationAddress,
|
|
|
Trade: args.Trade,
|
|
|
Recommended: "0",
|
|
|
CompanyType: args.CompanyType,
|
|
|
CompanyTypeInfo: args.CompanyTypeInfo,
|
|
|
Capital: args.CapitalDecimal.String(),
|
|
|
Currency: args.Currency,
|
|
|
BusinessStart: args.BusinessStartTime.Format("2006-01-02"),
|
|
|
BusinessEnd: args.BusinessEndTime.Format("2006-01-02"),
|
|
|
RegistrationProvince: args.RegistrationProvince,
|
|
|
RegistrationCity: args.RegistrationCity,
|
|
|
RegistrationDistrict: args.RegistrationDistrict,
|
|
|
RegistrationDetailAddress: args.RegistrationDetailAddress,
|
|
|
OperationProvince: args.OperationProvince,
|
|
|
OperationCity: args.OperationCity,
|
|
|
OperationDistrict: args.OperationDistrict,
|
|
|
OperationAddress: args.OperationAddress,
|
|
|
EnterpriseCode: args.EnterpriseCode,
|
|
|
LicenseUrl: args.LicenseUrl,
|
|
|
PayTaxes: args.PayTaxes,
|
|
|
PaytaxesUrl: args.PaytaxesUrl,
|
|
|
AccountUrl: args.AccountUrl,
|
|
|
LegalPerson: args.LegalPerson,
|
|
|
LegalPersonCode: args.LegalPersonCode,
|
|
|
LegalPersonUrl: args.LegalPersonUrl,
|
|
|
OverseasRegistration: args.OverseasRegistration,
|
|
|
OverseasOperation: args.OverseasOperation,
|
|
|
OverseasOperationInfo: args.OverseasOperationInfo,
|
|
|
OverseasCode: args.OverseasCode,
|
|
|
OverseasCodeUrl: args.OverseasCodeUrl,
|
|
|
OverseasAccountUrl: args.OverseasAccountUrl,
|
|
|
OverseasLegalPerson: args.OverseasLegalPerson,
|
|
|
OverseasLegalPersonUrl: args.OverseasLegalPersonUrl,
|
|
|
ComitTime: formatime.NewSecondNow(),
|
|
|
State: "1",
|
|
|
UserID: strconv.FormatUint(uint64(userId), 10),
|
|
|
}
|
|
|
logic.EnterpriseLogic.Create(&gysEnterpriseState, tx)
|
|
|
if gysEnterpriseState.ID <= 0 {
|
|
|
return errors.New("网络异常")
|
|
|
}
|
|
|
// 业务联系人
|
|
|
sales := vend.GysEnterpriseSector{
|
|
|
Name: args.Sales.Name,
|
|
|
Phone: args.Sales.Phone,
|
|
|
Email: args.Sales.Email,
|
|
|
EnterpriseID: gysEnterpriseState.ID,
|
|
|
Type: vend.Sector_Type_Sales,
|
|
|
}
|
|
|
logic.SectorLogic.Create(&sales, tx)
|
|
|
if sales.ID <= 0 {
|
|
|
return errors.New("网络异常")
|
|
|
}
|
|
|
|
|
|
// 售后联系人
|
|
|
afterSales := vend.GysEnterpriseSector{
|
|
|
Name: args.AfterSales.Name,
|
|
|
Phone: args.AfterSales.Phone,
|
|
|
Email: args.AfterSales.Email,
|
|
|
EnterpriseID: gysEnterpriseState.ID,
|
|
|
Type: vend.Sector_Type_AfterSales,
|
|
|
}
|
|
|
logic.SectorLogic.Create(&afterSales, tx)
|
|
|
if sales.ID <= 0 {
|
|
|
return errors.New("网络异常")
|
|
|
}
|
|
|
|
|
|
// 对账联系人
|
|
|
account := vend.GysEnterpriseSector{
|
|
|
Name: args.Account.Name,
|
|
|
Phone: args.Account.Phone,
|
|
|
Email: args.Account.Email,
|
|
|
EnterpriseID: gysEnterpriseState.ID,
|
|
|
Type: vend.Sector_Type_Account,
|
|
|
}
|
|
|
logic.SectorLogic.Create(&account, tx)
|
|
|
if sales.ID <= 0 {
|
|
|
return errors.New("网络异常")
|
|
|
}
|
|
|
if err := logic.BrandLogic.HandBrand(0, userId, args.Brand, gysEnterpriseState.ID, "1", tx); err != nil {
|
|
|
return err
|
|
|
}
|
|
|
return nil
|
|
|
}); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
back.Suc(c, "资料提交成功", nil)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// @Style 重新提交
|
|
|
func (e *Enterprise) Update(c *gin.Context) {
|
|
|
userId, err := e.GetGysId(c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
|
args := logic.EnterpriseInfo{}
|
|
|
err = tools.Params(&args, c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if err := logic.EnterpriseLogic.Verfiy(&args); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
gysEnterpriseState := vend.GysEnterpriseState{}
|
|
|
dbc.DB.First(&gysEnterpriseState, "user_id = ?", userId)
|
|
|
if gysEnterpriseState.ID <= 0 {
|
|
|
back.Fail(c, "资料未提交")
|
|
|
return
|
|
|
}
|
|
|
if gysEnterpriseState.State == "3" {
|
|
|
back.Fail(c, "资料已审核通过")
|
|
|
return
|
|
|
}
|
|
|
|
|
|
gysEnterpriseStateId := gysEnterpriseState.ID
|
|
|
|
|
|
if err := dbc.DB.Transaction(func(tx *gorm.DB) error {
|
|
|
gysEnterpriseState = vend.GysEnterpriseState{
|
|
|
EnterpriseName: args.EnterpriseName,
|
|
|
RegistrationAddress: args.RegistrationAddress,
|
|
|
Trade: args.Trade,
|
|
|
CompanyType: args.CompanyType,
|
|
|
CompanyTypeInfo: args.CompanyTypeInfo,
|
|
|
Capital: args.CapitalDecimal.String(),
|
|
|
Currency: args.Currency,
|
|
|
BusinessStart: args.BusinessStartTime.Format("2006-01-02"),
|
|
|
BusinessEnd: args.BusinessEndTime.Format("2006-01-02"),
|
|
|
RegistrationProvince: args.RegistrationProvince,
|
|
|
RegistrationCity: args.RegistrationCity,
|
|
|
RegistrationDistrict: args.RegistrationDistrict,
|
|
|
RegistrationDetailAddress: args.RegistrationDetailAddress,
|
|
|
OperationProvince: args.OperationProvince,
|
|
|
OperationCity: args.OperationCity,
|
|
|
OperationDistrict: args.OperationDistrict,
|
|
|
OperationAddress: args.OperationAddress,
|
|
|
EnterpriseCode: args.EnterpriseCode,
|
|
|
LicenseUrl: args.LicenseUrl,
|
|
|
PayTaxes: args.PayTaxes,
|
|
|
PaytaxesUrl: args.PaytaxesUrl,
|
|
|
AccountUrl: args.AccountUrl,
|
|
|
LegalPerson: args.LegalPerson,
|
|
|
LegalPersonCode: args.LegalPersonCode,
|
|
|
LegalPersonUrl: args.LegalPersonUrl,
|
|
|
OverseasRegistration: args.OverseasRegistration,
|
|
|
OverseasOperation: args.OverseasOperation,
|
|
|
OverseasOperationInfo: args.OverseasOperationInfo,
|
|
|
OverseasCode: args.OverseasCode,
|
|
|
OverseasCodeUrl: args.OverseasCodeUrl,
|
|
|
OverseasAccountUrl: args.OverseasAccountUrl,
|
|
|
OverseasLegalPerson: args.OverseasLegalPerson,
|
|
|
OverseasLegalPersonUrl: args.OverseasLegalPersonUrl,
|
|
|
ComitTime: formatime.NewSecondNow(),
|
|
|
State: "1",
|
|
|
UserID: strconv.FormatUint(uint64(userId), 10),
|
|
|
}
|
|
|
row := logic.EnterpriseLogic.Updates(gysEnterpriseStateId, &gysEnterpriseState, tx)
|
|
|
if row <= 0 {
|
|
|
return errors.New("网络异常")
|
|
|
}
|
|
|
|
|
|
// 删除联系人
|
|
|
row = logic.SectorLogic.Delete(gysEnterpriseStateId, tx)
|
|
|
if row <= 0 {
|
|
|
return errors.New("网络异常")
|
|
|
}
|
|
|
|
|
|
// 业务联系人
|
|
|
sales := vend.GysEnterpriseSector{
|
|
|
Name: args.Sales.Name,
|
|
|
Phone: args.Sales.Phone,
|
|
|
Email: args.Sales.Email,
|
|
|
EnterpriseID: gysEnterpriseState.ID,
|
|
|
Type: vend.Sector_Type_Sales,
|
|
|
}
|
|
|
logic.SectorLogic.Create(&sales, tx)
|
|
|
if sales.ID <= 0 {
|
|
|
back.Fail(c, "网络异常")
|
|
|
}
|
|
|
|
|
|
// 售后联系人
|
|
|
afterSales := vend.GysEnterpriseSector{
|
|
|
Name: args.AfterSales.Name,
|
|
|
Phone: args.AfterSales.Phone,
|
|
|
Email: args.AfterSales.Email,
|
|
|
EnterpriseID: gysEnterpriseState.ID,
|
|
|
Type: vend.Sector_Type_AfterSales,
|
|
|
}
|
|
|
logic.SectorLogic.Create(&afterSales, tx)
|
|
|
if sales.ID <= 0 {
|
|
|
back.Fail(c, "网络异常")
|
|
|
}
|
|
|
|
|
|
// 对账联系人
|
|
|
account := vend.GysEnterpriseSector{
|
|
|
Name: args.Account.Name,
|
|
|
Phone: args.Account.Phone,
|
|
|
Email: args.Account.Email,
|
|
|
EnterpriseID: gysEnterpriseState.ID,
|
|
|
Type: vend.Sector_Type_Account,
|
|
|
}
|
|
|
logic.SectorLogic.Create(&account, tx)
|
|
|
if sales.ID <= 0 {
|
|
|
back.Fail(c, "网络异常")
|
|
|
}
|
|
|
if err := logic.BrandLogic.HandBrand(0, userId, args.Brand, gysEnterpriseState.ID, "1", dbc.DB); err != nil {
|
|
|
return err
|
|
|
}
|
|
|
return nil
|
|
|
}); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
back.Suc(c, "资料提交成功", nil)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// @Style 合同预览
|
|
|
func (e *Enterprise) Contract(c *gin.Context) {
|
|
|
userId, err := e.GetGysIdByWs(c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 获取合同模版
|
|
|
gysState := vend.GysEnterpriseState{}
|
|
|
dbc.DB.First(&gysState, "user_id = ?", userId)
|
|
|
if gysState.ID <= 0 {
|
|
|
back.Fail(c, "请求失败")
|
|
|
return
|
|
|
}
|
|
|
back.Suc(c, "操作成功", gin.H{
|
|
|
"contracts": []string{
|
|
|
"/photo/contract/" + tools.MD5(gysState.ContractNo+"-contract-01.jpg") + ".jpg",
|
|
|
"/photo/contract/contract-02.jpg",
|
|
|
"/photo/contract/" + tools.MD5(gysState.ContractNo+"-contract-03.jpg") + ".jpg",
|
|
|
"/photo/contract/" + tools.MD5(gysState.ContractNo+"-contract-04.jpg") + ".jpg",
|
|
|
"/photo/contract/" + tools.MD5(gysState.ContractNo+"-contract-05.jpg") + ".jpg",
|
|
|
"/photo/contract/contract-06.jpg",
|
|
|
"/photo/contract/contract-07.jpg",
|
|
|
"/photo/contract/contract-08.jpg",
|
|
|
"/photo/contract/contract-09.jpg",
|
|
|
"/photo/contract/contract-10.jpg",
|
|
|
"/photo/contract/contract-11.jpg",
|
|
|
"/photo/contract/contract-12.jpg",
|
|
|
"/photo/contract/contract-13.jpg",
|
|
|
},
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
type argsEmail struct {
|
|
|
Email string `json:"email"`
|
|
|
}
|
|
|
|
|
|
// @Style 发送邮件
|
|
|
func (e *Enterprise) Email(c *gin.Context) {
|
|
|
userId, err := e.GetGysIdByWs(c)
|
|
|
if err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
args := argsEmail{}
|
|
|
if err := tools.Params(&args, c); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if !tools.VerifyEmail(args.Email) {
|
|
|
back.Fail(c, "联系人邮箱格式错误")
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 记录邮件信息
|
|
|
email := gys.GysEmail{
|
|
|
Email: args.Email,
|
|
|
RelationId: userId,
|
|
|
Type: gys.Mail_Type_Gys_Settled,
|
|
|
}
|
|
|
dbc.DB.Create(&email)
|
|
|
if email.Id > 0 {
|
|
|
// 加入队列
|
|
|
dbc.Rds.RPush(configs.Config_Gys_Email_list_redis_key, email.Id)
|
|
|
} else {
|
|
|
back.Fail(c, "网络异常")
|
|
|
return
|
|
|
}
|
|
|
|
|
|
back.Suc(c, "操作成功", nil)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
type argsEnterpriseInfo struct {
|
|
|
EnterpriseId uint `json:"enterpriseId" form:"enterpriseId"`
|
|
|
}
|
|
|
|
|
|
type replyEnterpriseInfo struct {
|
|
|
EnterpriseName string `json:"enterpriseName"`
|
|
|
BusinessEnd string `json:"businessEnd"`
|
|
|
BusinessStart string `json:"businessStart"`
|
|
|
PayTaxes int `json:"payTaxes"`
|
|
|
BankName string `json:"bankName"`
|
|
|
BankCode string `json:"bankCode"`
|
|
|
LicenseUrl string `json:"licenseUrl"`
|
|
|
PaytaxesUrl string `json:"paytaxesUrl"`
|
|
|
AccountUrl string `json:"accountUrl"`
|
|
|
LegalPersonUrl string `json:"legalPersonUrl"`
|
|
|
LegalPerson string `json:"legalPerson"`
|
|
|
Name string `json:"name"`
|
|
|
Position string `json:"position"`
|
|
|
Email string `json:"email"`
|
|
|
Phone string `json:"phone"`
|
|
|
Source uint `json:"source"`
|
|
|
RegistrationDetailAddress string `json:"registrationDetailAddress"`
|
|
|
SourceName string `json:"sourceName"`
|
|
|
TelPhone string `json:"telPhone"`
|
|
|
TaxNumber string `json:"taxNumber"`
|
|
|
StateInfo string `json:"stateInfo"`
|
|
|
ContractStart formatime.Date `json:"contractStart"`
|
|
|
ContractEnd formatime.Date `json:"contractEnd"`
|
|
|
Deposit decimal.Decimal `json:"deposit"`
|
|
|
Period int `json:"period"`
|
|
|
ContractNo string `json:"contractNo"`
|
|
|
}
|
|
|
|
|
|
// @Style 详情
|
|
|
func (e *Enterprise) Info(c *gin.Context) {
|
|
|
args := argsEnterpriseInfo{}
|
|
|
if err := tools.Params(&args, c); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
if args.EnterpriseId <= 0 {
|
|
|
back.Fail(c, "参数错误")
|
|
|
return
|
|
|
}
|
|
|
enterpriseState := vend.GysEnterpriseState{}
|
|
|
dbc.DB.First(&enterpriseState, "id = ?", args.EnterpriseId)
|
|
|
if enterpriseState.ID <= 0 {
|
|
|
back.Fail(c, "参数错误")
|
|
|
return
|
|
|
}
|
|
|
enterpriseSector := vend.GysEnterpriseSector{}
|
|
|
dbc.DB.First(&enterpriseSector, "enterprise_id = ? and `type` = ?", enterpriseState.ID, vend.Sector_Type_Sales)
|
|
|
|
|
|
source := gys.GysSource{}
|
|
|
dbc.DB.Model(&gys.GysSource{}).First(&source, "id = ?", enterpriseState.Source)
|
|
|
|
|
|
gysUser := vend.GysUsers{}
|
|
|
dbc.DB.First(&gysUser, "id = ?", enterpriseState.UserID)
|
|
|
back.Suc(c, "操作成功", replyEnterpriseInfo{
|
|
|
EnterpriseName: enterpriseState.EnterpriseName,
|
|
|
TaxNumber: enterpriseState.TaxNumber,
|
|
|
BusinessStart: enterpriseState.BusinessStart,
|
|
|
BusinessEnd: enterpriseState.BusinessEnd,
|
|
|
PayTaxes: enterpriseState.PayTaxes,
|
|
|
BankName: enterpriseState.BankName,
|
|
|
BankCode: enterpriseState.BankCode,
|
|
|
LicenseUrl: enterpriseState.LicenseUrl,
|
|
|
PaytaxesUrl: enterpriseState.PaytaxesUrl,
|
|
|
AccountUrl: enterpriseState.AccountUrl,
|
|
|
LegalPerson: enterpriseState.LegalPerson,
|
|
|
LegalPersonUrl: enterpriseState.LegalPersonUrl,
|
|
|
Name: enterpriseSector.Name,
|
|
|
Phone: enterpriseSector.Phone,
|
|
|
Email: enterpriseSector.Email,
|
|
|
Position: enterpriseSector.Position,
|
|
|
Source: enterpriseState.Source,
|
|
|
RegistrationDetailAddress: enterpriseState.RegistrationDetailAddress,
|
|
|
SourceName: source.Name,
|
|
|
TelPhone: gysUser.Username,
|
|
|
StateInfo: enterpriseState.StateInfo,
|
|
|
ContractStart: formatime.NewDateFrom(enterpriseState.ContractStart.Time),
|
|
|
ContractEnd: formatime.NewDateFrom(enterpriseState.ContractEnd.Time),
|
|
|
Deposit: enterpriseState.Deposit,
|
|
|
Period: enterpriseState.Period,
|
|
|
ContractNo: enterpriseState.ContractNo,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
type argsList struct {
|
|
|
EnterpriseName string `json:"enterpriseName" form:"enterpriseName"`
|
|
|
ContractNo string `json:"contractNo" form:"contractNo"`
|
|
|
Source uint `json:"source" form:"source"`
|
|
|
ComitTimeStart string `json:"comitTimeStart" form:"comitTimeStart"`
|
|
|
ComitTimeEnd string `json:"comitTimeEnd" form:"comitTimeEnd"`
|
|
|
AdminDateStart string `json:"adminDateStart" form:"adminDateStart"`
|
|
|
AdminDateEnd string `json:"adminDateEnd" form:"adminDateEnd"`
|
|
|
bean.Page
|
|
|
}
|
|
|
|
|
|
type replyLists struct {
|
|
|
EnterpriseId uint `json:"enterpriseId"`
|
|
|
EnterpriseName string `json:"enterpriseName"`
|
|
|
ContractNo string `json:"contractNo"`
|
|
|
Source uint `json:"source"`
|
|
|
ComitTime formatime.Second `json:"comitTime"`
|
|
|
AdminDate formatime.Second `json:"adminDate"`
|
|
|
StateInfo string `json:"stateInfo"`
|
|
|
SourceName string `json:"sourceName"`
|
|
|
State string `json:"state"`
|
|
|
}
|
|
|
|
|
|
// @Style 待审核列表
|
|
|
func (e *Enterprise) ListsAuditing(c *gin.Context) {
|
|
|
args := argsList{}
|
|
|
if err := tools.Params(&args, c); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
total, lists := logic.EnterpriseLogic.Lists(1, args.EnterpriseName, args.ContractNo, args.Source, args.ComitTimeStart, args.ComitTimeEnd, args.AdminDateStart, args.AdminDateEnd, args.Page)
|
|
|
resultList := []replyLists{}
|
|
|
if len(lists) > 0 {
|
|
|
sourceIds := []uint{}
|
|
|
for _, state := range lists {
|
|
|
sourceIds = append(sourceIds, state.Source)
|
|
|
}
|
|
|
sourceLists := []gys.GysSource{}
|
|
|
dbc.DB.Model(&gys.GysSource{}).Find(&sourceLists, "id in (?)", sourceIds)
|
|
|
sorceMap := map[uint]gys.GysSource{}
|
|
|
for _, list := range sourceLists {
|
|
|
sorceMap[list.Id] = list
|
|
|
}
|
|
|
|
|
|
for _, state := range lists {
|
|
|
resultList = append(resultList, replyLists{
|
|
|
EnterpriseId: state.ID,
|
|
|
EnterpriseName: state.EnterpriseName,
|
|
|
ContractNo: state.ContractNo,
|
|
|
Source: state.Source,
|
|
|
ComitTime: state.ComitTime,
|
|
|
AdminDate: state.AdminDate,
|
|
|
State: state.State,
|
|
|
StateInfo: state.StateInfo,
|
|
|
SourceName: sorceMap[state.Source].Name,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
|
|
|
back.Suc(c, "操作成功", bean.ResultLists{
|
|
|
List: resultList,
|
|
|
Total: total,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// @Style 通过列表
|
|
|
func (e *Enterprise) ListsAgree(c *gin.Context) {
|
|
|
args := argsList{}
|
|
|
if err := tools.Params(&args, c); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
total, lists := logic.EnterpriseLogic.Lists(2, args.EnterpriseName, args.ContractNo, args.Source, args.ComitTimeStart, args.ComitTimeEnd, args.AdminDateStart, args.AdminDateEnd, args.Page)
|
|
|
resultList := []replyLists{}
|
|
|
if len(lists) > 0 {
|
|
|
sourceIds := []uint{}
|
|
|
for _, state := range lists {
|
|
|
sourceIds = append(sourceIds, state.Source)
|
|
|
}
|
|
|
sourceLists := []gys.GysSource{}
|
|
|
dbc.DB.Model(&gys.GysSource{}).Find(&sourceLists, "id in (?)", sourceIds)
|
|
|
sorceMap := map[uint]gys.GysSource{}
|
|
|
for _, list := range sourceLists {
|
|
|
sorceMap[list.Id] = list
|
|
|
}
|
|
|
|
|
|
for _, state := range lists {
|
|
|
resultList = append(resultList, replyLists{
|
|
|
EnterpriseId: state.ID,
|
|
|
EnterpriseName: state.EnterpriseName,
|
|
|
ContractNo: state.ContractNo,
|
|
|
Source: state.Source,
|
|
|
ComitTime: state.ComitTime,
|
|
|
AdminDate: state.AdminDate,
|
|
|
State: state.State,
|
|
|
StateInfo: state.StateInfo,
|
|
|
SourceName: sorceMap[state.Source].Name,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
|
|
|
back.Suc(c, "操作成功", bean.ResultLists{
|
|
|
List: resultList,
|
|
|
Total: total,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// @Style 驳回列表
|
|
|
func (e *Enterprise) ListsReject(c *gin.Context) {
|
|
|
args := argsList{}
|
|
|
if err := tools.Params(&args, c); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
total, lists := logic.EnterpriseLogic.Lists(3, args.EnterpriseName, args.ContractNo, args.Source, args.ComitTimeStart, args.ComitTimeEnd, args.AdminDateStart, args.AdminDateEnd, args.Page)
|
|
|
resultList := []replyLists{}
|
|
|
if len(lists) > 0 {
|
|
|
sourceIds := []uint{}
|
|
|
for _, state := range lists {
|
|
|
sourceIds = append(sourceIds, state.Source)
|
|
|
}
|
|
|
sourceLists := []gys.GysSource{}
|
|
|
dbc.DB.Model(&gys.GysSource{}).Find(&sourceLists, "id in (?)", sourceIds)
|
|
|
sorceMap := map[uint]gys.GysSource{}
|
|
|
for _, list := range sourceLists {
|
|
|
sorceMap[list.Id] = list
|
|
|
}
|
|
|
|
|
|
for _, state := range lists {
|
|
|
resultList = append(resultList, replyLists{
|
|
|
EnterpriseId: state.ID,
|
|
|
EnterpriseName: state.EnterpriseName,
|
|
|
ContractNo: state.ContractNo,
|
|
|
Source: state.Source,
|
|
|
ComitTime: state.ComitTime,
|
|
|
AdminDate: state.AdminDate,
|
|
|
State: state.State,
|
|
|
StateInfo: state.StateInfo,
|
|
|
SourceName: sorceMap[state.Source].Name,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
|
|
|
back.Suc(c, "操作成功", bean.ResultLists{
|
|
|
List: resultList,
|
|
|
Total: total,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// @Style 审核通过
|
|
|
func (e *Enterprise) Yes(c *gin.Context) {
|
|
|
args := logic.ArgsYes{}
|
|
|
if err := tools.Params(&args, c); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
if err := logic.EnterpriseLogic.Verified(&args); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
var user manage.UserInfo
|
|
|
user.ID, _ = e.GetManageId(c)
|
|
|
if err := dbc.DB.Find(&user).Error; err != nil {
|
|
|
back.Fail(c, "数据错误:"+err.Error())
|
|
|
return
|
|
|
}
|
|
|
state := vend.GysEnterpriseState{}
|
|
|
dbc.DB.First(&state, "id = ?", args.EnterpriseId)
|
|
|
if state.ID <= 0 {
|
|
|
back.Fail(c, "参数错误")
|
|
|
return
|
|
|
}
|
|
|
if state.State != "1" {
|
|
|
back.Fail(c, "已审核")
|
|
|
return
|
|
|
}
|
|
|
dbc.DB.Model(&vend.GysEnterpriseState{}).Where("id = ?", args.EnterpriseId).Update(&vend.GysEnterpriseState{
|
|
|
PayTaxes: args.PayTaxes,
|
|
|
ContractStart: args.ContractStartTime,
|
|
|
ContractEnd: args.ContraceEndTime,
|
|
|
Deposit: decimal.NewFromFloat(args.Deposit),
|
|
|
Period: args.Period,
|
|
|
PaytaxesUrl: args.PaytaxesUrl,
|
|
|
State: "2",
|
|
|
AdminUser: user.Name,
|
|
|
AdminID: user.ID,
|
|
|
AdminDate: formatime.NewSecondNow(),
|
|
|
})
|
|
|
back.Suc(c, "操作成功", nil)
|
|
|
}
|
|
|
|
|
|
type argsEnterpriseNo struct {
|
|
|
EnterpriseId uint `json:"enterpriseId" form:"enterpriseId"`
|
|
|
StateInfo string `json:"stateInfo" form:"stateInfo"`
|
|
|
}
|
|
|
|
|
|
// @Style 审核通过
|
|
|
func (e *Enterprise) No(c *gin.Context) {
|
|
|
args := argsEnterpriseNo{}
|
|
|
if err := tools.Params(&args, c); err != nil {
|
|
|
back.Fail(c, err.Error())
|
|
|
return
|
|
|
}
|
|
|
if args.EnterpriseId <= 0 || args.StateInfo == "" {
|
|
|
back.Fail(c, "参数错误")
|
|
|
return
|
|
|
}
|
|
|
var user manage.UserInfo
|
|
|
user.ID, _ = e.GetManageId(c)
|
|
|
if err := dbc.DB.Find(&user).Error; err != nil {
|
|
|
back.Fail(c, "数据错误:"+err.Error())
|
|
|
return
|
|
|
}
|
|
|
state := vend.GysEnterpriseState{}
|
|
|
dbc.DB.First(&state, "id = ?", args.EnterpriseId)
|
|
|
if state.ID <= 0 {
|
|
|
back.Fail(c, "参数错误")
|
|
|
return
|
|
|
}
|
|
|
if state.State != "1" {
|
|
|
back.Fail(c, "已审核")
|
|
|
return
|
|
|
}
|
|
|
dbc.DB.Model(&vend.GysEnterpriseState{}).Where("id = ?", args.EnterpriseId).Update(&vend.GysEnterpriseState{
|
|
|
StateInfo: args.StateInfo,
|
|
|
State: "3",
|
|
|
AdminUser: user.Name,
|
|
|
AdminID: user.ID,
|
|
|
AdminDate: formatime.NewSecondNow(),
|
|
|
})
|
|
|
back.Suc(c, "操作成功", nil)
|
|
|
}
|