diff --git a/app/hdl/hdl_qualification.go b/app/hdl/hdl_qualification.go new file mode 100644 index 0000000..1a4f42e --- /dev/null +++ b/app/hdl/hdl_qualification.go @@ -0,0 +1,124 @@ +package hdl + +import ( + "applet/app/e" + "applet/app/lib/validate" + "applet/app/md" + "applet/app/svc" + "github.com/gin-gonic/gin" +) + +// QualificationInfo +// @Summary 基本信息 +// @Tags 资质认证------嘉俊 +// @Description 资质认证-基本信息 +// @param Authorization header string true "验证参数Bearer和token空格拼接" +// @Accept json +// @Produce json +// @Success 200 {string} "具体看返回内容" +// @Failure 400 {object} md.Response "具体错误" +// @Router /api/qualification/info [GET] +func QualificationInfo(c *gin.Context) { + svc.QualificationInfo(c) +} + +// QualificationSelectBase +// @Summary 认证下拉框选择内容 +// @Tags 资质认证------嘉俊 +// @Description 资质认证-认证下拉框选择内容 +// @param Authorization header string true "验证参数Bearer和token空格拼接" +// @Accept json +// @Produce json +// @Success 200 {string} "具体看返回内容" +// @Failure 400 {object} md.Response "具体错误" +// @Router /api/qualification/select/base [GET] +func QualificationSelectBase(c *gin.Context) { + svc.QualificationSelectBase(c) +} + +// QualificationEnterpriseSave +// @Summary 企业认证保存 +// @Tags 资质认证------嘉俊 +// @Description 资质认证-企业认证保存 +// @param Authorization header string true "验证参数Bearer和token空格拼接" +// @Accept json +// @Produce json +// @Param args body md.MediumList true "请求参数" +// @Success 200 {string} "具体看返回内容" +// @Failure 400 {object} md.Response "具体错误" +// @Router /api/qualification/enterprise/save [POST] +func QualificationEnterpriseSave(c *gin.Context) { + var req md.MediumList + err := c.ShouldBindJSON(&req) + if err != nil { + err = validate.HandleValidateErr(err) + err1 := err.(e.E) + e.OutErr(c, err1.Code, err1.Error()) + return + } + err = svc.QualificationEnterpriseSave(c, req) + if err != nil { + e.OutErr(c, 400, err) + return + } + e.OutSuc(c, "success", nil) + return +} + +// QualificationBankSave +// @Summary 银行资质保存 +// @Tags 资质认证------嘉俊 +// @Description 资质认证-银行资质保存 +// @param Authorization header string true "验证参数Bearer和token空格拼接" +// @Accept json +// @Produce json +// @Param args body md.MediumBankInfo true "请求参数" +// @Success 200 {string} "具体看返回内容" +// @Failure 400 {object} md.Response "具体错误" +// @Router /api/qualification/bank/save [POST] +func QualificationBankSave(c *gin.Context) { + var req md.MediumBankInfo + err := c.ShouldBindJSON(&req) + if err != nil { + err = validate.HandleValidateErr(err) + err1 := err.(e.E) + e.OutErr(c, err1.Code, err1.Error()) + return + } + err = svc.QualificationBankSave(c, req) + if err != nil { + e.OutErr(c, 400, err) + return + } + e.OutSuc(c, "success", nil) + return +} + +// QualificationContactSave +// @Summary 联系方式保存 +// @Tags 资质认证------嘉俊 +// @Description 资质认证-联系方式保存 +// @param Authorization header string true "验证参数Bearer和token空格拼接" +// @Accept json +// @Produce json +// @Param args body md.MediumContactInfo true "请求参数" +// @Success 200 {string} "具体看返回内容" +// @Failure 400 {object} md.Response "具体错误" +// @Router /api/qualification/contact/save [POST] +func QualificationContactSave(c *gin.Context) { + var req md.MediumContactInfo + err := c.ShouldBindJSON(&req) + if err != nil { + err = validate.HandleValidateErr(err) + err1 := err.(e.E) + e.OutErr(c, err1.Code, err1.Error()) + return + } + err = svc.QualificationContactSave(c, req) + if err != nil { + e.OutErr(c, 400, err) + return + } + e.OutSuc(c, "success", nil) + return +} diff --git a/app/md/medium_bank_info.go b/app/md/medium_bank_info.go new file mode 100644 index 0000000..06db295 --- /dev/null +++ b/app/md/medium_bank_info.go @@ -0,0 +1,14 @@ +package md + +type MediumBankInfo struct { + Id int `json:"id" xorm:"not null pk autoincr INT(11)"` + Uuid int `json:"uuid" xorm:"not null comment('站长id') index unique(IDX_UUID_TYPE) INT(11)"` + MediumId int `json:"medium_id" xorm:"not null comment('代理id') unique(IDX_UUID_TYPE) INT(11)"` + State int `json:"state" xorm:"not null default 0 comment('状态(0:待审核 1:审核通过 2:审核拒绝)') TINYINT(1)"` + Memo string `json:"memo" xorm:"comment('备注 审核时填写的') VARCHAR(255)"` + CurrencyConf int `json:"currency_conf" xorm:"default 0 comment('结算币种 1人民币') TINYINT(1)"` + Bank string `json:"bank" xorm:"comment('开户银行') VARCHAR(255)"` + BankBranch string `json:"bank_branch" xorm:"comment('开户银行分行') VARCHAR(255)"` + BankNo string `json:"bank_no" xorm:"comment('银行卡号') VARCHAR(255)"` + Licence string `json:"licence" xorm:"comment('开户许可证') VARCHAR(255)"` +} diff --git a/app/md/medium_contact_info.go b/app/md/medium_contact_info.go new file mode 100644 index 0000000..ea91241 --- /dev/null +++ b/app/md/medium_contact_info.go @@ -0,0 +1,13 @@ +package md + +type MediumContactInfo struct { + Id int `json:"id" xorm:"not null pk autoincr INT(11)"` + Uuid int `json:"uuid" xorm:"not null comment('站长id') index unique(IDX_UUID_TYPE) INT(11)"` + MediumId int `json:"medium_id" xorm:"not null comment('代理id') unique(IDX_UUID_TYPE) INT(11)"` + State int `json:"state" xorm:"not null default 0 comment('状态(0:待审核 1:审核通过 2:审核拒绝)') TINYINT(1)"` + Memo string `json:"memo" xorm:"comment('备注 审核时填写的') VARCHAR(255)"` + Name string `json:"name" xorm:"comment('联系人') VARCHAR(255)"` + Email string `json:"email" xorm:"comment('邮箱地址') VARCHAR(255)"` + Phone string `json:"phone" xorm:"comment('联系电话') VARCHAR(255)"` + Address string `json:"address" xorm:"comment('联系地址') VARCHAR(255)"` +} diff --git a/app/md/medium_list.go b/app/md/medium_list.go new file mode 100644 index 0000000..17e5ff5 --- /dev/null +++ b/app/md/medium_list.go @@ -0,0 +1,26 @@ +package md + +type MediumList struct { + Id int `json:"id" xorm:"not null pk autoincr INT(11)"` + Uuid int `json:"uuid" xorm:"not null comment('站长id') index unique(IDX_UUID_TYPE) INT(11)"` + MediumId int `json:"medium_id" xorm:"not null comment('媒体id') unique(IDX_UUID_TYPE) INT(11)"` + Kind int `json:"kind" xorm:"not null default 1 comment('类型(1:企业 2:个人)') TINYINT(1)"` + CompanyName string `json:"company_name" xorm:"not null default '' comment('公司名称') VARCHAR(255)"` + CompanyAbbreviation string `json:"company_abbreviation" xorm:"not null default '' comment('公司简称') VARCHAR(255)"` + UnifiedSocialCreditCode string `json:"unified_social_credit_code" xorm:"not null default '' comment('统一社会信用代码') VARCHAR(255)"` + CertificateType int `json:"certificate_type" xorm:"not null default 1 comment('证件类型 2级类目id') TINYINT(1)"` + CertificateFirstType int `json:"certificate_first_type" xorm:"not null default 1 comment('证件类型 1级类目id') TINYINT(1)"` + BusinessLicenseImgUrl string `json:"business_license_img_url" xorm:"not null default '' comment('营业执照照片') VARCHAR(255)"` + LegalRepresentative string `json:"legal_representative" xorm:"not null default '' comment('法定代表人') CHAR(50)"` + CountryRegionId int `json:"country_region_id" xorm:"not null default 1 comment('国家地区id') TINYINT(3)"` + CountryRegion string `json:"country_region" xorm:"not null default '' comment('国家地区') CHAR(50)"` + RegisteredAddressCountryId int `json:"registered_address_country_id" xorm:"not null default 0 comment('注册地址-国家id') INT(11)"` + RegisteredAddressProvinceId int `json:"registered_address_province_id" xorm:"not null default 0 comment('注册地址-省份id') INT(11)"` + RegisteredAddressCityId int `json:"registered_address_city_id" xorm:"not null default 0 comment('注册地址-市id') INT(11)"` + RegisteredAddressCountyId int `json:"registered_address_county_id" xorm:"not null default 0 comment('注册地址-县/区id') INT(11)"` + RegisteredAddress string `json:"registered_address" xorm:"not null default '' comment('注册地址') VARCHAR(255)"` + BusinessLicenseAddress string `json:"business_license_address" xorm:"not null default '' comment('营业执照地址') VARCHAR(255)"` + CertificateValidity string `json:"certificate_validity" xorm:"not null default '0000-00-00' comment('证件有效期') CHAR(50)"` + State int `json:"state" xorm:"not null default 0 comment('状态(0:待审核 1:审核通过 2:审核拒绝)') TINYINT(1)"` + Memo string `json:"memo" xorm:"not null default '' comment('备注') VARCHAR(255)"` +} diff --git a/app/router/router.go b/app/router/router.go index e3c7689..c5a194d 100644 --- a/app/router/router.go +++ b/app/router/router.go @@ -59,8 +59,10 @@ func route(r *gin.RouterGroup) { r.Use(mw.CheckBody) //body参数转换 r.Use(mw.CheckSign) //签名校验 - r.Use(mw.Auth) // 以下接口需要JWT验证 - rRole(r.Group("/role")) //权限管理 + r.Use(mw.Auth) // 以下接口需要JWT验证 + rRole(r.Group("/role")) //权限管理 + rQualification(r.Group("/qualification")) //资质 + } func rRole(r *gin.RouterGroup) { @@ -79,3 +81,10 @@ func rRole(r *gin.RouterGroup) { r.GET("/adminInfo", hdl.AdminInfo) //获取管理员信息 r.POST("/bindAdminRole", hdl.BindAdminRole) //绑定角色 } +func rQualification(r *gin.RouterGroup) { + r.GET("/info", hdl.QualificationInfo) //资质认证-基本信息 + r.GET("/select/base", hdl.QualificationSelectBase) //资质认证-认证选择内容 + r.POST("/enterprise/save", hdl.QualificationEnterpriseSave) //资质认证-企业认证保存 + r.POST("/bank/save", hdl.QualificationBankSave) //资质认证-银行资质保存 + r.POST("/contact/save", hdl.QualificationContactSave) //资质认证-联系方式保存 +} diff --git a/app/svc/svc_qualification.go b/app/svc/svc_qualification.go new file mode 100644 index 0000000..115b0ee --- /dev/null +++ b/app/svc/svc_qualification.go @@ -0,0 +1,151 @@ +package svc + +import ( + "applet/app/e" + "applet/app/md" + "applet/app/utils" + db "code.fnuoos.com/zhimeng/model.git/src" + "code.fnuoos.com/zhimeng/model.git/src/super/implement" + model2 "code.fnuoos.com/zhimeng/model.git/src/super/model" + "github.com/gin-gonic/gin" + "github.com/jinzhu/copier" + "time" +) + +func QualificationInfo(c *gin.Context) { + admin := GetUser(c) + MediumListDb := implement.NewMediumListDb(db.Db) + medium, _ := MediumListDb.GetMediumList(admin.MediumId) + if medium == nil { + medium = &model2.MediumList{Uuid: utils.StrToInt(c.GetString("mid")), MediumId: admin.MediumId} + } + enterprise := map[string]interface{}{ + "state": medium.State, + "data": medium, + } + + NewMediumBankInfoDb := implement.NewMediumBankInfoDb(db.Db) + bank, _ := NewMediumBankInfoDb.GetMediumBankInfoList(admin.MediumId) + if bank == nil { + bank = &model2.MediumBankInfo{Uuid: medium.Uuid, MediumId: medium.MediumId} + } + bankInfo := map[string]interface{}{ + "state": bank.State, + "data": bank, + } + NewMediumContactInfoDb := implement.NewMediumContactInfoDb(db.Db) + contact, _ := NewMediumContactInfoDb.GetMediumContactInfoList(admin.MediumId) + if contact == nil { + contact = &model2.MediumContactInfo{Uuid: medium.Uuid, MediumId: medium.MediumId} + } + contactInfo := map[string]interface{}{ + "state": 0, + "data": contact, + } + res := map[string]interface{}{ + "enterprise": enterprise, + "bank_info": bankInfo, + "contact_info": contactInfo, + "state_list": []map[string]interface{}{ + {"value": "0", "name": "待提交"}, + {"value": "1", "name": "待审核"}, + {"value": "2", "name": "审核通过"}, + {"value": "3", "name": "审核拒绝"}, + }, + } + e.OutSuc(c, res, nil) + return +} + +func QualificationSelectBase(c *gin.Context) { + countryDb := implement.NewCountryDb(db.Db) + country := countryDb.FindAll() + IdcardTypeListDb := implement.NewIdcardTypeListDb(db.Db) + IdcardTypeList := IdcardTypeListDb.FindAll() + res := map[string]interface{}{ + "register_area": country, + "idcard_type": IdcardTypeList, + "country": []map[string]interface{}{ + { + "value": "1", "name": "中国/国内", + }, + }, + "user_type": []map[string]interface{}{ + { + "value": "1", "name": "企业", + }, + }, + "currency_conf": []map[string]interface{}{ + { + "value": "0", "name": "人民币", + }, + }, + } + e.OutSuc(c, res, nil) + return +} +func QualificationEnterpriseSave(c *gin.Context, req md.MediumList) error { + req.State = 1 + var data model2.MediumList + copier.Copy(&data, &req) + data.UpdateAt = time.Now().Format("2006-01-02 15:04:05") + if req.Id > 0 { + listDb := implement.NewMediumListDb(db.Db) + list, _ := listDb.GetMediumList(req.MediumId) + if list.State == 1 { + return e.NewErr(400, "该记录已提交审核") + } + if list.State == 2 { + return e.NewErr(400, "该记录已审核通过") + } + db.Db.Where("id=?", req.Id).Update(&data) + } else { + data.CreateAt = time.Now().Format("2006-01-02 15:04:05") + db.Db.InsertOne(&data) + } + return nil +} +func QualificationBankSave(c *gin.Context, req md.MediumBankInfo) error { + req.State = 1 + var data model2.MediumBankInfo + copier.Copy(&data, &req) + data.UpdateAt = time.Now() + if req.Id > 0 { + listDb := implement.NewMediumBankInfoDb(db.Db) + list, _ := listDb.GetMediumBankInfoList(req.MediumId) + if list.State == 1 { + return e.NewErr(400, "该记录已提交审核") + } + if list.State == 2 { + return e.NewErr(400, "该记录已审核通过") + } + db.Db.Where("id=?", req.Id).Update(&data) + } else { + data.CreateAt = time.Now() + db.Db.InsertOne(&data) + } + return nil +} +func QualificationContactSave(c *gin.Context, req md.MediumContactInfo) error { + req.State = 1 + var data model2.MediumContactInfo + copier.Copy(&data, &req) + data.UpdateAt = time.Now() + + if req.Id > 0 { + listDb := implement.NewMediumContactInfoDb(db.Db) + list, _ := listDb.GetMediumContactInfoList(req.MediumId) + if list.State == 1 { + return e.NewErr(400, "该记录已提交审核") + } + if list.State == 2 { + return e.NewErr(400, "该记录已审核通过") + } + db.Db.Where("id=?", req.Id).Update(&data) + } else { + data.CreateAt = time.Now() + + db.Db.InsertOne(&data) + } + return nil +} diff --git a/build.sh b/build.sh index adb5edb..85281fc 100644 --- a/build.sh +++ b/build.sh @@ -9,7 +9,7 @@ echo "GET the Commit ID for git -> $ZYOS_APP_COMMIT_ID" echo "Start build image " -image_name=registry-vpc.cn-shenzhen.aliyuncs.com/fnuoos-prd/zyos-mall:${ZYOS_APP_COMMIT_ID} +image_name=registry-vpc.cn-shenzhen.aliyuncs.com/fnuoos-prd/advertisement-medium:${ZYOS_APP_COMMIT_ID} #final_image_name=registry.cn-shenzhen.aliyuncs.com/fnuoos-prd/zyos:${ZYOS_APP_COMMIT_ID} docker build -t ${image_name} . diff --git a/docs/docs.go b/docs/docs.go index 2174a66..facb026 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -65,6 +65,223 @@ const docTemplate = `{ } } }, + "/api/qualification/bank/save": { + "post": { + "description": "资质认证-银行资质保存", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "银行资质保存", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + }, + { + "description": "请求参数", + "name": "args", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/md.MediumBankInfo" + } + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, + "/api/qualification/contact/save": { + "post": { + "description": "资质认证-联系方式保存", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "联系方式保存", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + }, + { + "description": "请求参数", + "name": "args", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/md.MediumContactInfo" + } + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, + "/api/qualification/enterprise/save": { + "post": { + "description": "资质认证-企业认证保存", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "企业认证保存", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + }, + { + "description": "请求参数", + "name": "args", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/md.MediumList" + } + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, + "/api/qualification/info": { + "get": { + "description": "资质认证-基本信息", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "基本信息", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, + "/api/qualification/select/base": { + "get": { + "description": "资质认证-认证下拉框选择内容", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "认证下拉框选择内容", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, "/api/role/addAdmin": { "post": { "description": "新增管理员", @@ -752,6 +969,144 @@ const docTemplate = `{ } } }, + "md.MediumBankInfo": { + "type": "object", + "properties": { + "bank": { + "type": "string" + }, + "bank_branch": { + "type": "string" + }, + "bank_no": { + "type": "string" + }, + "currency_conf": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "licence": { + "type": "string" + }, + "medium_id": { + "type": "integer" + }, + "memo": { + "type": "string" + }, + "state": { + "type": "integer" + }, + "uuid": { + "type": "integer" + } + } + }, + "md.MediumContactInfo": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "medium_id": { + "type": "integer" + }, + "memo": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "state": { + "type": "integer" + }, + "uuid": { + "type": "integer" + } + } + }, + "md.MediumList": { + "type": "object", + "properties": { + "business_license_address": { + "type": "string" + }, + "business_license_img_url": { + "type": "string" + }, + "certificate_first_type": { + "type": "integer" + }, + "certificate_type": { + "type": "integer" + }, + "certificate_validity": { + "type": "string" + }, + "company_abbreviation": { + "type": "string" + }, + "company_name": { + "type": "string" + }, + "country_region": { + "type": "string" + }, + "country_region_id": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "kind": { + "type": "integer" + }, + "legal_representative": { + "type": "string" + }, + "medium_id": { + "type": "integer" + }, + "memo": { + "type": "string" + }, + "registered_address": { + "type": "string" + }, + "registered_address_city_id": { + "type": "integer" + }, + "registered_address_country_id": { + "type": "integer" + }, + "registered_address_county_id": { + "type": "integer" + }, + "registered_address_province_id": { + "type": "integer" + }, + "state": { + "type": "integer" + }, + "unified_social_credit_code": { + "type": "string" + }, + "uuid": { + "type": "integer" + } + } + }, "md.Response": { "type": "object", "properties": { diff --git a/docs/swagger.json b/docs/swagger.json index 45c60cd..c20d73b 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -57,6 +57,223 @@ } } }, + "/api/qualification/bank/save": { + "post": { + "description": "资质认证-银行资质保存", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "银行资质保存", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + }, + { + "description": "请求参数", + "name": "args", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/md.MediumBankInfo" + } + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, + "/api/qualification/contact/save": { + "post": { + "description": "资质认证-联系方式保存", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "联系方式保存", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + }, + { + "description": "请求参数", + "name": "args", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/md.MediumContactInfo" + } + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, + "/api/qualification/enterprise/save": { + "post": { + "description": "资质认证-企业认证保存", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "企业认证保存", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + }, + { + "description": "请求参数", + "name": "args", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/md.MediumList" + } + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, + "/api/qualification/info": { + "get": { + "description": "资质认证-基本信息", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "基本信息", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, + "/api/qualification/select/base": { + "get": { + "description": "资质认证-认证下拉框选择内容", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "资质认证------嘉俊" + ], + "summary": "认证下拉框选择内容", + "parameters": [ + { + "type": "string", + "description": "验证参数Bearer和token空格拼接", + "name": "Authorization", + "in": "header", + "required": true + } + ], + "responses": { + "200": { + "description": "具体看返回内容", + "schema": { + "type": "string" + } + }, + "400": { + "description": "具体错误", + "schema": { + "$ref": "#/definitions/md.Response" + } + } + } + } + }, "/api/role/addAdmin": { "post": { "description": "新增管理员", @@ -744,6 +961,144 @@ } } }, + "md.MediumBankInfo": { + "type": "object", + "properties": { + "bank": { + "type": "string" + }, + "bank_branch": { + "type": "string" + }, + "bank_no": { + "type": "string" + }, + "currency_conf": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "licence": { + "type": "string" + }, + "medium_id": { + "type": "integer" + }, + "memo": { + "type": "string" + }, + "state": { + "type": "integer" + }, + "uuid": { + "type": "integer" + } + } + }, + "md.MediumContactInfo": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "medium_id": { + "type": "integer" + }, + "memo": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "state": { + "type": "integer" + }, + "uuid": { + "type": "integer" + } + } + }, + "md.MediumList": { + "type": "object", + "properties": { + "business_license_address": { + "type": "string" + }, + "business_license_img_url": { + "type": "string" + }, + "certificate_first_type": { + "type": "integer" + }, + "certificate_type": { + "type": "integer" + }, + "certificate_validity": { + "type": "string" + }, + "company_abbreviation": { + "type": "string" + }, + "company_name": { + "type": "string" + }, + "country_region": { + "type": "string" + }, + "country_region_id": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "kind": { + "type": "integer" + }, + "legal_representative": { + "type": "string" + }, + "medium_id": { + "type": "integer" + }, + "memo": { + "type": "string" + }, + "registered_address": { + "type": "string" + }, + "registered_address_city_id": { + "type": "integer" + }, + "registered_address_country_id": { + "type": "integer" + }, + "registered_address_county_id": { + "type": "integer" + }, + "registered_address_province_id": { + "type": "integer" + }, + "state": { + "type": "integer" + }, + "unified_social_credit_code": { + "type": "string" + }, + "uuid": { + "type": "integer" + } + } + }, "md.Response": { "type": "object", "properties": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index d302103..672a8eb 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -63,6 +63,97 @@ definitions: token: type: string type: object + md.MediumBankInfo: + properties: + bank: + type: string + bank_branch: + type: string + bank_no: + type: string + currency_conf: + type: integer + id: + type: integer + licence: + type: string + medium_id: + type: integer + memo: + type: string + state: + type: integer + uuid: + type: integer + type: object + md.MediumContactInfo: + properties: + address: + type: string + email: + type: string + id: + type: integer + medium_id: + type: integer + memo: + type: string + name: + type: string + phone: + type: string + state: + type: integer + uuid: + type: integer + type: object + md.MediumList: + properties: + business_license_address: + type: string + business_license_img_url: + type: string + certificate_first_type: + type: integer + certificate_type: + type: integer + certificate_validity: + type: string + company_abbreviation: + type: string + company_name: + type: string + country_region: + type: string + country_region_id: + type: integer + id: + type: integer + kind: + type: integer + legal_representative: + type: string + medium_id: + type: integer + memo: + type: string + registered_address: + type: string + registered_address_city_id: + type: integer + registered_address_country_id: + type: integer + registered_address_county_id: + type: integer + registered_address_province_id: + type: integer + state: + type: integer + unified_social_credit_code: + type: string + uuid: + type: integer + type: object md.Response: properties: code: @@ -173,6 +264,149 @@ paths: summary: 登陆 tags: - ADMIN + /api/qualification/bank/save: + post: + consumes: + - application/json + description: 资质认证-银行资质保存 + parameters: + - description: 验证参数Bearer和token空格拼接 + in: header + name: Authorization + required: true + type: string + - description: 请求参数 + in: body + name: args + required: true + schema: + $ref: '#/definitions/md.MediumBankInfo' + produces: + - application/json + responses: + "200": + description: 具体看返回内容 + schema: + type: string + "400": + description: 具体错误 + schema: + $ref: '#/definitions/md.Response' + summary: 银行资质保存 + tags: + - 资质认证------嘉俊 + /api/qualification/contact/save: + post: + consumes: + - application/json + description: 资质认证-联系方式保存 + parameters: + - description: 验证参数Bearer和token空格拼接 + in: header + name: Authorization + required: true + type: string + - description: 请求参数 + in: body + name: args + required: true + schema: + $ref: '#/definitions/md.MediumContactInfo' + produces: + - application/json + responses: + "200": + description: 具体看返回内容 + schema: + type: string + "400": + description: 具体错误 + schema: + $ref: '#/definitions/md.Response' + summary: 联系方式保存 + tags: + - 资质认证------嘉俊 + /api/qualification/enterprise/save: + post: + consumes: + - application/json + description: 资质认证-企业认证保存 + parameters: + - description: 验证参数Bearer和token空格拼接 + in: header + name: Authorization + required: true + type: string + - description: 请求参数 + in: body + name: args + required: true + schema: + $ref: '#/definitions/md.MediumList' + produces: + - application/json + responses: + "200": + description: 具体看返回内容 + schema: + type: string + "400": + description: 具体错误 + schema: + $ref: '#/definitions/md.Response' + summary: 企业认证保存 + tags: + - 资质认证------嘉俊 + /api/qualification/info: + get: + consumes: + - application/json + description: 资质认证-基本信息 + parameters: + - description: 验证参数Bearer和token空格拼接 + in: header + name: Authorization + required: true + type: string + produces: + - application/json + responses: + "200": + description: 具体看返回内容 + schema: + type: string + "400": + description: 具体错误 + schema: + $ref: '#/definitions/md.Response' + summary: 基本信息 + tags: + - 资质认证------嘉俊 + /api/qualification/select/base: + get: + consumes: + - application/json + description: 资质认证-认证下拉框选择内容 + parameters: + - description: 验证参数Bearer和token空格拼接 + in: header + name: Authorization + required: true + type: string + produces: + - application/json + responses: + "200": + description: 具体看返回内容 + schema: + type: string + "400": + description: 具体错误 + schema: + $ref: '#/definitions/md.Response' + summary: 认证下拉框选择内容 + tags: + - 资质认证------嘉俊 /api/role/addAdmin: post: consumes: diff --git a/go.mod b/go.mod index ccee961..d5b5e9d 100644 --- a/go.mod +++ b/go.mod @@ -5,9 +5,8 @@ go 1.18 //replace code.fnuoos.com/zhimeng/model.git => E:/company/ad/models require ( - code.fnuoos.com/zhimeng/model.git v0.0.3-0.20240817100708-dde162209cee + code.fnuoos.com/zhimeng/model.git v0.0.3-0.20240820125928-6ce4c06dda24 github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 - github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 github.com/boombuler/barcode v1.0.1 github.com/dchest/uniuri v0.0.0-20200228104902-7aecb25e1fe5 github.com/dgrijalva/jwt-go v3.2.0+incompatible @@ -36,6 +35,8 @@ require ( xorm.io/xorm v1.3.1 ) +require github.com/jinzhu/copier v0.4.0 + require ( filippo.io/edwards25519 v1.1.0 // indirect github.com/KyleBanks/depth v1.2.1 // indirect