123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package fms
- import (
- "hongze/fms_api/global"
- "hongze/fms_api/models/base"
- )
- // ContractPaymentServiceAmount 到款登记-套餐金额分配表
- type ContractPaymentServiceAmount struct {
- ContractPaymentServiceAmountId int `gorm:"primaryKey;column:contract_payment_service_amount_id" json:"contract_payment_service_amount_id"`
- ContractRegisterId int `gorm:"column:contract_register_id" json:"contract_register_id" description:"合同登记ID"`
- ContractPaymentId int `gorm:"column:contract_payment_id" json:"contract_payment_id" description:"到款登记ID"`
- ServiceTemplateId int `gorm:"column:service_template_id" json:"service_template_id" description:"套餐ID"`
- ServiceTemplatePid int `gorm:"column:service_template_pid" json:"service_template_pid" description:"套餐父级ID"`
- Amount float64 `gorm:"column:amount" json:"amount" description:"分配金额"`
- IsDeleted int `gorm:"column:is_deleted" json:"is_deleted" description:"是否已删除: 0-正常; 1-已删除"`
- InitType int `gorm:"column:init_type" json:"init_type" description:"初始分配类型:0人为分配,1自动分配"`
- base.TimeBase
- }
- func (c *ContractPaymentServiceAmount) TableName() string {
- return "contract_payment_service_amount"
- }
- func (c *ContractPaymentServiceAmount) Create() (err error) {
- err = global.DEFAULT_MYSQL.Create(c).Error
- return
- }
- func (c *ContractPaymentServiceAmount) AddInBatches(list []*ContractPaymentServiceAmount) (err error) {
- err = global.DEFAULT_MYSQL.CreateInBatches(list, len(list)).Error
- return
- }
- func (c *ContractPaymentServiceAmount) Update(updateCols []string) (err error) {
- err = global.DEFAULT_MYSQL.Model(c).Select(updateCols).Updates(c).Error
- return
- }
- func (c *ContractPaymentServiceAmount) List(condition string, pars []interface{}) (list []*ContractPaymentServiceAmount, err error) {
- list = make([]*ContractPaymentServiceAmount, 0)
- err = global.DEFAULT_MYSQL.Model(c).
- Where("is_deleted = 0").
- Where(condition, pars...).
- Find(&list).Error
- return
- }
- // ContractPaymentServiceAmountItem 到款套餐分配信息
- type ContractPaymentServiceAmountItem struct {
- ContractPaymentServiceAmountId int `json:"contract_payment_service_amount_id"`
- ContractPaymentId int `json:"contract_payment_id" description:"到款登记ID"`
- ServiceTemplateId int `json:"service_template_id" description:"套餐ID"`
- ServiceTemplatePid int `json:"service_template_pid" description:"套餐父级ID"`
- ServiceTemplateName string `json:"service_template_name"`
- Amount float64 `json:"amount" description:"分配金额"`
- ServiceProductId int `json:"service_product_id" description:"套餐类型:1ficc套餐,2权益套餐"`
- }
- // DistributePaymentServiceAmountReq 到款登记-分配套餐金额请求体
- type DistributePaymentServiceAmountReq struct {
- ContractRegisterId int `json:"contract_register_id" binding:"required,gte=1" description:"合同登记ID"`
- ContractPaymentId int `json:"contract_payment_id" binding:"required,gte=1" description:"到款登记ID"`
- List []*DistributePaymentServiceAmountItem `json:"list"`
- }
- // GetPaymentServiceAmountReq 到款登记-查询分配套餐金额请求体
- type GetPaymentServiceAmountReq struct {
- ContractRegisterId int `json:"contract_register_id" binding:"required,gte=1" description:"合同登记ID"`
- ContractPaymentId int `json:"contract_payment_id" binding:"required,gte=1" description:"到款登记ID"`
- }
- // DistributePaymentServiceAmountItem 到款登记-分配套餐金额列表信息
- type DistributePaymentServiceAmountItem struct {
- ContractPaymentServiceAmountId int `json:"contract_payment_service_amount_id"`
- ServiceTemplateId int `json:"service_template_id" description:"套餐ID"`
- ServiceTemplatePid int `json:"service_template_pid" description:"套餐父级ID"`
- Amount float64 `json:"amount" description:"分配金额"`
- }
- // CreatePaymentServiceAmount 分配到款套餐金额
- func CreatePaymentServiceAmount(registerId, payId int, addList []*ContractPaymentServiceAmount) (err error) {
- tx := global.DEFAULT_MYSQL.Begin()
- defer func() {
- if err != nil {
- tx.Rollback()
- } else {
- tx.Commit()
- }
- }()
- // 删除原分配信息
- sql := `DELETE FROM contract_payment_service_amount WHERE contract_register_id = ? AND contract_payment_id = ?`
- tx.Exec(sql, registerId, payId)
- // 新增分配信息
- if len(addList) > 0 {
- tx.CreateInBatches(addList, len(addList))
- }
- return
- }
- func DeletePaymentServiceAmountByRegisterId(registerId int) (err error) {
- // 删除原自动分配信息
- err = global.DEFAULT_MYSQL.
- Where("contract_register_id = ? and init_type=1", registerId).
- Delete(ContractPaymentServiceAmount{}).Error
- return
- }
|