|
@@ -0,0 +1,80 @@
|
|
|
+package controller
|
|
|
+
|
|
|
+import (
|
|
|
+ "github.com/gin-gonic/gin"
|
|
|
+ "lims-extend/common"
|
|
|
+ "lims-extend/model"
|
|
|
+ "lims-extend/response"
|
|
|
+ "lims-extend/util"
|
|
|
+ "strconv"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+func SubmitCompanyCreateRequest(c *gin.Context) {
|
|
|
+
|
|
|
+ db := common.GetDB()
|
|
|
+ db.AutoMigrate(&model.CompanyCreateRequest{})
|
|
|
+ // 获取数据
|
|
|
+ companyName := c.PostForm("company_name")
|
|
|
+ creatorId := c.PostForm("user_id")
|
|
|
+ certificateFile, err := c.FormFile("business_license")
|
|
|
+ // 数据验证
|
|
|
+ if err != nil {
|
|
|
+ response.Fail(c, nil, "营业执照上传发生错误")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ logoFile, err := c.FormFile("logo")
|
|
|
+ if err != nil {
|
|
|
+ response.Fail(c, nil, "公司logo上传发生错误")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var request model.CompanyCreateRequest
|
|
|
+ if err := db.Model(&model.CompanyCreateRequest{}).
|
|
|
+ Where("name = ?", companyName).First(&request).Error; err == nil || request.Name != "" {
|
|
|
+ response.Fail(c, nil, "该公司已存在,无法重复提交申请")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ timestamp := strconv.FormatInt(time.Now().Unix(), 10)
|
|
|
+ // 将获取到的图片文件保存到本地
|
|
|
+ logoURL := "files/logo/" + timestamp + "_" + logoFile.Filename
|
|
|
+ certificateURL := "files/cert/" + timestamp + "_" + certificateFile.Filename
|
|
|
+ err = c.SaveUploadedFile(logoFile, logoURL)
|
|
|
+ err = c.SaveUploadedFile(certificateFile, certificateURL)
|
|
|
+ baseURL := util.GetHTTPHead()
|
|
|
+ if err != nil {
|
|
|
+ response.Fail(c, nil, "保存文件出错")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 创建公司创建请求实体
|
|
|
+ request = model.CompanyCreateRequest{
|
|
|
+ Name: companyName,
|
|
|
+ LogoUrl: baseURL + logoURL,
|
|
|
+ CertificateUrl: baseURL + certificateURL,
|
|
|
+ State: 0, //状态0表示未审核
|
|
|
+ CreatorId: creatorId,
|
|
|
+ CreatedAt: model.Time{},
|
|
|
+ UpdatedAt: model.Time{},
|
|
|
+ }
|
|
|
+
|
|
|
+ // 提交至数据库
|
|
|
+ if err := db.Model(&model.CompanyCreateRequest{}).Create(&request).Error; err != nil {
|
|
|
+ response.Fail(c, nil, "公司创建请求出现问题,请检查")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 返回创建成功提醒
|
|
|
+ response.Success(c, gin.H{"company": request}, "公司创建请求提交成功,请等待审核!")
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func GetCompanyCreateRequest(c *gin.Context) {
|
|
|
+ db := common.GetDB()
|
|
|
+ creatorId := c.Params.ByName("creator_id")
|
|
|
+ var request model.CompanyCreateRequest
|
|
|
+ if err := db.Model(&model.CompanyCreateRequest{}).
|
|
|
+ Where("creator_id = ?", creatorId).First(&request).Error; err != nil {
|
|
|
+ response.Fail(c, nil, "查无此创建公司请求")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ response.Success(c, gin.H{"request": request}, "查询成功")
|
|
|
+}
|