Explorar o código

feat: 增加安全巡检增、删、查接口

lanjianrong %!s(int64=4) %!d(string=hai) anos
pai
achega
0415fbce84

+ 1 - 1
conf/project.go

@@ -22,7 +22,7 @@ var SignSecret = "cpcm005687gokaif"
 var CookieSecret = "cm_login_account"
 
 // nodejs rpc 服务端
-const NodeRpcHost = "192.168.1.47:50051"
+const NodeRpcHost = "localhost:50051"
 
 // 是否需要启动全局计划任务服务
 var RunningCrontabService = false

+ 72 - 0
dao/safe_audit_dao.go

@@ -0,0 +1,72 @@
+/*
+ * @description: 安全巡检数据库操作相关
+ * @Author: LanJianRong
+ * @Date: 2020-11-20
+ * @FilePath: \construction_management\dao\safe_dao.go
+ */
+
+package dao
+
+import (
+	"fmt"
+
+	"github.com/go-xorm/xorm"
+	"go.mod/models"
+	"go.mod/web/viewmodels"
+)
+
+//数据库操作引擎
+type SafeAuditDao struct {
+	engine *xorm.Engine
+}
+
+//获得一个DAO对象
+func NewSafeAuditDao(engine *xorm.Engine) *SafeAuditDao {
+	return &SafeAuditDao{
+		engine: engine,
+	}
+}
+
+// id获得数据
+func (d *SafeAuditDao) GetListBySid(id int) []models.CmSafeAudit {
+	dataList := make([]models.CmSafeAudit, 0)
+	err := d.engine.
+		Asc("audit_order").
+		Where("safe_id=?", id).
+		Find(&dataList)
+	if err != nil {
+		return dataList
+	}
+	return dataList
+}
+
+// id获得某一条审批记录
+func (d *SafeAuditDao) GetRecordBySid(id int) viewmodels.SafeListAuditRecord {
+	// data := &models.CmSafeAudit{}
+	sql := "select p.name, s.create_time from `cm_safe_audit` as s , `cm_project_account` as p where s.`audit_id` = p.`id` and s.`safe_id` = ? and `times` = (select max(`times`) from `cm_safe_audit` where `safe_id` = ?) order by `audit_order` desc limit 2"
+
+	results, err := d.engine.Query(sql, id, id)
+
+	if err != nil {
+
+	}
+	record := viewmodels.SafeListAuditRecord{}
+
+	// fmt.Println(results)
+	for i, item := range results {
+		fmt.Println(item)
+
+		if i == 1 {
+			record.CreateTime = string(item["create_time"])
+			record.Name = string(item["name"])
+		}
+	}
+
+	return record
+}
+
+// func (d *ProjectAccountDao) GetAudit(id int) {
+// 	auditor := models.CmProjectAccount
+// 	has, err := d.engine.Id(id).Get(auditor)
+// 	return auditor
+// }

+ 51 - 0
dao/safe_dao.go

@@ -0,0 +1,51 @@
+/*
+ * @description: 安全巡检数据库操作相关
+ * @Author: LanJianRong
+ * @Date: 2020-11-20
+ * @FilePath: \construction_management\dao\safe_dao.go
+ */
+
+package dao
+
+import (
+	"github.com/go-xorm/xorm"
+	"go.mod/models"
+)
+
+//数据库操作引擎
+type SafeDao struct {
+	engine *xorm.Engine
+}
+
+//获得一个DAO对象
+func NewSafeDao(engine *xorm.Engine) *SafeDao {
+	return &SafeDao{
+		engine: engine,
+	}
+}
+
+// id获得数据
+func (d *SafeDao) GetListByBid(id int) []models.CmSafe {
+	dataList := make([]models.CmSafe, 0)
+	err := d.engine.
+		Asc("create_time").
+		Where("bidsection_id=?", id).
+		Find(&dataList)
+	if err != nil {
+		return dataList
+	}
+	return dataList
+}
+
+// 插入单条记录
+func (d *SafeDao) InsertRecord(data models.CmSafe) (bool, error) {
+	affected, err := d.engine.InsertOne(data)
+	return affected > 0, err
+}
+
+// 删除记录
+func (d *SafeDao) DeleteRecord(id int) (bool, error) {
+	safe := models.CmSafe{}
+	affected, err := d.engine.Id(id).Delete(safe)
+	return affected > 0, err
+}

