| | |
| | | package v1
|
| | |
|
| | | import (
|
| | | "aps_crm/model"
|
| | | "aps_crm/model/request"
|
| | | "aps_crm/model/response"
|
| | | "aps_crm/pkg/contextx"
|
| | | "aps_crm/pkg/ecode"
|
| | | "github.com/gin-gonic/gin"
|
| | | )
|
| | |
|
| | | type ServiceContractApi struct{}
|
| | |
|
| | | // Add
|
| | | //
|
| | | // @Tags ServiceContract
|
| | | // @Summary 添加服务合同
|
| | | // @Produce application/json
|
| | | // @Param object body request.AddServiceContract true "查询参数"
|
| | | // @Success 200 {object} contextx.Response{}
|
| | | // @Router /api/serviceContract/add [post]
|
| | | func (s *ServiceContractApi) Add(c *gin.Context) {
|
| | | var params request.AddServiceContract
|
| | | ctx, ok := contextx.NewContext(c, ¶ms)
|
| | | if !ok {
|
| | | return
|
| | | }
|
| | |
|
| | | errCode, serviceContract := checkServiceContractParams(params.ServiceContract)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | errCode = serviceContractService.AddServiceContract(&serviceContract)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | ctx.Ok()
|
| | | }
|
| | |
|
| | | // Delete
|
| | | //
|
| | | // @Tags ServiceContract
|
| | | // @Summary 删除服务合同
|
| | | // @Produce application/json
|
| | | // @Param object body request.DeleteserviceContract true "查询参数"
|
| | | // @Success 200 {object} contextx.Response{}
|
| | | // @Router /api/serviceContract/delete [delete]
|
| | | func (s *ServiceContractApi) Delete(c *gin.Context) {
|
| | | var params request.DeleteserviceContract
|
| | | ctx, ok := contextx.NewContext(c, ¶ms)
|
| | | if !ok {
|
| | | return
|
| | | }
|
| | |
|
| | | errCode := serviceContractService.DeleteServiceContract(params.Ids)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | ctx.Ok()
|
| | | }
|
| | |
|
| | | // Update
|
| | | //
|
| | | // @Tags ServiceContract
|
| | | // @Summary 更新服务合同
|
| | | // @Produce application/json
|
| | | // @Param object body request.UpdateServiceContract true "查询参数"
|
| | | // @Success 200 {object} contextx.Response{}
|
| | | // @Router /api/serviceContract/update [put]
|
| | | func (s *ServiceContractApi) Update(c *gin.Context) {
|
| | | var params request.UpdateServiceContract
|
| | | ctx, ok := contextx.NewContext(c, ¶ms)
|
| | | if !ok {
|
| | | return
|
| | | }
|
| | |
|
| | | errCode, serviceContract := checkServiceContractParams(params.ServiceContract)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | serviceContract.Id = params.Id
|
| | |
|
| | | errCode = serviceContractService.UpdateServiceContract(&serviceContract)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | ctx.Ok()
|
| | | }
|
| | |
|
| | | // check params
|
| | | func checkServiceContractParams(serviceContract request.ServiceContract) (errCode int, result model.ServiceContract) {
|
| | | //if serviceContract.SignTime == "" {
|
| | | // return ecode.InvalidParams, result
|
| | | //}
|
| | | //
|
| | | //if serviceContract.Number == "" {
|
| | | // return ecode.InvalidParams, result
|
| | | //}
|
| | | //
|
| | | //if serviceContract.MemberId <= 0 {
|
| | | // return ecode.InvalidParams, result
|
| | | //}
|
| | |
|
| | | t, err := checkTimeFormat(serviceContract.SignTime)
|
| | | if err != nil {
|
| | | return ecode.InvalidParams, result
|
| | | }
|
| | |
|
| | | result.SignTime = t
|
| | |
|
| | | t, err = checkTimeFormat(serviceContract.StartTime)
|
| | | if err != nil {
|
| | | return ecode.InvalidParams, result
|
| | | }
|
| | |
|
| | | result.StartTime = t
|
| | |
|
| | | t, err = checkTimeFormat(serviceContract.EndTime)
|
| | | if err != nil {
|
| | | return ecode.InvalidParams, result
|
| | | }
|
| | |
|
| | | result.EndTime = t
|
| | |
|
| | | result.Number = serviceContract.Number
|
| | | result.MemberId = serviceContract.MemberId
|
| | | result.Remark = serviceContract.Remark
|
| | | result.ClientId = serviceContract.ClientId
|
| | | result.ContactId = serviceContract.ContactId
|
| | | result.SaleChanceId = serviceContract.SaleChanceId
|
| | | result.QuotationId = serviceContract.QuotationId
|
| | | result.ServiceContractTypeId = serviceContract.TypeId
|
| | | result.ServiceContractStatusId = serviceContract.StatusId
|
| | | result.ServiceTimes = serviceContract.ServiceTimes
|
| | | result.Terms = serviceContract.Terms
|
| | | result.Products = serviceContract.Products
|
| | |
|
| | | return ecode.OK, result
|
| | | }
|
| | |
|
| | | // List
|
| | | //
|
| | | // @Tags ServiceContract
|
| | | // @Summary 生成计划列表
|
| | | // @Produce application/json
|
| | | // @Param object body request.GetServiceContractList true "参数"
|
| | | // @Success 200 {object} contextx.Response{data=response.ServiceContractsResponse}
|
| | | // @Router /api/serviceContract/list [post]
|
| | | func (con *ServiceContractApi) List(c *gin.Context) {
|
| | | var params request.GetServiceContractList
|
| | | ctx, ok := contextx.NewContext(c, ¶ms)
|
| | | if !ok {
|
| | | return
|
| | | }
|
| | |
|
| | | serviceContracts, total, errCode := serviceContractService.GetServiceContractList(params.Page, params.PageSize, params.Keyword)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | ctx.OkWithDetailed(response.ServiceContractsResponse{
|
| | | List: serviceContracts,
|
| | | Count: int(total),
|
| | | })
|
| | | }
|
| | | package v1 |
| | | |
| | | import ( |
| | | "aps_crm/constvar" |
| | | "aps_crm/model" |
| | | "aps_crm/model/request" |
| | | "aps_crm/model/response" |
| | | "aps_crm/pkg/contextx" |
| | | "aps_crm/pkg/ecode" |
| | | "aps_crm/pkg/structx" |
| | | "aps_crm/utils" |
| | | "github.com/gin-gonic/gin" |
| | | ) |
| | | |
| | | type ServiceContractApi struct{} |
| | | |
| | | // Add |
| | | // |
| | | // @Tags ServiceContract |
| | | // @Summary 添加服务合同 |
| | | // @Produce application/json |
| | | // @Param object body request.AddServiceContract true "查询参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/serviceContract/add [post] |
| | | func (s *ServiceContractApi) Add(c *gin.Context) { |
| | | var params request.AddServiceContract |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | serviceContract := new(model.ServiceContract) |
| | | if err := structx.AssignTo(params, serviceContract); err != nil { |
| | | ctx.Fail(ecode.ParamsErr) |
| | | return |
| | | } |
| | | |
| | | count, err := model.NewServiceContractSearch().SetNumber(params.Number).Count() |
| | | if err != nil { |
| | | ctx.FailWithMsg(ecode.UnknownErr, "编码验证失败") |
| | | return |
| | | } |
| | | if count > 0 { |
| | | ctx.FailWithMsg(ecode.UnknownErr, "编码已存在") |
| | | return |
| | | } |
| | | |
| | | if params.MemberId == 0 { |
| | | userInfo := utils.GetUserInfo(c) |
| | | if userInfo.UserType == constvar.UserTypeSub { |
| | | params.MemberId = userInfo.CrmUserId |
| | | } |
| | | } |
| | | |
| | | errCode := serviceContractService.AddServiceContract(serviceContract) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.Ok() |
| | | } |
| | | |
| | | // BatchDelete |
| | | // @Tags ServiceContract |
| | | // @Summary 批量删除服务合同 |
| | | // @Produce application/json |
| | | // @Param object body request.CommonIds true "参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/serviceContract/delete [delete] |
| | | func (s *ServiceContractApi) BatchDelete(c *gin.Context) { |
| | | var params request.CommonIds |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | errCode := serviceContractService.BatchDeleteServiceContract(params.Ids) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.Ok() |
| | | } |
| | | |
| | | // Update |
| | | // |
| | | // @Tags ServiceContract |
| | | // @Summary 更新服务合同 |
| | | // @Produce application/json |
| | | // @Param object body request.UpdateServiceContract true "查询参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/serviceContract/update [put] |
| | | func (s *ServiceContractApi) Update(c *gin.Context) { |
| | | var params request.UpdateServiceContract |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | serviceContract := new(model.ServiceContract) |
| | | if err := structx.AssignTo(params, serviceContract); err != nil { |
| | | ctx.Fail(ecode.ParamsErr) |
| | | return |
| | | } |
| | | |
| | | serviceContract.Id = params.Id |
| | | |
| | | errCode := serviceContractService.UpdateServiceContract(serviceContract) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.Ok() |
| | | } |
| | | |
| | | // List |
| | | // |
| | | // @Tags ServiceContract |
| | | // @Summary 服务合同列表 |
| | | // @Produce application/json |
| | | // @Param object body request.GetServiceContractList true "参数" |
| | | // @Success 200 {object} contextx.Response{data=response.ServiceContractsResponse} |
| | | // @Router /api/serviceContract/list [post] |
| | | func (con *ServiceContractApi) List(c *gin.Context) { |
| | | var params request.GetServiceContractList |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | var memberIds []int |
| | | userInfo := utils.GetUserInfo(c) |
| | | if userInfo.UserType == constvar.UserTypeSub { |
| | | memberIds = userInfo.SubUserIds |
| | | } |
| | | |
| | | serviceContracts, total, errCode := serviceContractService.GetServiceContractList(params, memberIds) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.OkWithDetailed(response.ServiceContractsResponse{ |
| | | List: serviceContracts, |
| | | Count: int(total), |
| | | }) |
| | | } |