瀏覽代碼

no message

zhangchuanxing 1 月之前
父節點
當前提交
0e8f693b86
共有 4 個文件被更改,包括 116 次插入0 次删除
  1. 28 0
      controller/crm/contract.go
  2. 67 0
      models/crm/seal.go
  3. 1 0
      routers/crm.go
  4. 20 0
      services/crm/seal.go

+ 28 - 0
controller/crm/contract.go

@@ -272,3 +272,31 @@ func (rg *ContractController) ServiceDetail(c *gin.Context) {
 
 	resp.OkData("获取成功", contractDetail, c)
 }
+
+// SealDetail
+// @Title 获取合同的套餐及品种权限
+// @Description 获取合同的套餐及品种权限
+// @Param   ContractCode  query  string  true  "合同编号"
+// @Success 200 {object} crm.ContractDetail
+// @router /crm/contract/seal_detail [get]
+func (rg *ContractController) SealDetail(c *gin.Context) {
+	var req crm.SealServiceDetailReq
+	if e := c.BindQuery(&req); e != nil {
+		err, ok := e.(validator.ValidationErrors)
+		if !ok {
+			resp.FailData("参数解析失败", "Err:"+e.Error(), c)
+			return
+		}
+		resp.FailData("参数解析失败", err.Translate(global.Trans), c)
+		return
+	}
+
+	contractDetail, e := crmService.GetSealDetail(req.ContractCode)
+	if e != nil {
+		global.LOG.Error(e.Error())
+		resp.FailMsg("获取失败", "获取合同套餐及品种信息失败, Err: "+e.Error(), c)
+		return
+	}
+
+	resp.OkData("获取成功", contractDetail, c)
+}

+ 67 - 0
models/crm/seal.go

@@ -0,0 +1,67 @@
+package crm
+
+import (
+	"hongze/fms_api/global"
+	"time"
+)
+
+// Seal 用印结构体
+type Seal struct {
+	SealId            int       `orm:"column(seal_id);pk"`
+	Code              string    `description:"用印编号,长度32位"`
+	UserId            int       `description:"申请人id"`
+	UserName          string    `description:"申请人名称"`
+	Use               string    `description:"用印用途,枚举值:'销售合同', '渠道合同', '付款通知函', '招投标', '战略合作协议';默认:销售合同"`
+	CompanyName       string    `description:"客户名称,甲方名称,长度32位"`
+	UseCompanyName    string    `description:"实际使用方客户名称,长度32位"`
+	CreditCode        string    `description:"社会统一信用代码,长度64位"`
+	ServiceType       string    `description:"业务类型,枚举值:'新签合同','续约合同','补充协议';默认:新签合同"`
+	SealType          string    `description:"加盖印章类型,枚举值:'合同章', '公章', '法人章';默认:合同章"`
+	Status            string    `description:"合同状态,枚举值:'待提交','待审批','已撤回','已审批','已驳回','已作废','已签回'"`
+	Remark            string    `description:"补充内容,长度255位"`
+	ApprovalRemark    string    `description:"审核备注"`
+	FileUrl           string    `description:"文件附件地址"`
+	CheckBackFileUrl  string    `description:"已签回的文件地址"`
+	FileNum           int       `description:"文件附件份数"`
+	ContractId        int       `description:"系统合同id"`
+	IsDelete          int       `json:"-" description:"是否已经删除,0:未删除,1:已删除"`
+	ApproveTime       time.Time `description:"审批时间"`
+	InvalidTime       time.Time `description:"作废时间"`
+	ModifyTime        time.Time `description:"最近一次修改时间"`
+	CreateTime        time.Time `description:"添加时间"`
+	CheckBackFileTime time.Time `description:"签回用印附件时间"`
+	AffiliatedCompany string    `description:"归属公司"`
+	ProductId         int       `description:"产品id,1:ficc;2:权益"`
+	CompanyId         int       `description:"客户id"`
+	StartDate         time.Time `description:"开始日期"`
+	EndDate           time.Time `description:"结束日期"`
+}
+
+// ContractDetail 合同详情信息(包含服务信息等)
+type SealDetail struct {
+	Contract
+}
+
+func (Seal) TableName() string {
+	return "seal"
+}
+
+// SealServiceDetailReq CRM系统合同-合同套餐及品种权限详情请求体
+type SealServiceDetailReq struct {
+	ContractCode string `json:"contract_code" form:"contract_code"  description:"合同编号"`
+}
+
+// GetContractDetailById 根据合同ID获取合同详情信息
+func GetSealInfoByCode(code string) (item *Seal, err error) {
+	//detail = new(SealDetail)
+	//item := new(Seal)
+	query := global.MYSQL["report"].
+		Model(Seal{}).
+		Where("code = ?", code)
+	err = query.Find(&item).Error
+	if err != nil {
+		return
+	}
+
+	return
+}

+ 1 - 0
routers/crm.go

@@ -13,6 +13,7 @@ func InitCrm(rg *gin.RouterGroup) {
 	crGroup.GET("search_list", ct.SearchList)
 	crGroup.GET("permission_list", ct.PermissionList)
 	crGroup.GET("service_detail", ct.ServiceDetail)
+	crGroup.GET("seal_detail", ct.SealDetail)
 
 	// 销售
 	sl := new(crm.CompanySellerController)

+ 20 - 0
services/crm/seal.go

@@ -0,0 +1,20 @@
+package crm
+
+import (
+	"errors"
+	"hongze/fms_api/models/crm"
+)
+
+// GetContractDetail 根据id获取合同详情(包含服务)
+func GetSealDetail(contractCode string) (itemRsp crm.ContractDetail, err error) {
+	sealDetail, tmpErr := crm.GetSealInfoByCode(contractCode)
+	if tmpErr != nil {
+		err = errors.New("查询业务关联合同异常:" + tmpErr.Error())
+		return
+	}
+	itemRsp.ContractCode = sealDetail.Code
+	itemRsp.StartDate = sealDetail.StartDate
+	itemRsp.EndDate = sealDetail.EndDate
+	itemRsp.SellerName = sealDetail.UserName
+	return
+}