+ 50 - 0
dao/safe_file_dao.go

@@ -0,0 +1,50 @@
+/*
+ * @description: 安全巡检数据库操作相关
+ * @Author: LanJianRong
+ * @Date: 2020-11-20
+ * @FilePath: \construction_management\dao\safe_dao.go
+ */
+
+package dao
+
+import (
+	"github.com/go-xorm/xorm"
+	"go.mod/models"
+)
+
+// 数据库操作引擎
+type SafeFileDao struct {
+	engine *xorm.Engine
+}
+
+// 获得一个DAO对象
+func NewSafeFileDao(engine *xorm.Engine) *SafeFileDao {
+	return &SafeFileDao{
+		engine: engine,
+	}
+}
+
+// 通过标段id获得数据
+func (d *SafeFileDao) GetListByBid(id int) []models.CmSafeFile {
+	dataList := make([]models.CmSafeFile, 0)
+	err := d.engine.
+		Asc("create_time").
+		Where("safe_id=?", id).
+		Find(&dataList)
+	if err != nil {
+		return dataList
+	}
+	return dataList
+}
+
+// 获取总数
+func (d *SafeFileDao) GetCount(id int) int64 {
+	file := models.CmSafeFile{}
+	total, err := d.engine.
+		Where("safe_id=?", id).
+		Count(file)
+	if err != nil {
+		return 0
+	}
+	return total
+}

+ 58 - 62
services/safe_service.go

@@ -1,76 +1,59 @@
 package services
 
 import (
-	"context"
-	"encoding/json"
-	"fmt"
 	"log"
 	"strconv"
-	"time"
-
-	"go.mod/models"
 
 	"github.com/kataras/iris/v12"
 	"go.mod/comm"
 	"go.mod/conf"
-	rpc "go.mod/proto"
+	"go.mod/dao"
+	"go.mod/datasource"
+	"go.mod/models"
 	"go.mod/web/viewmodels"
-	"google.golang.org/grpc"
 )
 
 type SafeService interface {
-	Get(id int, RpcConnect *grpc.ClientConn) (int32, string, []viewmodels.Safe)
-	Post(bidsectionId int, code string, position string, createTime string, inspection string, RpcConnect *grpc.ClientConn) (int32, string)
+	Get(id int) []viewmodels.SafeList
+	Post(data models.CmSafe) error
+	Del(id int) error
+
 	ValidRule(ctx iris.Context) (viewmodels.Safe, error)
 }
 
 // //返回service操作类
 type safeService struct {
-	valid       string
-	validCreate string
+	daoSafe      *dao.SafeDao
+	daoSafeAudit *dao.SafeAuditDao
+	daoSafeFile  *dao.SafeFileDao
+	valid        string
+	validCreate  string
 }
 
 //创建项目用户service
 func NewSafeService() SafeService {
 	return &safeService{
-		valid:       "/api/safe",
-		validCreate: "/api/safe/create",
+		daoSafe:      dao.NewSafeDao(datasource.InstanceDbMaster()),
+		daoSafeAudit: dao.NewSafeAuditDao(datasource.InstanceDbMaster()),
+		daoSafeFile:  dao.NewSafeFileDao(datasource.InstanceDbMaster()),
+		valid:        "/api/safe",
+		validCreate:  "/api/safe/create",
 	}
 }
-
-func (s *safeService) Get(id int, RpcConnect *grpc.ClientConn) (int32, string, []viewmodels.Safe) {
-	// 1.结束后关闭
-	// defer s.rpcClient.Close()
-	// 使用连接,创建HelloService实例
-	safeCmList := make([]models.CmSafe, 0)
-	safeList := make([]viewmodels.Safe, 0)
-
-	rpcClient := rpc.NewSafeClient(RpcConnect)
-
-	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
-	defer cancel()
-	res, err := rpcClient.GetSafeList(ctx, &rpc.SafeGetRequest{Id: int32(id)})
-	if err != nil {
-		log.Fatalf("could not greet: %v", err)
-		return -1, "", safeList
-	}
-
-	err = json.Unmarshal([]byte(res.GetData()), &safeCmList)
-	if err != nil {
-		msg := fmt.Sprintf("Json转换出错:err=", err)
-		log.Println("Json转换出错:err=", err)
-		return -1, msg, safeList
-	}
-
-	for _, item := range safeCmList {
-		safeVM := viewmodels.Safe{}
+func (s *safeService) Get(id int) []viewmodels.SafeList {
+	datalist := s.daoSafe.GetListByBid(id)
+	safeList := make([]viewmodels.SafeList, 0)
+	for _, item := range datalist {
+		safeVM := viewmodels.SafeList{}
 		safeVM.Code = item.Code
-
-		bidId, _ := comm.AesEncrypt(strconv.Itoa(item.BidsectionId), conf.SignSecret)
-		safeVM.BidsectionId = bidId
-		// safeVM.CreateTime = item.CreateTime
+		// fmt.Println("safe_id: %d", item.Id)
+		auditRecord := s.daoSafeAudit.GetRecordBySid(item.Id)
+		safeVM.AuditName = auditRecord.Name
+		// bidId, _ := comm.AesEncrypt(strconv.Itoa(item.BidsectionId), conf.SignSecret)
+		// safeVM.BidsectionId = bidId
+		safeVM.CreateTime = auditRecord.CreateTime
 		safeVM.Demand = item.Demand
-		safeVM.EndTime = item.EndTime.Format("2006-01-02 15:04:05")
+		// safeVM.EndTime = item.EndTime.Format("2006-01-02 15:04:05")
 
 		id, _ := comm.AesEncrypt(strconv.Itoa(item.Id), conf.SignSecret)
 		safeVM.Id = id
@@ -79,44 +62,57 @@ func (s *safeService) Get(id int, RpcConnect *grpc.ClientConn) (int32, string, [
 		safeVM.InspectionDetail = item.InspectionDetail
 		safeVM.Position = item.Position
 		safeVM.Status = item.Status
+		safeVM.FileCounts = s.daoSafeFile.GetCount(item.Id)
 		safeList = append(safeList, safeVM)
 	}
-
-	return res.GetCode(), res.GetMsg(), safeList
+	return safeList
 }
 
-func (s *safeService) Post(bidsectionId int, code string, position string, createTime string, inspection string, RpcConnect *grpc.ClientConn) (int32, string) {
-	rpcClient := rpc.NewSafeClient(RpcConnect)
-
-	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
-	defer cancel()
-	res, err := rpcClient.PostSafe(ctx, &rpc.SafePostRequest{BidsectionId: int32(bidsectionId), Code: code, Position: position, CreateTime: createTime, Inspection: inspection})
-	if err != nil {
-		log.Fatalf("could not greet: %v", err)
-		return -1, ""
+// post请求,插入单条数据
+func (s *safeService) Post(data models.CmSafe) error {
+	Inserted, err := s.daoSafe.InsertRecord(data)
+	if Inserted == true {
+		return nil
 	}
-	return res.GetCode(), res.GetMsg()
+	return err
 }
 
+// delete请求,删除数据
+func (s *safeService) Del(id int) error {
+	Deleted, err := s.daoSafe.DeleteRecord(id)
+	if Deleted == true {
+		return nil
+	}
+	return err
+}
 func (s *safeService) ValidRule(ctx iris.Context) (viewmodels.Safe, error) {
 	safeVaild := viewmodels.Safe{}
-	if ctx.Path() == s.valid {
+	if ctx.Method() == "GET" {
 		err := ctx.ReadForm(&safeVaild)
 		if err != nil {
-			log.Println("safe-ValidRule-ReadJson转换异常, error=", err)
+			log.Println("safe-ValidRule-ReadForm转换异常, error=", err)
 			return safeVaild, err
 		}
 		err = safeVaild.ValidateList()
 	}
 
-	if ctx.Path() == s.validCreate {
+	if ctx.Method() == "POST" {
 		err := ctx.ReadJSON(&safeVaild)
 		if err != nil {
-			log.Println("safe-ValidRule-ReadForm转换异常, error=", err)
+			log.Println("safe-ValidRule-ReadJson转换异常, error=", err)
 			return safeVaild, err
 		}
 		err = safeVaild.ValidateCreate()
 	}
+
+	if ctx.Method() == "PUT" {
+		err := ctx.ReadForm(&safeVaild)
+		if err != nil {
+			log.Println("safe-ValidRule-ReadForm转换异常, error=", err)
+			return safeVaild, err
+		}
+		err = safeVaild.ValidateDelete()
+	}
 	return safeVaild, nil
 
 }

+ 175 - 0
web/api/safe_api.go

@@ -0,0 +1,175 @@
+/*
+ * @description: rpc - 安全巡检
+ * @Author: LanJianRong
+ * @Date: 2020-11-18
+ * @FilePath: \construction_management\web\api\safe_rpc_api.go
+ */
+
+package api
+
+import (
+	"time"
+
+	"github.com/kataras/iris/v12"
+	"go.mod/models"
+	"go.mod/services"
+	"go.mod/web/utils"
+)
+
+type SafeApi struct {
+	//框架-web应用上下文环境
+	Ctx iris.Context
+	// 需要用的service
+	ServiceSafe services.SafeService
+}
+
+// @Summary 安全巡检列表
+// @Tags 安全巡检
+// @Description 获得列表数据
+// @Accept  json
+// @Produce  json
+// @Security ApiKeyAuth
+// @Param   bidsectionId     path    string     true        "标段ID"
+// @Success 200 {object} viewmodels.Safe "{code:0成功,data:viewmodels.Safe,msg:}"
+// @Failure 400 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
+// @Router /api/safe [get]
+func (c *SafeApi) Get() {
+	// 1.规则验证
+	safeData, err := c.ServiceSafe.ValidRule(c.Ctx)
+	if err != nil {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
+		return
+	}
+
+	bidsectionId, err := utils.GetDecryptId(safeData.BidsectionId)
+	if err != nil {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
+		return
+	}
+	// c.ServiceSafe.Get(bidsectionId, RpcConnect)
+	SafeData := c.ServiceSafe.Get(bidsectionId)
+
+	c.Ctx.JSON(iris.Map{
+		"code": 0,
+		"msg":  "请求成功",
+		"data": SafeData,
+	})
+}
+
+// @Summary 安全巡检列表
+// @Tags 安全巡检
+// @Description 创建新的安全巡检记录
+// @Accept  json
+// @Produce  json
+// @Security ApiKeyAuth
+// @Param   bidsectionId     body    string     true        "标段ID"
+// @Param   code     					body    string     true        "编号"
+// @Param   createTime     body    string     true        "日期"
+// @Param   inspection     body    string     true        "检查部位"
+// @Param   position     body    string     true        "部位"
+// @Success 200 {object} viewmodels.Safe "{code:0成功,msg:}"
+// @Failure 400 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
+// @Router /api/safe [post]
+func (c *SafeApi) Post() {
+	// 1.规则验证
+	safeData, err := c.ServiceSafe.ValidRule(c.Ctx)
+	if err != nil {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
+		return
+	}
+	bidsectionId, err := utils.GetDecryptId(safeData.BidsectionId)
+	if err != nil {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
+		return
+	}
+	data := models.CmSafe{}
+	data.BidsectionId = bidsectionId
+	data.Code = safeData.Code
+	data.Inspection = safeData.Inspection
+	createTime, err := time.Parse("2006-11-01 08:11:11", safeData.CreateTime)
+	if err != nil {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": "日期转换异常,请检查参数"})
+		return
+	}
+	data.CreateTime = createTime
+	err1 := c.ServiceSafe.Post(data)
+	if err != nil {
+		c.Ctx.JSON(iris.Map{
+			"code": -1,
+			"msg":  err1,
+		})
+		return
+	}
+	c.Ctx.JSON(iris.Map{
+		"code": 0,
+		"msg":  "插入成功",
+	})
+}
+
+// @Summary 安全巡检列表
+// @Tags 安全巡检
+// @Description 删除安全巡检记录
+// @Accept  json
+// @Produce  json
+// @Security ApiKeyAuth
+// @Param   id     body    string     true        "安全巡检ID"
+// @Success 200 {object} viewmodels.Safe "{code:0成功,msg:}"
+// @Failure 400 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
+// @Router /api/safe [delete]
+func (c *SafeApi) Delete() {
+	queryId := c.Ctx.URLParam("id")
+	if queryId == "" {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": "id不存在"})
+		return
+	}
+	id, err := utils.GetDecryptId(queryId)
+	if err != nil {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
+		return
+	}
+
+	err1 := c.ServiceSafe.Del(id)
+	if err1 != nil {
+		c.Ctx.JSON(iris.Map{
+			"code": -1,
+			"msg":  err1,
+		})
+		return
+	}
+	c.Ctx.JSON(iris.Map{
+		"code": 0,
+		"msg":  "删除成功",
+	})
+}
+
+// @Summary 安全巡检列表
+// @Tags 安全巡检
+// @Description 获得安全巡检详情页面数据
+// @Accept  json
+// @Produce  json
+// @Security ApiKeyAuth
+// @Param   id     path    string     true        "巡检ID"
+// @Success 200 {object} viewmodels.Safe "{code:0成功,data:viewmodels.Safe,msg:}"
+// @Failure 400 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
+// @Router /api/safe/detail [get]
+// func (c *SafeApi) GetDetail() {
+// 	// 1.规则验证
+// 	safeData, err := c.ServiceSafe.ValidRule(c.Ctx)
+// 	if err != nil {
+// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
+// 		return
+// 	}
+
+// 	id, err := utils.GetDecryptId(safeData.Id)
+// 	if err != nil {
+// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadForm转换异常,请检查参数"})
+// 		return
+// 	}
+// 	SafeData := c.ServiceSafe.GetDetail(id)
+
+// 	c.Ctx.JSON(iris.Map{
+// 		"code": 0,
+// 		"msg":  "请求成功",
+// 		"data": SafeData,
+// 	})
+// }

+ 47 - 56
web/api/safe_rpc_api.go

@@ -7,21 +7,12 @@
 
 package api
 
-import (
-	"fmt"
-
-	"github.com/kataras/iris/v12"
-	"go.mod/services"
-	"go.mod/web/utils"
-	"google.golang.org/grpc"
-)
-
-type SafeRpcApi struct {
-	//框架-web应用上下文环境
-	Ctx iris.Context
-	// 需要用的service
-	ServiceSafe services.SafeService
-}
+// type SafeRpcApi struct {
+// 	//框架-web应用上下文环境
+// 	Ctx iris.Context
+// 	// 需要用的service
+// 	ServiceSafe services.SafeService
+// }
 
 // @Summary 安全巡检列表
 // @Tags 安全巡检
@@ -33,30 +24,30 @@ type SafeRpcApi struct {
 // @Success 200 {object} viewmodels.Safe "{code:0成功,data:viewmodels.Safe,msg:}"
 // @Failure 400 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
 // @Router /api/safe [get]
-func (c *SafeRpcApi) Get() {
+// func (c *SafeRpcApi) Get() {
 
-	RpcConnect := c.Ctx.Values().Get("RpcConnect").(*grpc.ClientConn)
-	// 1.规则验证
-	safeData, err := c.ServiceSafe.ValidRule(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
+// 	// RpcConnect := c.Ctx.Values().Get("RpcConnect").(*grpc.ClientConn)
+// 	// 1.规则验证
+// 	safeData, err := c.ServiceSafe.ValidRule(c.Ctx)
+// 	if err != nil {
+// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
+// 		return
+// 	}
 
-	bidsectionId, err := utils.GetDecryptId(safeData.BidsectionId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
-		return
-	}
-	// c.ServiceSafe.Get(bidsectionId, RpcConnect)
-	code, msg, data := c.ServiceSafe.Get(bidsectionId, RpcConnect)
+// 	bidsectionId, err := utils.GetDecryptId(safeData.BidsectionId)
+// 	if err != nil {
+// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
+// 		return
+// 	}
+// 	// c.ServiceSafe.Get(bidsectionId, RpcConnect)
+// 	SafeData := c.ServiceSafe.Get(bidsectionId)
 
-	c.Ctx.JSON(iris.Map{
-		"code": code,
-		"msg":  msg,
-		"data": data,
-	})
-}
+// 	c.Ctx.JSON(iris.Map{
+// 		"code": 0,
+// 		"msg":  "请求成功",
+// 		"data": SafeData,
+// 	})
+// }
 
 // @Summary 安全巡检列表
 // @Tags 安全巡检
@@ -72,24 +63,24 @@ func (c *SafeRpcApi) Get() {
 // @Success 200 {object} viewmodels.Safe "{code:0成功,msg:}"
 // @Failure 400 {string} string	"{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
 // @Router /api/safe/create [post]
-func (c *SafeRpcApi) PostCreate() {
-	// 1.规则验证
-	safeData, err := c.ServiceSafe.ValidRule(c.Ctx)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
-		return
-	}
-	fmt.Println(safeData)
-	bidsectionId, err := utils.GetDecryptId(safeData.BidsectionId)
-	if err != nil {
-		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
-		return
-	}
-	RpcConnect := c.Ctx.Values().Get("RpcConnect").(*grpc.ClientConn)
-	code, msg := c.ServiceSafe.Post(bidsectionId, safeData.Position, safeData.Code, safeData.CreateTime, safeData.Inspection, RpcConnect)
+// func (c *SafeRpcApi) PostCreate() {
+// 	// 1.规则验证
+// 	safeData, err := c.ServiceSafe.ValidRule(c.Ctx)
+// 	if err != nil {
+// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
+// 		return
+// 	}
+// 	fmt.Println(safeData)
+// 	bidsectionId, err := utils.GetDecryptId(safeData.BidsectionId)
+// 	if err != nil {
+// 		c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
+// 		return
+// 	}
+// 	RpcConnect := c.Ctx.Values().Get("RpcConnect").(*grpc.ClientConn)
+// 	code, msg := c.ServiceSafe.Post(bidsectionId, safeData.Position, safeData.Code, safeData.CreateTime, safeData.Inspection, RpcConnect)
 
-	c.Ctx.JSON(iris.Map{
-		"code": code,
-		"msg":  msg,
-	})
-}
+// 	c.Ctx.JSON(iris.Map{
+// 		"code": code,
+// 		"msg":  msg,
+// 	})
+// }

+ 1 - 1
web/routes/routes.go

@@ -136,6 +136,6 @@ func Configure(b *bootstrap.Bootstrapper) {
 	apiSafe.Register(SafeService)
 	apiSafe.Router.Use(middleware.SessionsAuth)
 	apiSafe.Router.Use(middleware.AccessAuth)
-	apiSafe.Handle(new(api.SafeRpcApi))
+	apiSafe.Handle(new(api.SafeApi))
 
 }

+ 30 - 0
web/viewmodels/safe.go

@@ -23,6 +23,30 @@ type Safe struct {
 	Demand           string `form:"demand" json:"demand"`
 	Status           int    `form:"status" json:"status"`
 }
+type SafeList struct {
+	Id               string `form:"id" json:"id" `
+	Code             string `form:"code" json:"code"`
+	CreateTime       string `form:"createTime" json:"createTime"`
+	Position         string `form:"position" json:"position"`
+	Inspection       string `form:"inspection" json:"inspection"`
+	InspectionDetail string `form:"inspectionDetail" json:"inspectionDetail"`
+	Demand           string `form:"demand" json:"demand"`
+	Status           int    `form:"status" json:"status"`
+	AuditName        string `form:"auditName" json:"auditName"`
+	FileCounts       int64  `from:"fileCounts" json:"fileCounts"`
+}
+
+// type SafeCreate struct {
+// 	BidsectionId string `form:"bidsection_id" json:"bidsection_id"`
+// 	CreateTime   string `form:"create_time" json:"create_time"`
+// 	Code         string `form:"code" json:"code"`
+// 	Position     string `form:"position" json:"position"`
+// 	Inspection   string `form:"inspection" json:"inspection"`
+// }
+type SafeListAuditRecord struct {
+	Name       string `form:"name" json:"name"`
+	CreateTime string `form:"create_time" json:"create_time"`
+}
 
 func (l Safe) ValidateList() error {
 	return validation.ValidateStruct(&l,
@@ -39,3 +63,9 @@ func (l Safe) ValidateCreate() error {
 		validation.Field(&l.Inspection, validation.Required.Error("检查项目不能为空")),
 	)
 }
+
+func (l Safe) ValidateDelete() error {
+	return validation.ValidateStruct(&l,
+		validation.Field(&l.Id, validation.Required.Error("检查项目不能为空")),
+	)
+}