作者 yangfu

Merge branch 'dev' of http://gitlab.fjmaimaimai.com/allied-creation/allied-creat…

…ion-cooperation into dev

# Conflicts:
#	pkg/application/cooperationApplication/service/cooperation_application.go
正在显示 53 个修改的文件 包含 1078 行增加222 行删除
@@ -15,7 +15,7 @@ logrus.log @@ -15,7 +15,7 @@ logrus.log
15 *.local 15 *.local
16 *.dev 16 *.dev
17 *.test 17 *.test
18 -.idea 18 +#.idea
19 .vscode 19 .vscode
20 .log 20 .log
21 *.tmp 21 *.tmp
  1 +# Default ignored files
  2 +/shelf/
  3 +/workspace.xml
  4 +# Datasource local storage ignored files
  5 +/dataSources/
  6 +/dataSources.local.xml
  7 +# Editor-based HTTP Client requests
  8 +/httpRequests/
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<module type="WEB_MODULE" version="4">
  3 + <component name="Go" enabled="true" />
  4 + <component name="NewModuleRootManager">
  5 + <content url="file://$MODULE_DIR$" />
  6 + <orderEntry type="inheritedJdk" />
  7 + <orderEntry type="sourceFolder" forTests="false" />
  8 + </component>
  9 +</module>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ProjectModuleManager">
  4 + <modules>
  5 + <module fileurl="file://$PROJECT_DIR$/.idea/allied-creation-cooperation.iml" filepath="$PROJECT_DIR$/.idea/allied-creation-cooperation.iml" />
  6 + </modules>
  7 + </component>
  8 +</project>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="VcsDirectoryMappings">
  4 + <mapping directory="$PROJECT_DIR$" vcs="Git" />
  5 + </component>
  6 +</project>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ProjectTasksOptions">
  4 + <enabled-global>
  5 + <option value="go fmt" />
  6 + </enabled-global>
  7 + </component>
  8 +</project>
@@ -2,7 +2,7 @@ apiVersion: v1 @@ -2,7 +2,7 @@ apiVersion: v1
2 kind: Service 2 kind: Service
3 metadata: 3 metadata:
4 name: allied-creation-cooperation 4 name: allied-creation-cooperation
5 - namespace: <replace-your-k8s-namespace> 5 + namespace: mmm-suplus-dev
6 labels: 6 labels:
7 k8s-app: allied-creation-cooperation 7 k8s-app: allied-creation-cooperation
8 spec: 8 spec:
@@ -17,7 +17,7 @@ apiVersion: extensions/v1beta1 @@ -17,7 +17,7 @@ apiVersion: extensions/v1beta1
17 kind: Deployment 17 kind: Deployment
18 metadata: 18 metadata:
19 name: allied-creation-cooperation 19 name: allied-creation-cooperation
20 - namespace: <replace-your-k8s-namespace> 20 + namespace: mmm-suplus-dev
21 labels: 21 labels:
22 k8s-app: allied-creation-cooperation 22 k8s-app: allied-creation-cooperation
23 spec: 23 spec:
@@ -58,6 +58,43 @@ spec: @@ -58,6 +58,43 @@ spec:
58 value: "1" 58 value: "1"
59 - name: ERROR_BASE_CODE_MULTIPLE 59 - name: ERROR_BASE_CODE_MULTIPLE
60 value: "1000" 60 value: "1000"
  61 + - name: USER_MODULE_HOST
  62 + value: "http://allied-creation-user-dev.fjmaimaimai.com"
  63 + - name: REDIS_HOST
  64 + valueFrom:
  65 + configMapKeyRef:
  66 + name: suplus-config
  67 + key: redis.ip
  68 + - name: REDIS_PORT
  69 + valueFrom:
  70 + configMapKeyRef:
  71 + name: suplus-config
  72 + key: redis.port
  73 + - name: POSTGRESQL_DB_NAME
  74 + valueFrom:
  75 + configMapKeyRef:
  76 + name: suplus-config
  77 + key: postgresqlalliedcreationcooperation.dbname
  78 + - name: POSTGRESQL_USER
  79 + valueFrom:
  80 + configMapKeyRef:
  81 + name: suplus-config
  82 + key: postgresql.user
  83 + - name: POSTGRESQL_PASSWORD
  84 + valueFrom:
  85 + configMapKeyRef:
  86 + name: suplus-config
  87 + key: postgresql.password
  88 + - name: POSTGRESQL_HOST
  89 + valueFrom:
  90 + configMapKeyRef:
  91 + name: suplus-config
  92 + key: postgresql.host
  93 + - name: POSTGRESQL_PORT
  94 + valueFrom:
  95 + configMapKeyRef:
  96 + name: suplus-config
  97 + key: postgresql.port
61 volumes: 98 volumes:
62 - name: accesslogs 99 - name: accesslogs
63 emptyDir: {} 100 emptyDir: {}
1 #!/bin/bash 1 #!/bin/bash
2 export PATH=/root/local/bin:$PATH 2 export PATH=/root/local/bin:$PATH
3 -kubectl -n <replace-your-k8s-namespace> get pods | grep -q allied-creation-cooperation 3 +kubectl -n mmm-suplus-dev get pods | grep -q allied-creation-cooperation
4 if [ "$?" == "1" ];then 4 if [ "$?" == "1" ];then
5 kubectl create -f /tmp/dev/allied-creation-cooperation/allied-creation-cooperation.yaml --record 5 kubectl create -f /tmp/dev/allied-creation-cooperation/allied-creation-cooperation.yaml --record
6 - kubectl -n <replace-your-k8s-namespace> get svc | grep -q allied-creation-cooperation 6 + kubectl -n mmm-suplus-dev get svc | grep -q allied-creation-cooperation
7 if [ "$?" == "0" ];then 7 if [ "$?" == "0" ];then
8 echo "allied-creation-cooperation service install success!" 8 echo "allied-creation-cooperation service install success!"
9 else 9 else
10 echo "allied-creation-cooperation service install fail!" 10 echo "allied-creation-cooperation service install fail!"
11 fi 11 fi
12 - kubectl -n <replace-your-k8s-namespace> get pods | grep -q allied-creation-cooperation 12 + kubectl -n mmm-suplus-dev get pods | grep -q allied-creation-cooperation
13 if [ "$?" == "0" ];then 13 if [ "$?" == "0" ];then
14 echo "allied-creation-cooperation deployment install success!" 14 echo "allied-creation-cooperation deployment install success!"
15 else 15 else
@@ -17,24 +17,24 @@ if [ "$?" == "1" ];then @@ -17,24 +17,24 @@ if [ "$?" == "1" ];then
17 fi 17 fi
18 else 18 else
19 kubectl delete -f /tmp/dev/allied-creation-cooperation/allied-creation-cooperation.yaml 19 kubectl delete -f /tmp/dev/allied-creation-cooperation/allied-creation-cooperation.yaml
20 - kubectl -n <replace-your-k8s-namespace> get svc | grep -q allied-creation-cooperation 20 + kubectl -n mmm-suplus-dev get svc | grep -q allied-creation-cooperation
21 while [ "$?" == "0" ] 21 while [ "$?" == "0" ]
22 do 22 do
23 - kubectl -n <replace-your-k8s-namespace> get svc | grep -q allied-creation-cooperation 23 + kubectl -n mmm-suplus-dev get svc | grep -q allied-creation-cooperation
24 done 24 done
25 - kubectl -n <replace-your-k8s-namespace> get pods | grep -q allied-creation-cooperation 25 + kubectl -n mmm-suplus-dev get pods | grep -q allied-creation-cooperation
26 while [ "$?" == "0" ] 26 while [ "$?" == "0" ]
27 do 27 do
28 - kubectl -n <replace-your-k8s-namespace> get pods | grep -q allied-creation-cooperation 28 + kubectl -n mmm-suplus-dev get pods | grep -q allied-creation-cooperation
29 done 29 done
30 kubectl create -f /tmp/dev/allied-creation-cooperation/allied-creation-cooperation.yaml --record 30 kubectl create -f /tmp/dev/allied-creation-cooperation/allied-creation-cooperation.yaml --record
31 - kubectl -n <replace-your-k8s-namespace> get svc | grep -q allied-creation-cooperation 31 + kubectl -n mmm-suplus-dev get svc | grep -q allied-creation-cooperation
32 if [ "$?" == "0" ];then 32 if [ "$?" == "0" ];then
33 echo "allied-creation-cooperation service update success!" 33 echo "allied-creation-cooperation service update success!"
34 else 34 else
35 echo "allied-creation-cooperation service update fail!" 35 echo "allied-creation-cooperation service update fail!"
36 fi 36 fi
37 - kubectl -n <replace-your-k8s-namespace> get pods | grep -q allied-creation-cooperation 37 + kubectl -n mmm-suplus-dev get pods | grep -q allied-creation-cooperation
38 if [ "$?" == "0" ];then 38 if [ "$?" == "0" ];then
39 echo "allied-creation-cooperation deployment update success!" 39 echo "allied-creation-cooperation deployment update success!"
40 else 40 else
  1 +package command
  2 +
  3 +import (
  4 + "fmt"
  5 + "github.com/beego/beego/v2/core/validation"
  6 + "reflect"
  7 + "strings"
  8 +)
  9 +
  10 +type CancelCooperationApplicationCommand struct {
  11 + // 共创申请ID
  12 + CooperationApplicationId int64 `cname:"共创申请ID" json:"cooperationApplicationId,string" valid:"Required"`
  13 + // 公司ID,通过集成REST上下文获取
  14 + CompanyId int64 `cname:"公司ID" json:"companyId,string" valid:"Required"`
  15 + // 组织机构id
  16 + OrgId int64 `cname:"组织机构ID" json:"orgId,string" valid:"Required"`
  17 + // 菜单编码,APP端必须
  18 + Code string `cname:"菜单编码" json:"code" valid:"Required"`
  19 + // 用户ID,通过集成REST上下文获取,可翻译成发起人、承接人、推荐人、业务员
  20 + UserId int64 `cname:"用户ID" json:"userId,string" valid:"Required"`
  21 + // 用户基础数据id
  22 + UserBaseId int64 `cname:"用户基础数据ID" json:"userBaseId,string" valid:"Required"`
  23 +}
  24 +
  25 +func (cancelCooperationApplicationCommand *CancelCooperationApplicationCommand) Valid(validation *validation.Validation) {
  26 + //validation.SetError("CustomValid", "未实现的自定义认证")
  27 +}
  28 +
  29 +func (cancelCooperationApplicationCommand *CancelCooperationApplicationCommand) ValidateCommand() error {
  30 + valid := validation.Validation{}
  31 + b, err := valid.Valid(cancelCooperationApplicationCommand)
  32 + if err != nil {
  33 + return err
  34 + }
  35 + if !b {
  36 + elem := reflect.TypeOf(cancelCooperationApplicationCommand).Elem()
  37 + for _, validErr := range valid.Errors {
  38 + field, isExist := elem.FieldByName(validErr.Field)
  39 + if isExist {
  40 + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1))
  41 + } else {
  42 + return fmt.Errorf(validErr.Message)
  43 + }
  44 + }
  45 + }
  46 + return nil
  47 +}
  1 +package command
  2 +
  3 +import (
  4 + "fmt"
  5 + "github.com/beego/beego/v2/core/validation"
  6 + "reflect"
  7 + "strings"
  8 +)
  9 +
  10 +type BatchOperateCooperationContractCommand struct {
  11 + // 共创合约id列表
  12 + CooperationContractIds []string `cname:"共创合约id" json:"cooperationContractIds" valid:"Required"`
  13 + // 动作
  14 + Action int32 `cname:"操作" json:"action" valid:"Required"`
  15 + // 公司ID,通过集成REST上下文获取
  16 + CompanyId int64 `cname:"公司ID" json:"companyId,string" valid:"Required"`
  17 + // 组织机构ID
  18 + OrgId int64 `cname:"组织机构ID" json:"orgId,string" valid:"Required"`
  19 + // 用户ID,通过集成REST上下文获取,可翻译成发起人、承接人、推荐人、业务员
  20 + UserId int64 `cname:"用户ID" json:"userId,string" valid:"Required"`
  21 + // 用户基础数据id
  22 + UserBaseId int64 `cname:"用户基础数据ID" json:"userBaseId,string" valid:"Required"`
  23 +}
  24 +
  25 +func (batchOperateCooperationContractCommand *BatchOperateCooperationContractCommand) Valid(validation *validation.Validation) {
  26 + //validation.SetError("CustomValid", "未实现的自定义认证")
  27 +}
  28 +
  29 +func (batchOperateCooperationContractCommand *BatchOperateCooperationContractCommand) ValidateCommand() error {
  30 + valid := validation.Validation{}
  31 + b, err := valid.Valid(batchOperateCooperationContractCommand)
  32 + if err != nil {
  33 + return err
  34 + }
  35 + if !b {
  36 + elem := reflect.TypeOf(batchOperateCooperationContractCommand).Elem()
  37 + for _, validErr := range valid.Errors {
  38 + field, isExist := elem.FieldByName(validErr.Field)
  39 + if isExist {
  40 + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1))
  41 + } else {
  42 + return fmt.Errorf(validErr.Message)
  43 + }
  44 + }
  45 + }
  46 + return nil
  47 +}
  1 +package command
  2 +
  3 +import (
  4 + "fmt"
  5 + "github.com/beego/beego/v2/core/validation"
  6 + "reflect"
  7 + "strings"
  8 +)
  9 +
  10 +type BatchRemoveCooperationContractCommand struct {
  11 + // 共创合约id列表
  12 + CooperationContractIds []string `cname:"共创合约id" json:"cooperationContractIds" valid:"Required"`
  13 + // 公司ID,通过集成REST上下文获取
  14 + CompanyId int64 `cname:"公司ID" json:"companyId,string" valid:"Required"`
  15 + // 组织机构ID
  16 + OrgId int64 `cname:"组织机构ID" json:"orgId,string" valid:"Required"`
  17 + // 用户ID,通过集成REST上下文获取,可翻译成发起人、承接人、推荐人、业务员
  18 + UserId int64 `cname:"用户ID" json:"userId,string" valid:"Required"`
  19 + // 用户基础数据id
  20 + UserBaseId int64 `cname:"用户基础数据ID" json:"userBaseId,string" valid:"Required"`
  21 +}
  22 +
  23 +func (batchRemoveCooperationContractCommand *BatchRemoveCooperationContractCommand) Valid(validation *validation.Validation) {
  24 + //validation.SetError("CustomValid", "未实现的自定义认证")
  25 +}
  26 +
  27 +func (batchRemoveCooperationContractCommand *BatchRemoveCooperationContractCommand) ValidateCommand() error {
  28 + valid := validation.Validation{}
  29 + b, err := valid.Valid(batchRemoveCooperationContractCommand)
  30 + if err != nil {
  31 + return err
  32 + }
  33 + if !b {
  34 + elem := reflect.TypeOf(batchRemoveCooperationContractCommand).Elem()
  35 + for _, validErr := range valid.Errors {
  36 + field, isExist := elem.FieldByName(validErr.Field)
  37 + if isExist {
  38 + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1))
  39 + } else {
  40 + return fmt.Errorf(validErr.Message)
  41 + }
  42 + }
  43 + }
  44 + return nil
  45 +}
@@ -21,31 +21,32 @@ type CreateDividendsIncentivesRulesCommand struct { @@ -21,31 +21,32 @@ type CreateDividendsIncentivesRulesCommand struct {
21 } 21 }
22 22
23 type CreateMoneyIncentivesRulesCommand struct { 23 type CreateMoneyIncentivesRulesCommand struct {
24 - MoneyIncentivesRuleIdString string `cname:"" json:"moneyIncentivesRuleId,string"`  
25 - CooperationContractNumber string `cname:"" json:"cooperationContractNumber"`  
26 - MoneyIncentivesAmount int `cname:"" json:"moneyIncentivesAmount"`  
27 - MoneyIncentivesStage int `cname:"" json:"moneyIncentivesStage"`  
28 - MoneyIncentivesStageEnd time.Time `cname:"" json:"moneyIncentivesStageEnd"`  
29 - MoneyIncentivesStageStart time.Time `cname:"" json:"moneyIncentivesStageStart"`  
30 - MoneyIncentivesTime time.Time `cname:"" json:"moneyIncentivesTime"`  
31 - ReferrerPercentage float64 `cname:"" json:"referrerPercentage"`  
32 - SalesmanPercentage float64 `cname:"" json:"salesmanPercentage"` 24 + MoneyIncentivesRuleId string `cname:"" json:"moneyIncentivesRuleId,string"`
  25 + CooperationContractNumber string `cname:"" json:"cooperationContractNumber"`
  26 + MoneyIncentivesAmount int `cname:"" json:"moneyIncentivesAmount"`
  27 + MoneyIncentivesStage int `cname:"" json:"moneyIncentivesStage"`
  28 + MoneyIncentivesStageEnd time.Time `cname:"" json:"moneyIncentivesStageEnd"`
  29 + MoneyIncentivesStageStart time.Time `cname:"" json:"moneyIncentivesStageStart"`
  30 + MoneyIncentivesTime time.Time `cname:"" json:"moneyIncentivesTime"`
  31 + ReferrerPercentage float64 `cname:"" json:"referrerPercentage"`
  32 + SalesmanPercentage float64 `cname:"" json:"salesmanPercentage"`
33 } 33 }
34 34
35 type CreateUndertakersCommand struct { 35 type CreateUndertakersCommand struct {
  36 + UndertakerId int64 `cname:"承接人ID" json:"relevantId"`
36 UserId string `cname:"承接人UID" json:"userId"` 37 UserId string `cname:"承接人UID" json:"userId"`
37 ContractAttachment []struct { 38 ContractAttachment []struct {
38 - FileType string `json:"fileType"`  
39 - Name string `json:"name"`  
40 - Url string `json:"url"`  
41 - FileSize int64 `json:"fileSize"`  
42 - } `json:"contractAttachment"`  
43 - ReferrerId string `json:"referrerId"`  
44 - SalesmanId string `json:"salesmanId"` 39 + FileType string `cname:"文件类型" json:"fileType"`
  40 + Name string `cname:"文件名称" json:"name"`
  41 + Url string `cname:"文件路径" json:"url"`
  42 + FileSize int64 `cname:"文件大小" json:"fileSize"`
  43 + } `cname:"附件" json:"contractAttachment"`
  44 + ReferrerId string `cname:"推荐UID" json:"referrerId"`
  45 + SalesmanId string `cname:"业务员UID" json:"salesmanId"`
45 } 46 }
46 47
47 type CreateRelevantPeopleCommand struct { 48 type CreateRelevantPeopleCommand struct {
48 - UserId string `json:"userId"` 49 + UserId string `cname:"相关人UID" json:"userId"`
49 } 50 }
50 51
51 type CreateCooperationContractCommand struct { 52 type CreateCooperationContractCommand struct {
  1 +package command
  2 +
  3 +import (
  4 + "fmt"
  5 + "github.com/beego/beego/v2/core/validation"
  6 + "reflect"
  7 + "strings"
  8 +)
  9 +
  10 +type OperateCooperationContractCommand struct {
  11 + // 共创合约id
  12 + CooperationContractId string `cname:"共创合约id" json:"cooperationContractId" valid:"Required"`
  13 + // 操作
  14 + Action int32 `cname:"操作" json:"action" valid:"Required"`
  15 + // 公司ID,通过集成REST上下文获取
  16 + CompanyId int64 `cname:"公司ID" json:"companyId,string" valid:"Required"`
  17 + // 组织机构ID
  18 + OrgId int64 `cname:"组织机构ID" json:"orgId,string" valid:"Required"`
  19 + // 用户ID,通过集成REST上下文获取,可翻译成发起人、承接人、推荐人、业务员
  20 + UserId int64 `cname:"用户ID" json:"userId,string" valid:"Required"`
  21 + // 用户基础数据id
  22 + UserBaseId int64 `cname:"用户基础数据ID" json:"userBaseId,string" valid:"Required"`
  23 +}
  24 +
  25 +func (operateCooperationContractCommand *OperateCooperationContractCommand) Valid(validation *validation.Validation) {
  26 + //validation.SetError("CustomValid", "未实现的自定义认证")
  27 +}
  28 +
  29 +func (operateCooperationContractCommand *OperateCooperationContractCommand) ValidateCommand() error {
  30 + valid := validation.Validation{}
  31 + b, err := valid.Valid(operateCooperationContractCommand)
  32 + if err != nil {
  33 + return err
  34 + }
  35 + if !b {
  36 + elem := reflect.TypeOf(operateCooperationContractCommand).Elem()
  37 + for _, validErr := range valid.Errors {
  38 + field, isExist := elem.FieldByName(validErr.Field)
  39 + if isExist {
  40 + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1))
  41 + } else {
  42 + return fmt.Errorf(validErr.Message)
  43 + }
  44 + }
  45 + }
  46 + return nil
  47 +}
@@ -13,20 +13,24 @@ type UpdateCooperationContractCommand struct { @@ -13,20 +13,24 @@ type UpdateCooperationContractCommand struct {
13 CooperationContractId string `cname:"共创合约id" json:"cooperationContractId" valid:"Required"` 13 CooperationContractId string `cname:"共创合约id" json:"cooperationContractId" valid:"Required"`
14 // 共创合约描述 14 // 共创合约描述
15 CooperationContractDescription string `cname:"共创合约描述" json:"cooperationContractDescription" valid:"Required"` 15 CooperationContractDescription string `cname:"共创合约描述" json:"cooperationContractDescription" valid:"Required"`
16 - // 共创合约编号  
17 - CooperationContractNumber string `cname:"共创合约编号" json:"cooperationContractNumber" valid:"Required"`  
18 - // 共创项目编号,自生成,生成规则:XM+6位年月日+#+3位流水,例XM210601#001 16 + // 共创项目编号
19 CooperationProjectNumber string `cname:"共创项目编号" json:"cooperationProjectNumber" valid:"Required"` 17 CooperationProjectNumber string `cname:"共创项目编号" json:"cooperationProjectNumber" valid:"Required"`
20 - // 部门编码 18 + // 部门ID
21 DepartmentId string `cname:"部门ID" json:"departmentId" valid:"Required"` 19 DepartmentId string `cname:"部门ID" json:"departmentId" valid:"Required"`
22 // 共创合约承接对象,1员工,2共创用户,3公开 20 // 共创合约承接对象,1员工,2共创用户,3公开
23 CooperationContractUndertakerTypes []int32 `cname:"共创合约承接对象" json:"cooperationContractUndertakerTypes" valid:"Required"` 21 CooperationContractUndertakerTypes []int32 `cname:"共创合约承接对象" json:"cooperationContractUndertakerTypes" valid:"Required"`
24 // 共创合约名称 22 // 共创合约名称
25 CooperationContractName string `cname:"共创合约名称" json:"cooperationContractName" valid:"Required"` 23 CooperationContractName string `cname:"共创合约名称" json:"cooperationContractName" valid:"Required"`
26 - // 共创模式编码,手动输入,唯一确定  
27 - CooperationModeNumber string `cname:"共创模式编码" json:"cooperationModeNumber" valid:"Required"`  
28 // 共创合约发起人uid 24 // 共创合约发起人uid
29 SponsorUid string `cname:"共创合约发起人uid" json:"sponsorUid,omitempty"` 25 SponsorUid string `cname:"共创合约发起人uid" json:"sponsorUid,omitempty"`
  26 + // 业绩分红激励规则列表
  27 + DividendsIncentivesRules []*CreateDividendsIncentivesRulesCommand `cname:"业绩分红激励规则列表" json:"dividendsIncentivesRules,omitempty"`
  28 + // 金额激励规则列表
  29 + MoneyIncentivesRules []*CreateMoneyIncentivesRulesCommand `cname:"金额激励规则列表" json:"moneyIncentivesRules,omitempty"`
  30 + // 承接方列表
  31 + Undertakers []*CreateUndertakersCommand `cname:"承接方列表" json:"undertakers,omitempty"`
  32 + // 相关人UID列表
  33 + RelevantPeople []string `cname:"相关人列表" json:"relevantPeople,omitempty"`
30 // 公司ID,通过集成REST上下文获取 34 // 公司ID,通过集成REST上下文获取
31 CompanyId int64 `cname:"公司ID" json:"companyId,string" valid:"Required"` 35 CompanyId int64 `cname:"公司ID" json:"companyId,string" valid:"Required"`
32 // 组织机构ID 36 // 组织机构ID
  1 +package dto
  2 +
  3 +import "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain"
  4 +
  5 +type CooperationContractDto struct {
  6 + *domain.CooperationContract
  7 + // 可以去除勾选的共创项目承接对象列表
  8 + UndertakerTypesUncheckedAvailable []int32 `json:"undertakerTypesUncheckedAvailable"`
  9 +}
  10 +
  11 +func (dto *CooperationContractDto) LoadDto(contract *domain.CooperationContract, undertakerTypesUncheckedAvailable []int32) error {
  12 + dto.CooperationContract = contract
  13 + dto.UndertakerTypesUncheckedAvailable = undertakerTypesUncheckedAvailable
  14 + return nil
  15 +}
@@ -5,11 +5,13 @@ import ( @@ -5,11 +5,13 @@ import (
5 "github.com/linmadan/egglib-go/core/application" 5 "github.com/linmadan/egglib-go/core/application"
6 "github.com/linmadan/egglib-go/utils/tool_funs" 6 "github.com/linmadan/egglib-go/utils/tool_funs"
7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationContract/command" 7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationContract/command"
  8 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationContract/dto"
8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationContract/query" 9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationContract/query"
9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/factory" 10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/factory"
10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain" 11 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain"
11 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service" 12 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service"
12 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/dao" 13 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/dao"
  14 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/utils"
13 "strconv" 15 "strconv"
14 "time" 16 "time"
15 ) 17 )
@@ -250,6 +252,7 @@ func (cooperationContractService *CooperationContractService) CreateCooperationC @@ -250,6 +252,7 @@ func (cooperationContractService *CooperationContractService) CreateCooperationC
250 CooperationContractDescription: createCooperationContractCommand.CooperationContractDescription, 252 CooperationContractDescription: createCooperationContractCommand.CooperationContractDescription,
251 CooperationContractName: createCooperationContractCommand.CooperationContractName, 253 CooperationContractName: createCooperationContractCommand.CooperationContractName,
252 CooperationContractNumber: contractNumber, 254 CooperationContractNumber: contractNumber,
  255 + CooperationProjectNumber: createCooperationContractCommand.CooperationProjectNumber,
253 CooperationContractUndertakerTypes: createCooperationContractCommand.CooperationContractUndertakerTypes, 256 CooperationContractUndertakerTypes: createCooperationContractCommand.CooperationContractUndertakerTypes,
254 CooperationContractSponsor: sponsor, 257 CooperationContractSponsor: sponsor,
255 CooperationMode: cooperationMode, 258 CooperationMode: cooperationMode,
@@ -319,10 +322,31 @@ func (cooperationContractService *CooperationContractService) GetCooperationCont @@ -319,10 +322,31 @@ func (cooperationContractService *CooperationContractService) GetCooperationCont
319 if cooperationContract == nil { 322 if cooperationContract == nil {
320 return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", strconv.FormatInt(getCooperationContractQuery.CooperationContractId, 10))) 323 return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", strconv.FormatInt(getCooperationContractQuery.CooperationContractId, 10)))
321 } else { 324 } else {
  325 + // 共创合约DAO初始化
  326 + var cooperationContractDao *dao.CooperationContractDao
  327 + if value, err := factory.CreateCooperationContractDao(map[string]interface{}{
  328 + "transactionContext": transactionContext,
  329 + }); err != nil {
  330 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  331 + } else {
  332 + cooperationContractDao = value
  333 + }
  334 + // 获取可删除的承接对象类型
  335 + undertakerTypesUncheckedAvailable, err := cooperationContractDao.CheckUndertakerTypesUncheckedAvailable(map[string]interface{}{
  336 + "cooperationContractNumber": cooperationContract.CooperationContractNumber,
  337 + "cooperationContractUndertakerTypes": cooperationContract.CooperationContractUndertakerTypes,
  338 + })
  339 + if err != nil {
  340 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  341 + }
  342 + cooperationContractDto := &dto.CooperationContractDto{}
  343 + if err := cooperationContractDto.LoadDto(cooperationContract, undertakerTypesUncheckedAvailable); err != nil {
  344 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  345 + }
322 if err := transactionContext.CommitTransaction(); err != nil { 346 if err := transactionContext.CommitTransaction(); err != nil {
323 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 347 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
324 } 348 }
325 - return cooperationContract, nil 349 + return cooperationContractDto, nil
326 } 350 }
327 } 351 }
328 352
@@ -404,6 +428,142 @@ func (cooperationContractService *CooperationContractService) RemoveCooperationC @@ -404,6 +428,142 @@ func (cooperationContractService *CooperationContractService) RemoveCooperationC
404 } 428 }
405 } 429 }
406 430
  431 +// BatchRemoveCooperationContract 批量移除共创合约
  432 +func (cooperationContractService *CooperationContractService) BatchRemoveCooperationContract(batchRemoveCooperationContractCommand *command.BatchRemoveCooperationContractCommand) (interface{}, error) {
  433 + if err := batchRemoveCooperationContractCommand.ValidateCommand(); err != nil {
  434 + return nil, application.ThrowError(application.ARG_ERROR, err.Error())
  435 + }
  436 + transactionContext, err := factory.CreateTransactionContext(nil)
  437 + if err != nil {
  438 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  439 + }
  440 + if err := transactionContext.StartTransaction(); err != nil {
  441 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  442 + }
  443 + defer func() {
  444 + _ = transactionContext.RollbackTransaction()
  445 + }()
  446 + var cooperationContractRepository domain.CooperationContractRepository
  447 + if value, err := factory.CreateCooperationContractRepository(map[string]interface{}{
  448 + "transactionContext": transactionContext,
  449 + }); err != nil {
  450 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  451 + } else {
  452 + cooperationContractRepository = value
  453 + }
  454 + cooperationContractIds, _ := utils.SliceAtoi(batchRemoveCooperationContractCommand.CooperationContractIds)
  455 + if count, cooperationContracts, err := cooperationContractRepository.Find(map[string]interface{}{
  456 + "cooperationContractIds": cooperationContractIds,
  457 + }); err != nil {
  458 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  459 + } else {
  460 + if count > 0 {
  461 + cooperationContractsRemoved, err := cooperationContractRepository.BatchRemove(cooperationContracts)
  462 + if err != nil {
  463 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  464 + }
  465 + if err := transactionContext.CommitTransaction(); err != nil {
  466 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  467 + }
  468 + return cooperationContractsRemoved, nil
  469 + } else {
  470 + return map[string]interface{}{}, nil
  471 + }
  472 + }
  473 +}
  474 +
  475 +// OperateCooperationContract 暂停或恢复共创合约
  476 +func (cooperationContractService *CooperationContractService) OperateCooperationContract(operateCooperationContractCommand *command.OperateCooperationContractCommand) (interface{}, error) {
  477 + if err := operateCooperationContractCommand.ValidateCommand(); err != nil {
  478 + return nil, application.ThrowError(application.ARG_ERROR, err.Error())
  479 + }
  480 + transactionContext, err := factory.CreateTransactionContext(nil)
  481 + if err != nil {
  482 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  483 + }
  484 + if err := transactionContext.StartTransaction(); err != nil {
  485 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  486 + }
  487 + defer func() {
  488 + _ = transactionContext.RollbackTransaction()
  489 + }()
  490 + var cooperationContractRepository domain.CooperationContractRepository
  491 + if value, err := factory.CreateCooperationContractRepository(map[string]interface{}{
  492 + "transactionContext": transactionContext,
  493 + }); err != nil {
  494 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  495 + } else {
  496 + cooperationContractRepository = value
  497 + }
  498 + cooperationContract, err := cooperationContractRepository.FindOne(map[string]interface{}{"cooperationContractId": operateCooperationContractCommand.CooperationContractId})
  499 + if err != nil {
  500 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  501 + }
  502 + if cooperationContract == nil {
  503 + return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(operateCooperationContractCommand.CooperationContractId)))
  504 + }
  505 + if err := cooperationContract.Update(map[string]interface{}{
  506 + "action": operateCooperationContractCommand.Action,
  507 + }); err != nil {
  508 + return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
  509 + }
  510 + if cooperationContract, err := cooperationContractRepository.Save(cooperationContract); err != nil {
  511 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  512 + } else {
  513 + if err := transactionContext.CommitTransaction(); err != nil {
  514 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  515 + }
  516 + return cooperationContract, nil
  517 + }
  518 +}
  519 +
  520 +// BatchOperateCooperationContract 批量暂停或恢复共创合约
  521 +func (cooperationContractService *CooperationContractService) BatchOperateCooperationContract(batchOperateCooperationContractCommand *command.BatchOperateCooperationContractCommand) (interface{}, error) {
  522 + if err := batchOperateCooperationContractCommand.ValidateCommand(); err != nil {
  523 + return nil, application.ThrowError(application.ARG_ERROR, err.Error())
  524 + }
  525 + transactionContext, err := factory.CreateTransactionContext(nil)
  526 + if err != nil {
  527 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  528 + }
  529 + if err := transactionContext.StartTransaction(); err != nil {
  530 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  531 + }
  532 + defer func() {
  533 + _ = transactionContext.RollbackTransaction()
  534 + }()
  535 + var cooperationContractRepository domain.CooperationContractRepository
  536 + if value, err := factory.CreateCooperationContractRepository(map[string]interface{}{
  537 + "transactionContext": transactionContext,
  538 + }); err != nil {
  539 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  540 + } else {
  541 + cooperationContractRepository = value
  542 + }
  543 + cooperationContractIds, _ := utils.SliceAtoi(batchOperateCooperationContractCommand.CooperationContractIds)
  544 + if count, cooperationContracts, err := cooperationContractRepository.Find(map[string]interface{}{
  545 + "cooperationContractIds": cooperationContractIds,
  546 + }); err != nil {
  547 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  548 + } else {
  549 + if count > 0 {
  550 + for i, _ := range cooperationContracts {
  551 + cooperationContracts[i].Status = batchOperateCooperationContractCommand.Action
  552 + }
  553 + cooperationContractsOperated, err := cooperationContractRepository.UpdateMany(cooperationContracts)
  554 + if err != nil {
  555 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  556 + }
  557 + if err := transactionContext.CommitTransaction(); err != nil {
  558 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  559 + }
  560 + return cooperationContractsOperated, nil
  561 + } else {
  562 + return map[string]interface{}{}, nil
  563 + }
  564 + }
  565 +}
  566 +
407 // SearchCooperationContract 查询共创合约 567 // SearchCooperationContract 查询共创合约
408 func (cooperationContractService *CooperationContractService) SearchCooperationContract(searchCooperationContractQuery *query.SearchCooperationContractQuery) (interface{}, error) { 568 func (cooperationContractService *CooperationContractService) SearchCooperationContract(searchCooperationContractQuery *query.SearchCooperationContractQuery) (interface{}, error) {
409 if err := searchCooperationContractQuery.ValidateQuery(); err != nil { 569 if err := searchCooperationContractQuery.ValidateQuery(); err != nil {
@@ -478,6 +638,39 @@ func (cooperationContractService *CooperationContractService) UpdateCooperationC @@ -478,6 +638,39 @@ func (cooperationContractService *CooperationContractService) UpdateCooperationC
478 defer func() { 638 defer func() {
479 _ = transactionContext.RollbackTransaction() 639 _ = transactionContext.RollbackTransaction()
480 }() 640 }()
  641 +
  642 + // 公司REST服务初始化
  643 + var companyService service.CompanyService
  644 + if value, err := factory.CreateCompanyService(map[string]interface{}{}); err != nil {
  645 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  646 + } else {
  647 + companyService = value
  648 + }
  649 +
  650 + // 获取公司信息
  651 + var company *domain.Company
  652 + if data, err := companyService.CompanyFrom(updateCooperationContractCommand.CompanyId); err != nil {
  653 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  654 + } else {
  655 + company = data
  656 + }
  657 +
  658 + // 组织机构REST服务初始化
  659 + var organizationService service.OrgService
  660 + if value, err := factory.CreateOrganizationService(map[string]interface{}{}); err != nil {
  661 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  662 + } else {
  663 + organizationService = value
  664 + }
  665 +
  666 + // 获取组织机构信息
  667 + var organization *domain.Org
  668 + if data, err := organizationService.OrgFrom(updateCooperationContractCommand.CompanyId, updateCooperationContractCommand.OrgId); err != nil {
  669 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  670 + } else {
  671 + organization = data
  672 + }
  673 +
481 var cooperationContractRepository domain.CooperationContractRepository 674 var cooperationContractRepository domain.CooperationContractRepository
482 if value, err := factory.CreateCooperationContractRepository(map[string]interface{}{ 675 if value, err := factory.CreateCooperationContractRepository(map[string]interface{}{
483 "transactionContext": transactionContext, 676 "transactionContext": transactionContext,
@@ -493,9 +686,155 @@ func (cooperationContractService *CooperationContractService) UpdateCooperationC @@ -493,9 +686,155 @@ func (cooperationContractService *CooperationContractService) UpdateCooperationC
493 if cooperationContract == nil { 686 if cooperationContract == nil {
494 return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateCooperationContractCommand.CooperationContractId))) 687 return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateCooperationContractCommand.CooperationContractId)))
495 } 688 }
  689 + // 更新合约基础信息
496 if err := cooperationContract.Update(tool_funs.SimpleStructToMap(updateCooperationContractCommand)); err != nil { 690 if err := cooperationContract.Update(tool_funs.SimpleStructToMap(updateCooperationContractCommand)); err != nil {
497 return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) 691 return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
498 } 692 }
  693 + // 用户REST服务初始化
  694 + var userService service.UserService
  695 + if value, err := factory.CreateUserService(map[string]interface{}{}); err != nil {
  696 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  697 + } else {
  698 + userService = value
  699 + }
  700 +
  701 + // 获取发起人
  702 + var sponsor *domain.User
  703 + sponsorUid, _ := strconv.ParseInt(updateCooperationContractCommand.SponsorUid, 10, 64)
  704 + if data, err := userService.OperatorFrom(updateCooperationContractCommand.CompanyId, updateCooperationContractCommand.OrgId, sponsorUid); err != nil {
  705 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  706 + } else {
  707 + sponsor = data
  708 + }
  709 +
  710 + // 更新发起人
  711 + cooperationContract.CooperationContractSponsor = sponsor
  712 +
  713 + // 获取相关人
  714 + var relevantPeople []*domain.Relevant
  715 + for _, relevantPersonUid := range updateCooperationContractCommand.RelevantPeople {
  716 + var relevantDomain *domain.Relevant
  717 + relevantUid, _ := strconv.ParseInt(relevantPersonUid, 10, 64)
  718 + if data, err := userService.RelevantFrom(updateCooperationContractCommand.CompanyId, updateCooperationContractCommand.OrgId, relevantUid); err != nil {
  719 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  720 + } else {
  721 + relevantDomain = data
  722 + }
  723 + relevantPeople = append(relevantPeople, &domain.Relevant{
  724 + RelevantId: relevantDomain.RelevantId,
  725 + CooperationContractNumber: cooperationContract.CooperationContractNumber,
  726 + UserId: relevantDomain.UserId,
  727 + UserBaseId: relevantDomain.UserBaseId,
  728 + Org: relevantDomain.Org,
  729 + Orgs: relevantDomain.Orgs,
  730 + Department: relevantDomain.Department,
  731 + Roles: relevantDomain.Roles,
  732 + UserInfo: relevantDomain.UserInfo,
  733 + UserType: relevantDomain.UserType,
  734 + Status: relevantDomain.Status,
  735 + Company: relevantDomain.Company,
  736 + })
  737 + }
  738 + // 更新合约相关人
  739 + cooperationContract.RelevantPeople = relevantPeople
  740 +
  741 + // 获取承接人
  742 + var undertakers []*domain.Undertaker
  743 + for _, undertaker := range updateCooperationContractCommand.Undertakers {
  744 + var undertakerDomain *domain.Undertaker
  745 + undertakerUid, _ := strconv.ParseInt(undertaker.UserId, 10, 64)
  746 + if data, err := userService.UndertakerFrom(updateCooperationContractCommand.CompanyId, updateCooperationContractCommand.OrgId, undertakerUid); err != nil {
  747 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  748 + } else {
  749 + undertakerDomain = data
  750 + }
  751 +
  752 + // 获取推荐人
  753 + var referrerDomain *domain.Referrer
  754 + referrerUid, _ := strconv.ParseInt(undertaker.ReferrerId, 10, 64)
  755 + if data, err := userService.ReferrerFrom(updateCooperationContractCommand.CompanyId, updateCooperationContractCommand.OrgId, referrerUid); err != nil {
  756 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  757 + } else {
  758 + referrerDomain = data
  759 + }
  760 +
  761 + // 获取业务员
  762 + var salesmanDomain *domain.Salesman
  763 + salesmanUid, _ := strconv.ParseInt(undertaker.SalesmanId, 10, 64)
  764 + if data, err := userService.SalesmanFrom(updateCooperationContractCommand.CompanyId, updateCooperationContractCommand.OrgId, salesmanUid); err != nil {
  765 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  766 + } else {
  767 + salesmanDomain = data
  768 + }
  769 +
  770 + undertakers = append(undertakers, &domain.Undertaker{
  771 + UndertakerId: undertaker.UndertakerId,
  772 + UserId: undertakerDomain.UserId,
  773 + CooperationContractNumber: cooperationContract.CooperationContractNumber,
  774 + UserBaseId: undertakerDomain.UserBaseId,
  775 + Org: undertakerDomain.Org,
  776 + Orgs: undertakerDomain.Orgs,
  777 + Department: undertakerDomain.Department,
  778 + Roles: undertakerDomain.Roles,
  779 + UserInfo: undertakerDomain.UserInfo,
  780 + UserType: undertakerDomain.UserType,
  781 + Referrer: referrerDomain,
  782 + Salesman: salesmanDomain,
  783 + Status: undertakerDomain.Status,
  784 + Company: undertakerDomain.Company,
  785 + ContractAttachment: nil,
  786 + })
  787 + }
  788 + // 更新承接人
  789 + cooperationContract.Undertakers = undertakers
  790 +
  791 + // 获取分红规则列表
  792 + var dividendsIncentivesRules []*domain.DividendsIncentivesRule
  793 + for _, dividendsIncentivesRule := range updateCooperationContractCommand.DividendsIncentivesRules {
  794 + dividendsIncentivesRuleId, _ := strconv.ParseInt(dividendsIncentivesRule.DividendsIncentivesRuleId, 10, 64)
  795 + dividendsIncentivesRules = append(dividendsIncentivesRules, &domain.DividendsIncentivesRule{
  796 + DividendsIncentivesRuleId: dividendsIncentivesRuleId,
  797 + CooperationContractNumber: cooperationContract.CooperationContractNumber,
  798 + ReferrerPercentage: dividendsIncentivesRule.ReferrerPercentage,
  799 + SalesmanPercentage: dividendsIncentivesRule.SalesmanPercentage,
  800 + DividendsIncentivesPercentage: dividendsIncentivesRule.DividendsIncentivesPercentage,
  801 + DividendsIncentivesStage: int64(dividendsIncentivesRule.DividendsIncentivesStage),
  802 + DividendsIncentivesStageEnd: dividendsIncentivesRule.DividendsIncentivesStageEnd,
  803 + DividendsIncentivesStageStart: dividendsIncentivesRule.DividendsIncentivesStageStart,
  804 + Org: organization,
  805 + Company: company,
  806 + UpdatedAt: time.Time{},
  807 + DeletedAt: time.Time{},
  808 + CreatedAt: time.Now(),
  809 + })
  810 + }
  811 + // 更新分红规则列表
  812 + cooperationContract.DividendsIncentivesRules = dividendsIncentivesRules
  813 +
  814 + // 获取金额激励规则列表
  815 + var moneyIncentivesRules []*domain.MoneyIncentivesRule
  816 + for _, moneyIncentivesRule := range updateCooperationContractCommand.MoneyIncentivesRules {
  817 + moneyIncentivesRuleId, _ := strconv.ParseInt(moneyIncentivesRule.MoneyIncentivesRuleId, 10, 64)
  818 + moneyIncentivesRules = append(moneyIncentivesRules, &domain.MoneyIncentivesRule{
  819 + MoneyIncentivesRuleId: moneyIncentivesRuleId,
  820 + CooperationContractNumber: cooperationContract.CooperationContractNumber,
  821 + MoneyIncentivesAmount: float64(moneyIncentivesRule.MoneyIncentivesAmount),
  822 + MoneyIncentivesStage: int64(moneyIncentivesRule.MoneyIncentivesStage),
  823 + MoneyIncentivesStageEnd: moneyIncentivesRule.MoneyIncentivesStageEnd,
  824 + MoneyIncentivesStageStart: moneyIncentivesRule.MoneyIncentivesStageStart,
  825 + MoneyIncentivesTime: time.Now(),
  826 + ReferrerPercentage: moneyIncentivesRule.ReferrerPercentage,
  827 + SalesmanPercentage: moneyIncentivesRule.SalesmanPercentage,
  828 + Org: organization,
  829 + Company: company,
  830 + UpdatedAt: time.Time{},
  831 + DeletedAt: time.Time{},
  832 + CreatedAt: time.Now(),
  833 + })
  834 + }
  835 + // 更新金额激励规则列表
  836 + cooperationContract.MoneyIncentivesRules = moneyIncentivesRules
  837 +
499 if cooperationContract, err := cooperationContractRepository.Save(cooperationContract); err != nil { 838 if cooperationContract, err := cooperationContractRepository.Save(cooperationContract); err != nil {
500 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 839 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
501 } else { 840 } else {
@@ -16,7 +16,7 @@ type UpdateCooperationProjectCommand struct { @@ -16,7 +16,7 @@ type UpdateCooperationProjectCommand struct {
16 // 共创模式编码 16 // 共创模式编码
17 CooperationModeNumber string `cname:"共创模式编码" json:"cooperationModeNumber" valid:"Required"` 17 CooperationModeNumber string `cname:"共创模式编码" json:"cooperationModeNumber" valid:"Required"`
18 // 承接对象,1员工,2共创用户,3公开,可以多选 18 // 承接对象,1员工,2共创用户,3公开,可以多选
19 - CooperationProjectUndertakerType []int32 `cname:"承接对象" json:"cooperationProjectUndertakerType" valid:"Required"` 19 + CooperationProjectUndertakerTypes []int32 `cname:"承接对象" json:"cooperationProjectUndertakerTypes" valid:"Required"`
20 // 共创项目发起人uid 20 // 共创项目发起人uid
21 SponsorUid string `cname:"共创项目发起人UID" json:"sponsorUid" valid:"Required"` 21 SponsorUid string `cname:"共创项目发起人UID" json:"sponsorUid" valid:"Required"`
22 // 共创项目发布人uid 22 // 共创项目发布人uid
@@ -237,7 +237,7 @@ func (cooperationProjectService *CooperationProjectService) GetCooperationProjec @@ -237,7 +237,7 @@ func (cooperationProjectService *CooperationProjectService) GetCooperationProjec
237 } else { 237 } else {
238 cooperationProjectDao = value 238 cooperationProjectDao = value
239 } 239 }
240 - //TODO 获取可删除的承接对象类型 240 + // 获取可删除的承接对象类型
241 undertakerTypesUncheckedAvailable, err := cooperationProjectDao.CheckUndertakerTypesUncheckedAvailable(map[string]interface{}{ 241 undertakerTypesUncheckedAvailable, err := cooperationProjectDao.CheckUndertakerTypesUncheckedAvailable(map[string]interface{}{
242 "cooperationProjectNumber": cooperationProject.CooperationProjectNumber, 242 "cooperationProjectNumber": cooperationProject.CooperationProjectNumber,
243 "cooperationProjectUndertakerTypes": cooperationProject.CooperationProjectUndertakerTypes, 243 "cooperationProjectUndertakerTypes": cooperationProject.CooperationProjectUndertakerTypes,
@@ -252,7 +252,7 @@ func (cooperationProjectService *CooperationProjectService) GetCooperationProjec @@ -252,7 +252,7 @@ func (cooperationProjectService *CooperationProjectService) GetCooperationProjec
252 if err := transactionContext.CommitTransaction(); err != nil { 252 if err := transactionContext.CommitTransaction(); err != nil {
253 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 253 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
254 } 254 }
255 - return cooperationProject, nil 255 + return cooperationProjectDto, nil
256 } 256 }
257 } 257 }
258 258
@@ -9,6 +9,7 @@ import ( @@ -9,6 +9,7 @@ import (
9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/factory" 9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/factory"
10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain" 10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain"
11 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service" 11 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service"
  12 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/dao"
12 "strconv" 13 "strconv"
13 "time" 14 "time"
14 ) 15 )
@@ -90,6 +91,29 @@ func (dividendsOrderService *DividendsOrderService) CreateDividendsOrder(createD @@ -90,6 +91,29 @@ func (dividendsOrderService *DividendsOrderService) CreateDividendsOrder(createD
90 salesman = data 91 salesman = data
91 } 92 }
92 93
  94 + // 分红订单DAO初始化
  95 + var dividendsOrderDao *dao.DividendsOrderDao
  96 + if value, err := factory.CreateDividendsOrderDao(map[string]interface{}{
  97 + "transactionContext": transactionContext,
  98 + }); err != nil {
  99 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  100 + } else {
  101 + dividendsOrderDao = value
  102 + }
  103 + // 生成分红订单号
  104 + dividendsOrderNumber, err := dividendsOrderDao.GenerateDividendsOrderNumber()
  105 + if err != nil {
  106 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  107 + }
  108 + // 校验分红订单编号是否唯一
  109 + numberAvailable, _ := dividendsOrderDao.CheckDividendsOrderNumberAvailable(map[string]interface{}{
  110 + "companyId": createDividendsOrderCommand.CompanyId,
  111 + "orgId": createDividendsOrderCommand.OrgId,
  112 + "dividendsOrderNumber": dividendsOrderNumber,
  113 + })
  114 + if !numberAvailable {
  115 + return nil, application.ThrowError(application.TRANSACTION_ERROR, "新增分红订单异常")
  116 + }
93 // 获取订单产品 117 // 获取订单产品
94 var orderGoods []*domain.OrderGood 118 var orderGoods []*domain.OrderGood
95 for _, orderGood := range createDividendsOrderCommand.OrderGoods { 119 for _, orderGood := range createDividendsOrderCommand.OrderGoods {
@@ -99,7 +123,7 @@ func (dividendsOrderService *DividendsOrderService) CreateDividendsOrder(createD @@ -99,7 +123,7 @@ func (dividendsOrderService *DividendsOrderService) CreateDividendsOrder(createD
99 OrderGoodName: orderGood.OrderGoodName, 123 OrderGoodName: orderGood.OrderGoodName,
100 OrderGoodPrice: orderGood.OrderGoodPrice, 124 OrderGoodPrice: orderGood.OrderGoodPrice,
101 OrderGoodQuantity: orderGood.OrderGoodQuantity, 125 OrderGoodQuantity: orderGood.OrderGoodQuantity,
102 - DividendsOrderNumber: "", //TODO 分红订单号,规则生成 126 + DividendsOrderNumber: dividendsOrderNumber,
103 DividendsReturnedOrderNumber: "", 127 DividendsReturnedOrderNumber: "",
104 CooperationContractNumber: orderGood.CooperationContractNumber, 128 CooperationContractNumber: orderGood.CooperationContractNumber,
105 OrderGoodExpense: 0, 129 OrderGoodExpense: 0,
@@ -113,7 +137,7 @@ func (dividendsOrderService *DividendsOrderService) CreateDividendsOrder(createD @@ -113,7 +137,7 @@ func (dividendsOrderService *DividendsOrderService) CreateDividendsOrder(createD
113 137
114 newDividendsOrder := &domain.DividendsOrder{ 138 newDividendsOrder := &domain.DividendsOrder{
115 DividendsOrderId: 0, 139 DividendsOrderId: 0,
116 - DividendsOrderNumber: "", // TODO 分红订单号,规则生成 140 + DividendsOrderNumber: dividendsOrderNumber,
117 DividendsOriginalOrderNum: createDividendsOrderCommand.DividendsOriginalOrderNum, 141 DividendsOriginalOrderNum: createDividendsOrderCommand.DividendsOriginalOrderNum,
118 DividendsOrderAmount: createDividendsOrderCommand.DividendsOrderAmount, 142 DividendsOrderAmount: createDividendsOrderCommand.DividendsOrderAmount,
119 OrderSalesman: salesman, 143 OrderSalesman: salesman,
@@ -53,17 +53,8 @@ func (cooperationApplication *CooperationApplication) Identify() interface{} { @@ -53,17 +53,8 @@ func (cooperationApplication *CooperationApplication) Identify() interface{} {
53 } 53 }
54 54
55 func (cooperationApplication *CooperationApplication) Update(data map[string]interface{}) error { 55 func (cooperationApplication *CooperationApplication) Update(data map[string]interface{}) error {
56 - if userId, ok := data["userId"]; ok {  
57 - cooperationApplication.CooperationApplicationApplicant.UserId = userId.(int64)  
58 - }  
59 - if userBaseId, ok := data["userBaseId"]; ok {  
60 - cooperationApplication.CooperationApplicationApplicant.UserBaseId = userBaseId.(int64)  
61 - }  
62 - if orgs, ok := data["orgs"]; ok {  
63 - cooperationApplication.CooperationApplicationApplicant.Orgs = orgs.([]*Org)  
64 - }  
65 - if status, ok := data["status"]; ok {  
66 - cooperationApplication.CooperationApplicationApplicant.Status = status.(int32) 56 + if isCanceled, ok := data["isCanceled"]; ok {
  57 + cooperationApplication.IsCanceled = isCanceled.(bool)
67 } 58 }
68 if cooperationApplicationAttachment, ok := data["cooperationApplicationAttachment"]; ok { 59 if cooperationApplicationAttachment, ok := data["cooperationApplicationAttachment"]; ok {
69 cooperationApplication.CooperationApplicationAttachment = cooperationApplicationAttachment.([]*Attachment) 60 cooperationApplication.CooperationApplicationAttachment = cooperationApplicationAttachment.([]*Attachment)
@@ -14,13 +14,15 @@ type CooperationContract struct { @@ -14,13 +14,15 @@ type CooperationContract struct {
14 CooperationContractName string `json:"cooperationContractName"` 14 CooperationContractName string `json:"cooperationContractName"`
15 // 共创合约编号 15 // 共创合约编号
16 CooperationContractNumber string `json:"cooperationContractNumber"` 16 CooperationContractNumber string `json:"cooperationContractNumber"`
  17 + // 共创项目编号
  18 + CooperationProjectNumber string `json:"cooperationProjectNumber"`
17 // 共创合约承接对象,1员工,2共创用户,3公开 19 // 共创合约承接对象,1员工,2共创用户,3公开
18 - CooperationContractUndertakerTypes []int32 `json:"cooperationContractUndertakerType"` 20 + CooperationContractUndertakerTypes []int32 `json:"cooperationContractUndertakerTypes"`
19 // 共创合约发起人 21 // 共创合约发起人
20 CooperationContractSponsor *User `json:"cooperationContractSponsor"` 22 CooperationContractSponsor *User `json:"cooperationContractSponsor"`
21 // 共创模式或者合伙模式 23 // 共创模式或者合伙模式
22 CooperationMode *CooperationMode `json:"cooperationMode"` 24 CooperationMode *CooperationMode `json:"cooperationMode"`
23 - // 合约状态,1启用,2禁用 25 + // 合约状态,1恢复,2暂停
24 Status int32 `json:"status"` 26 Status int32 `json:"status"`
25 // 数据所属组织机构 27 // 数据所属组织机构
26 Org *Org `json:"org"` 28 Org *Org `json:"org"`
@@ -48,7 +50,9 @@ type CooperationContract struct { @@ -48,7 +50,9 @@ type CooperationContract struct {
48 50
49 type CooperationContractRepository interface { 51 type CooperationContractRepository interface {
50 Save(cooperationContract *CooperationContract) (*CooperationContract, error) 52 Save(cooperationContract *CooperationContract) (*CooperationContract, error)
  53 + UpdateMany(cooperationContract []*CooperationContract) ([]*CooperationContract, error)
51 Remove(cooperationContract *CooperationContract) (*CooperationContract, error) 54 Remove(cooperationContract *CooperationContract) (*CooperationContract, error)
  55 + BatchRemove(cooperationContracts []*CooperationContract) ([]*CooperationContract, error)
52 FindOne(queryOptions map[string]interface{}) (*CooperationContract, error) 56 FindOne(queryOptions map[string]interface{}) (*CooperationContract, error)
53 Find(queryOptions map[string]interface{}) (int64, []*CooperationContract, error) 57 Find(queryOptions map[string]interface{}) (int64, []*CooperationContract, error)
54 } 58 }
@@ -67,15 +71,21 @@ func (cooperationContract *CooperationContract) Update(data map[string]interface @@ -67,15 +71,21 @@ func (cooperationContract *CooperationContract) Update(data map[string]interface
67 if cooperationContractName, ok := data["cooperationContractName"]; ok { 71 if cooperationContractName, ok := data["cooperationContractName"]; ok {
68 cooperationContract.CooperationContractName = cooperationContractName.(string) 72 cooperationContract.CooperationContractName = cooperationContractName.(string)
69 } 73 }
  74 + if cooperationProjectNumber, ok := data["cooperationProjectNumber"]; ok {
  75 + cooperationContract.CooperationProjectNumber = cooperationProjectNumber.(string)
  76 + }
70 if cooperationContractNumber, ok := data["cooperationContractNumber"]; ok { 77 if cooperationContractNumber, ok := data["cooperationContractNumber"]; ok {
71 cooperationContract.CooperationContractNumber = cooperationContractNumber.(string) 78 cooperationContract.CooperationContractNumber = cooperationContractNumber.(string)
72 } 79 }
73 - if cooperationContractUndertakerType, ok := data["cooperationContractUndertakerType"]; ok {  
74 - cooperationContract.CooperationContractUndertakerTypes = cooperationContractUndertakerType.([]int32) 80 + if cooperationContractUndertakerTypes, ok := data["cooperationContractUndertakerTypes"]; ok {
  81 + cooperationContract.CooperationContractUndertakerTypes = cooperationContractUndertakerTypes.([]int32)
75 } 82 }
76 if status, ok := data["status"]; ok { 83 if status, ok := data["status"]; ok {
77 cooperationContract.Status = status.(int32) 84 cooperationContract.Status = status.(int32)
78 } 85 }
  86 + if action, ok := data["action"]; ok {
  87 + cooperationContract.Status = action.(int32)
  88 + }
79 if operateTime, ok := data["operateTime"]; ok { 89 if operateTime, ok := data["operateTime"]; ok {
80 cooperationContract.OperateTime = operateTime.(time.Time) 90 cooperationContract.OperateTime = operateTime.(time.Time)
81 } 91 }
@@ -36,7 +36,6 @@ type CooperationModeRepository interface { @@ -36,7 +36,6 @@ type CooperationModeRepository interface {
36 BatchRemove(cooperationModes []*CooperationMode) ([]*CooperationMode, error) 36 BatchRemove(cooperationModes []*CooperationMode) ([]*CooperationMode, error)
37 FindOne(queryOptions map[string]interface{}) (*CooperationMode, error) 37 FindOne(queryOptions map[string]interface{}) (*CooperationMode, error)
38 Find(queryOptions map[string]interface{}) (int64, []*CooperationMode, error) 38 Find(queryOptions map[string]interface{}) (int64, []*CooperationMode, error)
39 - FindAll(queryOptions map[string]interface{}) (int64, []*CooperationMode, error)  
40 } 39 }
41 40
42 func (cooperationMode *CooperationMode) Identify() interface{} { 41 func (cooperationMode *CooperationMode) Identify() interface{} {
@@ -71,90 +71,9 @@ func (cooperationProject *CooperationProject) Update(data map[string]interface{} @@ -71,90 +71,9 @@ func (cooperationProject *CooperationProject) Update(data map[string]interface{}
71 if cooperationProjectPublishTime, ok := data["cooperationProjectPublishTime"]; ok { 71 if cooperationProjectPublishTime, ok := data["cooperationProjectPublishTime"]; ok {
72 cooperationProject.CooperationProjectPublishTime = cooperationProjectPublishTime.(time.Time) 72 cooperationProject.CooperationProjectPublishTime = cooperationProjectPublishTime.(time.Time)
73 } 73 }
74 - //if userId, ok := data["userId"]; ok {  
75 - // cooperationProject.CooperationProjectPublisher.UserId = userId.(int64)  
76 - //}  
77 - //if userBaseId, ok := data["userBaseId"]; ok {  
78 - // cooperationProject.CooperationProjectPublisher.UserBaseId = userBaseId.(int64)  
79 - //}  
80 - //if orgId, ok := data["orgId"]; ok {  
81 - // cooperationProject.CooperationProjectPublisher.Org.OrgId = orgId.(int64)  
82 - //}  
83 - //if orgName, ok := data["orgName"]; ok {  
84 - // cooperationProject.CooperationProjectPublisher.Org.OrgName = orgName.(string)  
85 - //}  
86 - //if companyId, ok := data["companyId"]; ok {  
87 - // cooperationProject.CooperationProjectPublisher.Org.Company.CompanyId = companyId.(int64)  
88 - //}  
89 - //if companyLogo, ok := data["companyLogo"]; ok {  
90 - // cooperationProject.CooperationProjectPublisher.Org.Company.CompanyLogo = companyLogo.(string)  
91 - //}  
92 - //if companyName, ok := data["companyName"]; ok {  
93 - // cooperationProject.CooperationProjectPublisher.Org.Company.CompanyName = companyName.(string)  
94 - //}  
95 - //if orgs, ok := data["orgs"]; ok {  
96 - // cooperationProject.CooperationProjectPublisher.Orgs = orgs.([]*Org)  
97 - //}  
98 - //if departmentId, ok := data["departmentId"]; ok {  
99 - // cooperationProject.CooperationProjectPublisher.Department.DepartmentId = departmentId.(int64)  
100 - //}  
101 - //if departmentName, ok := data["departmentName"]; ok {  
102 - // cooperationProject.CooperationProjectPublisher.Department.DepartmentName = departmentName.(string)  
103 - //}  
104 - //if departmentNumber, ok := data["departmentNumber"]; ok {  
105 - // cooperationProject.CooperationProjectPublisher.Department.DepartmentNumber = departmentNumber.(string)  
106 - //}  
107 - //if isOrganization, ok := data["isOrganization"]; ok {  
108 - // cooperationProject.CooperationProjectPublisher.Department.IsOrganization = isOrganization.(bool)  
109 - //}  
110 - //if userAvatar, ok := data["userAvatar"]; ok {  
111 - // cooperationProject.CooperationProjectPublisher.UserInfo.UserAvatar = userAvatar.(string)  
112 - //}  
113 - //if userEmail, ok := data["userEmail"]; ok {  
114 - // cooperationProject.CooperationProjectPublisher.UserInfo.UserEmail = userEmail.(string)  
115 - //}  
116 - //if userName, ok := data["userName"]; ok {  
117 - // cooperationProject.CooperationProjectPublisher.UserInfo.UserName = userName.(string)  
118 - //}  
119 - //if userPhone, ok := data["userPhone"]; ok {  
120 - // cooperationProject.CooperationProjectPublisher.UserInfo.UserPhone = userPhone.(string)  
121 - //}  
122 - //if userAccount, ok := data["userAccount"]; ok {  
123 - // cooperationProject.CooperationProjectPublisher.UserInfo.UserAccount = userAccount.(string)  
124 - //}  
125 - //if userType, ok := data["userType"]; ok {  
126 - // cooperationProject.CooperationProjectPublisher.UserType = userType.(int32)  
127 - //}  
128 - //if status, ok := data["status"]; ok {  
129 - // cooperationProject.CooperationProjectPublisher.Status = status.(int32)  
130 - //}  
131 - //if companyId, ok := data["companyId"]; ok {  
132 - // cooperationProject.CooperationProjectPublisher.Company.CompanyId = companyId.(int64)  
133 - //}  
134 - //if companyLogo, ok := data["companyLogo"]; ok {  
135 - // cooperationProject.CooperationProjectPublisher.Company.CompanyLogo = companyLogo.(string)  
136 - //}  
137 - //if companyName, ok := data["companyName"]; ok {  
138 - // cooperationProject.CooperationProjectPublisher.Company.CompanyName = companyName.(string)  
139 - //}  
140 - //if userId, ok := data["userId"]; ok {  
141 - // cooperationProject.CooperationProjectSponsor.UserId = userId.(int64)  
142 - //}  
143 - //if userBaseId, ok := data["userBaseId"]; ok {  
144 - // cooperationProject.CooperationProjectSponsor.UserBaseId = userBaseId.(int64)  
145 - //}  
146 - //if orgId, ok := data["orgId"]; ok {  
147 - // cooperationProject.CooperationProjectSponsor.Org.OrgId = orgId.(int64)  
148 - //}  
149 - //if orgName, ok := data["orgName"]; ok {  
150 - // cooperationProject.CooperationProjectSponsor.Org.OrgName = orgName.(string)  
151 - //}  
152 - //if companyId, ok := data["companyId"]; ok {  
153 - // cooperationProject.CooperationProjectSponsor.Company.CompanyId = companyId.(int64)  
154 - //}  
155 - //if cooperationProjectUndertakerType, ok := data["cooperationProjectUndertakerType"]; ok {  
156 - // cooperationProject.CooperationProjectUndertakerTypes = cooperationProjectUndertakerType.([]int32)  
157 - //} 74 + if cooperationProjectUndertakerTypes, ok := data["cooperationProjectUndertakerTypes"]; ok {
  75 + cooperationProject.CooperationProjectUndertakerTypes = cooperationProjectUndertakerTypes.([]int32)
  76 + }
158 if operateTime, ok := data["operateTime"]; ok { 77 if operateTime, ok := data["operateTime"]; ok {
159 cooperationProject.OperateTime = operateTime.(time.Time) 78 cooperationProject.OperateTime = operateTime.(time.Time)
160 } 79 }
@@ -20,6 +20,8 @@ type DividendsIncentivesRule struct { @@ -20,6 +20,8 @@ type DividendsIncentivesRule struct {
20 DividendsIncentivesStageEnd time.Time `json:"dividendsIncentivesStageEnd"` 20 DividendsIncentivesStageEnd time.Time `json:"dividendsIncentivesStageEnd"`
21 // 分红规则激励阶段开始 21 // 分红规则激励阶段开始
22 DividendsIncentivesStageStart time.Time `json:"dividendsIncentivesStageStart"` 22 DividendsIncentivesStageStart time.Time `json:"dividendsIncentivesStageStart"`
  23 + // 分红激励规则说明
  24 + Remarks string `json:"remarks"`
23 // 数据所属组织机构 25 // 数据所属组织机构
24 Org *Org `json:"org"` 26 Org *Org `json:"org"`
25 // 公司 27 // 公司
@@ -22,6 +22,8 @@ type MoneyIncentivesRule struct { @@ -22,6 +22,8 @@ type MoneyIncentivesRule struct {
22 ReferrerPercentage float64 `json:"referrerPercentage"` 22 ReferrerPercentage float64 `json:"referrerPercentage"`
23 // 业务员抽成比例 23 // 业务员抽成比例
24 SalesmanPercentage float64 `json:"salesmanPercentage"` 24 SalesmanPercentage float64 `json:"salesmanPercentage"`
  25 + // 分红激励规则说明
  26 + Remarks string `json:"remarks"`
25 // 数据所属组织机构 27 // 数据所属组织机构
26 Org *Org `json:"org"` 28 Org *Org `json:"org"`
27 // 公司 29 // 公司
@@ -35,6 +35,12 @@ func (dao *CooperationContractDao) GenerateContractNumber() (string, error) { @@ -35,6 +35,12 @@ func (dao *CooperationContractDao) GenerateContractNumber() (string, error) {
35 } 35 }
36 } 36 }
37 37
  38 +// CheckUndertakerTypesUncheckedAvailable TODO 校验合约承接对象是否可以删除
  39 +func (dao *CooperationContractDao) CheckUndertakerTypesUncheckedAvailable(queryOptions map[string]interface{}) ([]int32, error) {
  40 +
  41 + return []int32{}, nil
  42 +}
  43 +
38 // CheckContractNumberAvailable 检验合约编号唯一性 44 // CheckContractNumberAvailable 检验合约编号唯一性
39 func (dao *CooperationContractDao) CheckContractNumberAvailable(queryOptions map[string]interface{}) (bool, error) { 45 func (dao *CooperationContractDao) CheckContractNumberAvailable(queryOptions map[string]interface{}) (bool, error) {
40 tx := dao.transactionContext.PgTx 46 tx := dao.transactionContext.PgTx
@@ -37,6 +37,7 @@ func (dao *CooperationProjectDao) GenerateProjectNumber() (string, error) { @@ -37,6 +37,7 @@ func (dao *CooperationProjectDao) GenerateProjectNumber() (string, error) {
37 37
38 // CheckUndertakerTypesUncheckedAvailable TODO 校验项目承接对象是否可以删除 38 // CheckUndertakerTypesUncheckedAvailable TODO 校验项目承接对象是否可以删除
39 func (dao *CooperationProjectDao) CheckUndertakerTypesUncheckedAvailable(queryOptions map[string]interface{}) ([]int32, error) { 39 func (dao *CooperationProjectDao) CheckUndertakerTypesUncheckedAvailable(queryOptions map[string]interface{}) ([]int32, error) {
  40 +
40 return []int32{}, nil 41 return []int32{}, nil
41 } 42 }
42 43
@@ -35,6 +35,24 @@ func (dao *DividendsOrderDao) GenerateDividendsOrderNumber() (string, error) { @@ -35,6 +35,24 @@ func (dao *DividendsOrderDao) GenerateDividendsOrderNumber() (string, error) {
35 } 35 }
36 } 36 }
37 37
  38 +// CheckDividendsOrderNumberAvailable 校验分红订单是否唯一
  39 +func (dao *DividendsOrderDao) CheckDividendsOrderNumberAvailable(queryOptions map[string]interface{}) (bool, error) {
  40 + tx := dao.transactionContext.PgTx
  41 + var dividendsOrderModels []*models.DividendsOrder
  42 + query := tx.Model(&dividendsOrderModels)
  43 + if dividendsOrderNumber, ok := queryOptions["dividendsOrderNumber"]; ok && dividendsOrderNumber != "" {
  44 + query = query.Where("dividends_order_number = ?", dividendsOrderNumber)
  45 + }
  46 + if companyId, ok := queryOptions["companyId"]; ok && companyId.(int64) != 0 {
  47 + query = query.Where(`cooperation_contract.company @> '{"companyId":"?"}'`, companyId)
  48 + }
  49 + if orgId, ok := queryOptions["orgId"]; ok && orgId.(int64) != 0 {
  50 + query = query.Where(`cooperation_contract.org @> '{"orgId":"?"}'`, orgId)
  51 + }
  52 + ok, err := query.Exists()
  53 + return !ok, err
  54 +}
  55 +
38 func NewDividendsOrderDao(transactionContext *pgTransaction.TransactionContext) (*DividendsOrderDao, error) { 56 func NewDividendsOrderDao(transactionContext *pgTransaction.TransactionContext) (*DividendsOrderDao, error) {
39 if transactionContext == nil { 57 if transactionContext == nil {
40 return nil, fmt.Errorf("transactionContext参数不能未") 58 return nil, fmt.Errorf("transactionContext参数不能未")
@@ -15,6 +15,8 @@ type CooperationContract struct { @@ -15,6 +15,8 @@ type CooperationContract struct {
15 CooperationContractName string `comment:"共创合约名称"` 15 CooperationContractName string `comment:"共创合约名称"`
16 // 共创合约编号 16 // 共创合约编号
17 CooperationContractNumber string `comment:"共创合约编号"` 17 CooperationContractNumber string `comment:"共创合约编号"`
  18 + // 共创项目编号
  19 + CooperationProjectNumber string `comment:"共创项目编号"`
18 // 共创合约承接对象,1员工,2共创用户,3公开 20 // 共创合约承接对象,1员工,2共创用户,3公开
19 CooperationContractUndertakerTypes []int32 `comment:"共创合约承接对象,1员工,2共创用户,3公开" pg:",array"` 21 CooperationContractUndertakerTypes []int32 `comment:"共创合约承接对象,1员工,2共创用户,3公开" pg:",array"`
20 // 共创合约发起人 22 // 共创合约发起人
@@ -23,6 +23,8 @@ type DividendsIncentivesRule struct { @@ -23,6 +23,8 @@ type DividendsIncentivesRule struct {
23 DividendsIncentivesStageEnd time.Time `comment:"分红规则激励阶段结束"` 23 DividendsIncentivesStageEnd time.Time `comment:"分红规则激励阶段结束"`
24 // 分红规则激励阶段开始 24 // 分红规则激励阶段开始
25 DividendsIncentivesStageStart time.Time `comment:"分红规则激励阶段开始"` 25 DividendsIncentivesStageStart time.Time `comment:"分红规则激励阶段开始"`
  26 + // 分红激励规则说明
  27 + Remarks string `comment:"分红激励规则说明"`
26 // 数据所属组织机构 28 // 数据所属组织机构
27 Org *domain.Org `comment:"数据所属组织机构"` 29 Org *domain.Org `comment:"数据所属组织机构"`
28 // 公司 30 // 公司
@@ -25,6 +25,8 @@ type MoneyIncentivesRule struct { @@ -25,6 +25,8 @@ type MoneyIncentivesRule struct {
25 ReferrerPercentage float64 `comment:"推荐人抽成比例"` 25 ReferrerPercentage float64 `comment:"推荐人抽成比例"`
26 // 业务员抽成比例 26 // 业务员抽成比例
27 SalesmanPercentage float64 `comment:"业务员抽成比例"` 27 SalesmanPercentage float64 `comment:"业务员抽成比例"`
  28 + // 分红激励规则说明
  29 + Remarks string `comment:"分红激励规则说明"`
28 // 数据所属组织机构 30 // 数据所属组织机构
29 Org *domain.Org `comment:"数据所属组织机构"` 31 Org *domain.Org `comment:"数据所属组织机构"`
30 // 公司 32 // 公司
@@ -89,6 +89,7 @@ func TransformToCooperationContractDomainModelFromPgModels( @@ -89,6 +89,7 @@ func TransformToCooperationContractDomainModelFromPgModels(
89 CooperationContractDescription: cooperationContractModel.CooperationContractDescription, 89 CooperationContractDescription: cooperationContractModel.CooperationContractDescription,
90 CooperationContractName: cooperationContractModel.CooperationContractName, 90 CooperationContractName: cooperationContractModel.CooperationContractName,
91 CooperationContractNumber: cooperationContractModel.CooperationContractNumber, 91 CooperationContractNumber: cooperationContractModel.CooperationContractNumber,
  92 + CooperationProjectNumber: cooperationContractModel.CooperationProjectNumber,
92 CooperationContractUndertakerTypes: cooperationContractModel.CooperationContractUndertakerTypes, 93 CooperationContractUndertakerTypes: cooperationContractModel.CooperationContractUndertakerTypes,
93 CooperationContractSponsor: cooperationContractModel.CooperationContractSponsor, 94 CooperationContractSponsor: cooperationContractModel.CooperationContractSponsor,
94 CooperationMode: &domain.CooperationMode{ 95 CooperationMode: &domain.CooperationMode{
@@ -15,6 +15,7 @@ func TransformToDividendsIncentivesRuleDomainModelFromPgModels(dividendsIncentiv @@ -15,6 +15,7 @@ func TransformToDividendsIncentivesRuleDomainModelFromPgModels(dividendsIncentiv
15 DividendsIncentivesStage: dividendsIncentivesRuleModel.DividendsIncentivesStage, 15 DividendsIncentivesStage: dividendsIncentivesRuleModel.DividendsIncentivesStage,
16 DividendsIncentivesStageEnd: dividendsIncentivesRuleModel.DividendsIncentivesStageEnd, 16 DividendsIncentivesStageEnd: dividendsIncentivesRuleModel.DividendsIncentivesStageEnd,
17 DividendsIncentivesStageStart: dividendsIncentivesRuleModel.DividendsIncentivesStageStart, 17 DividendsIncentivesStageStart: dividendsIncentivesRuleModel.DividendsIncentivesStageStart,
  18 + Remarks: dividendsIncentivesRuleModel.Remarks,
18 Org: dividendsIncentivesRuleModel.Org, 19 Org: dividendsIncentivesRuleModel.Org,
19 Company: dividendsIncentivesRuleModel.Company, 20 Company: dividendsIncentivesRuleModel.Company,
20 UpdatedAt: dividendsIncentivesRuleModel.UpdatedAt, 21 UpdatedAt: dividendsIncentivesRuleModel.UpdatedAt,
@@ -16,6 +16,7 @@ func TransformToMoneyIncentivesRuleDomainModelFromPgModels(moneyIncentivesRuleMo @@ -16,6 +16,7 @@ func TransformToMoneyIncentivesRuleDomainModelFromPgModels(moneyIncentivesRuleMo
16 MoneyIncentivesTime: moneyIncentivesRuleModel.MoneyIncentivesTime, 16 MoneyIncentivesTime: moneyIncentivesRuleModel.MoneyIncentivesTime,
17 ReferrerPercentage: moneyIncentivesRuleModel.ReferrerPercentage, 17 ReferrerPercentage: moneyIncentivesRuleModel.ReferrerPercentage,
18 SalesmanPercentage: moneyIncentivesRuleModel.SalesmanPercentage, 18 SalesmanPercentage: moneyIncentivesRuleModel.SalesmanPercentage,
  19 + Remarks: moneyIncentivesRuleModel.Remarks,
19 Org: moneyIncentivesRuleModel.Org, 20 Org: moneyIncentivesRuleModel.Org,
20 Company: moneyIncentivesRuleModel.Company, 21 Company: moneyIncentivesRuleModel.Company,
21 UpdatedAt: moneyIncentivesRuleModel.UpdatedAt, 22 UpdatedAt: moneyIncentivesRuleModel.UpdatedAt,
@@ -159,13 +159,19 @@ func (repository *ContractUndertakerFeedbackRepository) Find(queryOptions map[st @@ -159,13 +159,19 @@ func (repository *ContractUndertakerFeedbackRepository) Find(queryOptions map[st
159 // 搜索内容包括项目合约名称、承接人姓名、承接内容关键字 159 // 搜索内容包括项目合约名称、承接人姓名、承接内容关键字
160 if matchWord, ok := queryOptions["matchWord"]; ok && matchWord != "" { 160 if matchWord, ok := queryOptions["matchWord"]; ok && matchWord != "" {
161 query.WhereGroup(func(q *orm.Query) (*orm.Query, error) { 161 query.WhereGroup(func(q *orm.Query) (*orm.Query, error) {
162 - q.WhereOr("cooperation_contract_name like ?",fmt.Sprintf("%%%s%%", matchWord)) 162 + q.WhereOr("cooperation_contract_name like ?", fmt.Sprintf("%%%s%%", matchWord))
163 q.WhereOr("contract_undertaker->>'userName' like ?", fmt.Sprintf("%%%s%%", matchWord)) 163 q.WhereOr("contract_undertaker->>'userName' like ?", fmt.Sprintf("%%%s%%", matchWord))
164 q.WhereOr("feedback_content like ?", fmt.Sprintf("%%%s%%", matchWord)) 164 q.WhereOr("feedback_content like ?", fmt.Sprintf("%%%s%%", matchWord))
165 return q, nil 165 return q, nil
166 }) 166 })
167 } 167 }
168 - query.SetOffsetAndLimit(20) 168 + offsetLimitFlag := true
  169 + if limit, ok := queryOptions["limit"]; ok {
  170 + offsetLimitFlag = limit.(bool)
  171 + }
  172 + if offsetLimitFlag {
  173 + query.SetOffsetAndLimit(20)
  174 + }
169 query.SetOrderDirect("feedback_id", "DESC") 175 query.SetOrderDirect("feedback_id", "DESC")
170 if count, err := query.SelectAndCount(); err != nil { 176 if count, err := query.SelectAndCount(); err != nil {
171 return 0, contractUndertakerFeedbacks, err 177 return 0, contractUndertakerFeedbacks, err
@@ -181,7 +181,28 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string @@ -181,7 +181,28 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string
181 var cooperationApplicationModels []*models.CooperationApplication 181 var cooperationApplicationModels []*models.CooperationApplication
182 cooperationApplications := make([]*domain.CooperationApplication, 0) 182 cooperationApplications := make([]*domain.CooperationApplication, 0)
183 query := sqlbuilder.BuildQuery(tx.Model(&cooperationApplicationModels), queryOptions) 183 query := sqlbuilder.BuildQuery(tx.Model(&cooperationApplicationModels), queryOptions)
184 - query.SetOffsetAndLimit(20) 184 + if cooperationProjectNumber, ok := queryOptions["cooperationProjectNumber"]; ok && cooperationProjectNumber != "" {
  185 + query.Where("cooperation_project_number like ?", fmt.Sprintf("%%%s%%", cooperationProjectNumber))
  186 + }
  187 + // 共创项目名称查询
  188 + if cooperationProjectName, ok := queryOptions["cooperationProjectName"]; ok && cooperationProjectName != "" {
  189 + query.Join("LEFT JOIN cooperation_projects AS a").
  190 + JoinOn("a.cooperation_project_number = cooperation_application.cooperation_project_number").
  191 + Where("a.cooperation_project_name like ?", fmt.Sprintf("%%%s%%", cooperationProjectName))
  192 + }
  193 + if applicantName, ok := queryOptions["applicantName"]; ok && applicantName != "" {
  194 + query.Where(`(cooperation_application.cooperation_application_applicant->>'userName')::text LIKE ?`, fmt.Sprintf("%%%s%%", applicantName))
  195 + }
  196 + if cooperationApplicationStatus, ok := queryOptions["cooperationApplicationStatus"]; ok && cooperationApplicationStatus.(int32) != 0 {
  197 +
  198 + }
  199 + offsetLimitFlag := true
  200 + if limit, ok := queryOptions["limit"]; ok {
  201 + offsetLimitFlag = limit.(bool)
  202 + }
  203 + if offsetLimitFlag {
  204 + query.SetOffsetAndLimit(20)
  205 + }
185 query.SetOrderDirect("cooperation_application_id", "DESC") 206 query.SetOrderDirect("cooperation_application_id", "DESC")
186 if count, err := query.SelectAndCount(); err != nil { 207 if count, err := query.SelectAndCount(); err != nil {
187 return 0, cooperationApplications, err 208 return 0, cooperationApplications, err
@@ -141,7 +141,13 @@ func (repository *CooperationContractChangeLogRepository) Find(queryOptions map[ @@ -141,7 +141,13 @@ func (repository *CooperationContractChangeLogRepository) Find(queryOptions map[
141 var cooperationContractChangeLogModels []*models.CooperationContractChangeLog 141 var cooperationContractChangeLogModels []*models.CooperationContractChangeLog
142 cooperationContractChangeLogs := make([]*domain.CooperationContractChangeLog, 0) 142 cooperationContractChangeLogs := make([]*domain.CooperationContractChangeLog, 0)
143 query := sqlbuilder.BuildQuery(tx.Model(&cooperationContractChangeLogModels), queryOptions) 143 query := sqlbuilder.BuildQuery(tx.Model(&cooperationContractChangeLogModels), queryOptions)
144 - query.SetOffsetAndLimit(20) 144 + offsetLimitFlag := true
  145 + if limit, ok := queryOptions["limit"]; ok {
  146 + offsetLimitFlag = limit.(bool)
  147 + }
  148 + if offsetLimitFlag {
  149 + query.SetOffsetAndLimit(20)
  150 + }
145 query.SetOrderDirect("cooperation_contract_change_log_id", "DESC") 151 query.SetOrderDirect("cooperation_contract_change_log_id", "DESC")
146 if count, err := query.SelectAndCount(); err != nil { 152 if count, err := query.SelectAndCount(); err != nil {
147 return 0, cooperationContractChangeLogs, err 153 return 0, cooperationContractChangeLogs, err
@@ -166,7 +166,13 @@ func (repository *CooperationContractRelevantRepository) Find(queryOptions map[s @@ -166,7 +166,13 @@ func (repository *CooperationContractRelevantRepository) Find(queryOptions map[s
166 var cooperationContractRelevantModels []*models.CooperationContractRelevant 166 var cooperationContractRelevantModels []*models.CooperationContractRelevant
167 cooperationContractRelevants := make([]*domain.CooperationContractRelevant, 0) 167 cooperationContractRelevants := make([]*domain.CooperationContractRelevant, 0)
168 query := sqlbuilder.BuildQuery(tx.Model(&cooperationContractRelevantModels), queryOptions) 168 query := sqlbuilder.BuildQuery(tx.Model(&cooperationContractRelevantModels), queryOptions)
169 - query.SetOffsetAndLimit(20) 169 + offsetLimitFlag := true
  170 + if limit, ok := queryOptions["limit"]; ok {
  171 + offsetLimitFlag = limit.(bool)
  172 + }
  173 + if offsetLimitFlag {
  174 + query.SetOffsetAndLimit(20)
  175 + }
170 query.SetOrderDirect("cooperation_contract_relevant_id", "DESC") 176 query.SetOrderDirect("cooperation_contract_relevant_id", "DESC")
171 if count, err := query.SelectAndCount(); err != nil { 177 if count, err := query.SelectAndCount(); err != nil {
172 return 0, cooperationContractRelevants, err 178 return 0, cooperationContractRelevants, err
@@ -32,6 +32,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -32,6 +32,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
32 "cooperation_contract_description", 32 "cooperation_contract_description",
33 "cooperation_contract_name", 33 "cooperation_contract_name",
34 "cooperation_contract_number", 34 "cooperation_contract_number",
  35 + "cooperation_project_number",
35 "cooperation_contract_undertaker_types", 36 "cooperation_contract_undertaker_types",
36 "cooperation_contract_sponsor", 37 "cooperation_contract_sponsor",
37 "cooperation_mode_number", 38 "cooperation_mode_number",
@@ -63,6 +64,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -63,6 +64,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
63 &cooperationContract.CooperationContractDescription, 64 &cooperationContract.CooperationContractDescription,
64 &cooperationContract.CooperationContractName, 65 &cooperationContract.CooperationContractName,
65 &cooperationContract.CooperationContractNumber, 66 &cooperationContract.CooperationContractNumber,
  67 + &cooperationContract.CooperationProjectNumber,
66 pg.Array(&cooperationContract.CooperationContractUndertakerTypes), 68 pg.Array(&cooperationContract.CooperationContractUndertakerTypes),
67 &cooperationContract.CooperationContractSponsor, 69 &cooperationContract.CooperationContractSponsor,
68 &cooperationContract.CooperationMode.CooperationModeNumber, 70 &cooperationContract.CooperationMode.CooperationModeNumber,
@@ -80,6 +82,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -80,6 +82,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
80 cooperationContract.CooperationContractDescription, 82 cooperationContract.CooperationContractDescription,
81 cooperationContract.CooperationContractName, 83 cooperationContract.CooperationContractName,
82 cooperationContract.CooperationContractNumber, 84 cooperationContract.CooperationContractNumber,
  85 + cooperationContract.CooperationProjectNumber,
83 pg.Array(cooperationContract.CooperationContractUndertakerTypes), 86 pg.Array(cooperationContract.CooperationContractUndertakerTypes),
84 cooperationContract.CooperationContractSponsor, 87 cooperationContract.CooperationContractSponsor,
85 cooperationContract.CooperationMode.CooperationModeNumber, 88 cooperationContract.CooperationMode.CooperationModeNumber,
@@ -166,6 +169,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -166,6 +169,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
166 if _, err := tx.Model(&dividendsIncentivesRulesModel).Insert(); err != nil { 169 if _, err := tx.Model(&dividendsIncentivesRulesModel).Insert(); err != nil {
167 return nil, err 170 return nil, err
168 } 171 }
  172 +
169 // 新增金额激励规则 173 // 新增金额激励规则
170 var moneyIncentivesRulesModel []*models.MoneyIncentivesRule 174 var moneyIncentivesRulesModel []*models.MoneyIncentivesRule
171 for _, rule := range cooperationContract.MoneyIncentivesRules { 175 for _, rule := range cooperationContract.MoneyIncentivesRules {
@@ -195,6 +199,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -195,6 +199,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
195 &cooperationContract.CooperationContractDescription, 199 &cooperationContract.CooperationContractDescription,
196 &cooperationContract.CooperationContractName, 200 &cooperationContract.CooperationContractName,
197 &cooperationContract.CooperationContractNumber, 201 &cooperationContract.CooperationContractNumber,
  202 + &cooperationContract.CooperationProjectNumber,
198 pg.Array(&cooperationContract.CooperationContractUndertakerTypes), 203 pg.Array(&cooperationContract.CooperationContractUndertakerTypes),
199 &cooperationContract.CooperationContractSponsor, 204 &cooperationContract.CooperationContractSponsor,
200 &cooperationContract.CooperationMode.CooperationModeNumber, 205 &cooperationContract.CooperationMode.CooperationModeNumber,
@@ -212,6 +217,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -212,6 +217,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
212 cooperationContract.CooperationContractDescription, 217 cooperationContract.CooperationContractDescription,
213 cooperationContract.CooperationContractName, 218 cooperationContract.CooperationContractName,
214 cooperationContract.CooperationContractNumber, 219 cooperationContract.CooperationContractNumber,
  220 + cooperationContract.CooperationProjectNumber,
215 pg.Array(cooperationContract.CooperationContractUndertakerTypes), 221 pg.Array(cooperationContract.CooperationContractUndertakerTypes),
216 cooperationContract.CooperationContractSponsor, 222 cooperationContract.CooperationContractSponsor,
217 cooperationContract.CooperationMode.CooperationModeNumber, 223 cooperationContract.CooperationMode.CooperationModeNumber,
@@ -276,8 +282,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -276,8 +282,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
276 }) 282 })
277 } 283 }
278 // 添加相关人 284 // 添加相关人
279 - if _, err := tx.Model(&cooperationContractRelevantPeopleToAddModels).Insert(); err != nil {  
280 - return nil, err 285 + if len(cooperationContractRelevantPeopleToAddModels) > 0 {
  286 + if _, err := tx.Model(&cooperationContractRelevantPeopleToAddModels).Insert(); err != nil {
  287 + return nil, err
  288 + }
281 } 289 }
282 290
283 // 待更新或者删除的ids 291 // 待更新或者删除的ids
@@ -296,8 +304,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -296,8 +304,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
296 } 304 }
297 } 305 }
298 } 306 }
299 - if _, err := tx.Model(&relevantModelsToUpdate).WherePK().Update(); err != nil {  
300 - return nil, err 307 + if len(relevantModelsToUpdate) > 0 {
  308 + if _, err := tx.Model(&relevantModelsToUpdate).WherePK().Update(); err != nil {
  309 + return nil, err
  310 + }
301 } 311 }
302 312
303 // 待删除的相关人id 313 // 待删除的相关人id
@@ -310,7 +320,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -310,7 +320,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
310 } 320 }
311 } 321 }
312 } 322 }
313 - if _, err := tx.Model(&relevantModelsToDelete).WherePK().Delete(); err != nil { 323 + if _, err := tx.Model(&relevantModelsToDelete).Delete(); err != nil {
314 return nil, err 324 return nil, err
315 } 325 }
316 326
@@ -361,8 +371,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -361,8 +371,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
361 }) 371 })
362 } 372 }
363 // 添加承接人 373 // 添加承接人
364 - if _, err := tx.Model(&cooperationContractUndertakersToAddModels).Insert(); err != nil {  
365 - return nil, err 374 + if len(cooperationContractUndertakersToAddModels) > 0 {
  375 + if _, err := tx.Model(&cooperationContractUndertakersToAddModels).Insert(); err != nil {
  376 + return nil, err
  377 + }
366 } 378 }
367 379
368 // 待更新或者删除的ids 380 // 待更新或者删除的ids
@@ -381,11 +393,13 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -381,11 +393,13 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
381 } 393 }
382 } 394 }
383 } 395 }
384 - if _, err := tx.Model(&undertakerModelsToUpdate).WherePK().Update(); err != nil {  
385 - return nil, err 396 + if len(undertakerModelsToUpdate) > 0 {
  397 + if _, err := tx.Model(&undertakerModelsToUpdate).WherePK().Update(); err != nil {
  398 + return nil, err
  399 + }
386 } 400 }
387 401
388 - // 待删除的相关人id 402 + // 待删除的承接人id
389 undertakerIdsToDelete := utils.Difference(cooperationContractUndertakersIdsFetched, cooperationContractUndertakersToUpdateOrDeleteIds) 403 undertakerIdsToDelete := utils.Difference(cooperationContractUndertakersIdsFetched, cooperationContractUndertakersToUpdateOrDeleteIds)
390 var undertakerModelsToDelete []*models.CooperationContractUndertaker 404 var undertakerModelsToDelete []*models.CooperationContractUndertaker
391 for _, id := range undertakerIdsToDelete { 405 for _, id := range undertakerIdsToDelete {
@@ -395,7 +409,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -395,7 +409,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
395 } 409 }
396 } 410 }
397 } 411 }
398 - if _, err := tx.Model(&relevantModelsToDelete).WherePK().Delete(); err != nil { 412 + if _, err := tx.Model(&undertakerModelsToDelete).Delete(); err != nil {
399 return nil, err 413 return nil, err
400 } 414 }
401 415
@@ -444,8 +458,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -444,8 +458,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
444 }) 458 })
445 } 459 }
446 // 添加分红激励规则 460 // 添加分红激励规则
447 - if _, err := tx.Model(&dividendsIncentivesRulesToAddModels).Insert(); err != nil {  
448 - return nil, err 461 + if len(dividendsIncentivesRulesToAddModels) > 0 {
  462 + if _, err := tx.Model(&dividendsIncentivesRulesToAddModels).Insert(); err != nil {
  463 + return nil, err
  464 + }
449 } 465 }
450 466
451 // 待更新或者删除的ids 467 // 待更新或者删除的ids
@@ -464,8 +480,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -464,8 +480,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
464 } 480 }
465 } 481 }
466 } 482 }
467 - if _, err := tx.Model(&dividendsRuleModelsToUpdate).WherePK().Update(); err != nil {  
468 - return nil, err 483 + if len(dividendsRuleModelsToUpdate) > 0 {
  484 + if _, err := tx.Model(&dividendsRuleModelsToUpdate).WherePK().Update(); err != nil {
  485 + return nil, err
  486 + }
469 } 487 }
470 488
471 // 待删除的分红激励规则id 489 // 待删除的分红激励规则id
@@ -478,7 +496,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -478,7 +496,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
478 } 496 }
479 } 497 }
480 } 498 }
481 - if _, err := tx.Model(&dividendsIncentivesRuleModelsToDelete).WherePK().Delete(); err != nil { 499 + if _, err := tx.Model(&dividendsIncentivesRuleModelsToDelete).Delete(); err != nil {
482 return nil, err 500 return nil, err
483 } 501 }
484 502
@@ -527,8 +545,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -527,8 +545,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
527 }) 545 })
528 } 546 }
529 // 添加金额激励规则 547 // 添加金额激励规则
530 - if _, err := tx.Model(&moneyIncentivesRulesToAddModels).Insert(); err != nil {  
531 - return nil, err 548 + if len(moneyIncentivesRulesToAddModels) > 0 {
  549 + if _, err := tx.Model(&moneyIncentivesRulesToAddModels).Insert(); err != nil {
  550 + return nil, err
  551 + }
532 } 552 }
533 553
534 // 待更新或者删除的ids 554 // 待更新或者删除的ids
@@ -547,8 +567,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -547,8 +567,10 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
547 } 567 }
548 } 568 }
549 } 569 }
550 - if _, err := tx.Model(&moneyRuleModelsToUpdate).WherePK().Update(); err != nil {  
551 - return nil, err 570 + if len(moneyRuleModelsToUpdate) > 0 {
  571 + if _, err := tx.Model(&moneyRuleModelsToUpdate).WherePK().Update(); err != nil {
  572 + return nil, err
  573 + }
552 } 574 }
553 575
554 // 待删除的金额激励规则id 576 // 待删除的金额激励规则id
@@ -561,7 +583,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -561,7 +583,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
561 } 583 }
562 } 584 }
563 } 585 }
564 - if _, err := tx.Model(&moneyIncentivesRuleModelsToDelete).WherePK().Delete(); err != nil { 586 + if _, err := tx.Model(&moneyIncentivesRuleModelsToDelete).Delete(); err != nil {
565 return nil, err 587 return nil, err
566 } 588 }
567 589
@@ -569,6 +591,35 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai @@ -569,6 +591,35 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai
569 return cooperationContract, nil 591 return cooperationContract, nil
570 } 592 }
571 593
  594 +func (repository *CooperationContractRepository) UpdateMany(cooperationContracts []*domain.CooperationContract) ([]*domain.CooperationContract, error) {
  595 + tx := repository.transactionContext.PgTx
  596 + var cooperationContractModels []*models.CooperationContract
  597 + for _, cooperationContract := range cooperationContracts {
  598 + cooperationContractModels = append(cooperationContractModels, &models.CooperationContract{
  599 + CooperationContractId: cooperationContract.CooperationContractId,
  600 + CooperationContractDescription: cooperationContract.CooperationContractDescription,
  601 + CooperationContractName: cooperationContract.CooperationContractName,
  602 + CooperationContractNumber: cooperationContract.CooperationContractNumber,
  603 + CooperationProjectNumber: cooperationContract.CooperationProjectNumber,
  604 + CooperationContractUndertakerTypes: cooperationContract.CooperationContractUndertakerTypes,
  605 + CooperationContractSponsor: cooperationContract.CooperationContractSponsor,
  606 + CooperationModeNumber: cooperationContract.CooperationMode.CooperationModeNumber,
  607 + Status: cooperationContract.Status,
  608 + Org: cooperationContract.Org,
  609 + Company: cooperationContract.Company,
  610 + Operator: cooperationContract.Operator,
  611 + OperateTime: cooperationContract.OperateTime,
  612 + CreatedAt: cooperationContract.CreatedAt,
  613 + DeletedAt: cooperationContract.DeletedAt,
  614 + UpdatedAt: time.Now(),
  615 + })
  616 + }
  617 + if _, err := tx.Model(&cooperationContractModels).WherePK().Update(); err != nil {
  618 + return nil, err
  619 + }
  620 + return cooperationContracts, nil
  621 +}
  622 +
572 func (repository *CooperationContractRepository) Remove(cooperationContract *domain.CooperationContract) (*domain.CooperationContract, error) { 623 func (repository *CooperationContractRepository) Remove(cooperationContract *domain.CooperationContract) (*domain.CooperationContract, error) {
573 tx := repository.transactionContext.PgTx 624 tx := repository.transactionContext.PgTx
574 cooperationContractModel := new(models.CooperationContract) 625 cooperationContractModel := new(models.CooperationContract)
@@ -579,7 +630,7 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom @@ -579,7 +630,7 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom
579 // 获取分红激励规则列表 630 // 获取分红激励规则列表
580 var dividendsIncentivesRuleModels []*models.DividendsIncentivesRule 631 var dividendsIncentivesRuleModels []*models.DividendsIncentivesRule
581 dividendsIncentivesRuleQuery := tx.Model(&dividendsIncentivesRuleModels) 632 dividendsIncentivesRuleQuery := tx.Model(&dividendsIncentivesRuleModels)
582 - if err := dividendsIncentivesRuleQuery.Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber).Select(); err != nil { 633 + if err := dividendsIncentivesRuleQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil {
583 return nil, err 634 return nil, err
584 } else { 635 } else {
585 if _, err := tx.Model(&dividendsIncentivesRuleModels).WherePK().Delete(); err != nil { 636 if _, err := tx.Model(&dividendsIncentivesRuleModels).WherePK().Delete(); err != nil {
@@ -589,7 +640,7 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom @@ -589,7 +640,7 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom
589 // 获取金额激励规则列表 640 // 获取金额激励规则列表
590 var moneyIncentivesRuleModels []*models.MoneyIncentivesRule 641 var moneyIncentivesRuleModels []*models.MoneyIncentivesRule
591 moneyIncentivesRuleQuery := tx.Model(&moneyIncentivesRuleModels) 642 moneyIncentivesRuleQuery := tx.Model(&moneyIncentivesRuleModels)
592 - if err := moneyIncentivesRuleQuery.Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber).Select(); err != nil { 643 + if err := moneyIncentivesRuleQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil {
593 return nil, err 644 return nil, err
594 } else { 645 } else {
595 if _, err := tx.Model(&moneyIncentivesRuleModels).WherePK().Delete(); err != nil { 646 if _, err := tx.Model(&moneyIncentivesRuleModels).WherePK().Delete(); err != nil {
@@ -599,7 +650,7 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom @@ -599,7 +650,7 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom
599 // 获取承接人列表 650 // 获取承接人列表
600 var cooperationContractUndertakerModels []*models.CooperationContractUndertaker 651 var cooperationContractUndertakerModels []*models.CooperationContractUndertaker
601 cooperationContractUndertakerQuery := tx.Model(&cooperationContractUndertakerModels) 652 cooperationContractUndertakerQuery := tx.Model(&cooperationContractUndertakerModels)
602 - if err := cooperationContractUndertakerQuery.Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber).Select(); err != nil { 653 + if err := cooperationContractUndertakerQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil {
603 return nil, err 654 return nil, err
604 } else { 655 } else {
605 if _, err := tx.Model(&cooperationContractUndertakerModels).WherePK().Delete(); err != nil { 656 if _, err := tx.Model(&cooperationContractUndertakerModels).WherePK().Delete(); err != nil {
@@ -609,7 +660,7 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom @@ -609,7 +660,7 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom
609 // 获取相关人列表 660 // 获取相关人列表
610 var cooperationContractRelevantModels []*models.CooperationContractRelevant 661 var cooperationContractRelevantModels []*models.CooperationContractRelevant
611 cooperationContractRelevantQuery := tx.Model(&cooperationContractRelevantModels) 662 cooperationContractRelevantQuery := tx.Model(&cooperationContractRelevantModels)
612 - if err := cooperationContractRelevantQuery.Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber).Select(); err != nil { 663 + if err := cooperationContractRelevantQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil {
613 return nil, err 664 return nil, err
614 } else { 665 } else {
615 if _, err := tx.Model(&cooperationContractRelevantModels).WherePK().Delete(); err != nil { 666 if _, err := tx.Model(&cooperationContractRelevantModels).WherePK().Delete(); err != nil {
@@ -620,6 +671,64 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom @@ -620,6 +671,64 @@ func (repository *CooperationContractRepository) Remove(cooperationContract *dom
620 return cooperationContract, nil 671 return cooperationContract, nil
621 } 672 }
622 673
  674 +// BatchRemove 批量删除
  675 +func (repository *CooperationContractRepository) BatchRemove(cooperationContracts []*domain.CooperationContract) ([]*domain.CooperationContract, error) {
  676 + tx := repository.transactionContext.PgTx
  677 + var cooperationContractModels []*models.CooperationContract
  678 + for _, cooperationContract := range cooperationContracts {
  679 + cooperationContractModels = append(cooperationContractModels, &models.CooperationContract{
  680 + CooperationContractId: cooperationContract.Identify().(int64),
  681 + })
  682 + }
  683 + if _, err := tx.Model(&cooperationContractModels).WherePK().Delete(); err != nil {
  684 + return cooperationContracts, err
  685 + } else {
  686 + for _, cooperationContract := range cooperationContracts {
  687 + // 获取分红激励规则列表
  688 + var dividendsIncentivesRuleModels []*models.DividendsIncentivesRule
  689 + dividendsIncentivesRuleQuery := tx.Model(&dividendsIncentivesRuleModels)
  690 + if err := dividendsIncentivesRuleQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil {
  691 + return nil, err
  692 + } else {
  693 + if _, err := tx.Model(&dividendsIncentivesRuleModels).WherePK().Delete(); err != nil {
  694 + return nil, err
  695 + }
  696 + }
  697 + // 获取金额激励规则列表
  698 + var moneyIncentivesRuleModels []*models.MoneyIncentivesRule
  699 + moneyIncentivesRuleQuery := tx.Model(&moneyIncentivesRuleModels)
  700 + if err := moneyIncentivesRuleQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil {
  701 + return nil, err
  702 + } else {
  703 + if _, err := tx.Model(&moneyIncentivesRuleModels).WherePK().Delete(); err != nil {
  704 + return nil, err
  705 + }
  706 + }
  707 + // 获取承接人列表
  708 + var cooperationContractUndertakerModels []*models.CooperationContractUndertaker
  709 + cooperationContractUndertakerQuery := tx.Model(&cooperationContractUndertakerModels)
  710 + if err := cooperationContractUndertakerQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil {
  711 + return nil, err
  712 + } else {
  713 + if _, err := tx.Model(&cooperationContractUndertakerModels).WherePK().Delete(); err != nil {
  714 + return nil, err
  715 + }
  716 + }
  717 + // 获取相关人列表
  718 + var cooperationContractRelevantModels []*models.CooperationContractRelevant
  719 + cooperationContractRelevantQuery := tx.Model(&cooperationContractRelevantModels)
  720 + if err := cooperationContractRelevantQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil {
  721 + return nil, err
  722 + } else {
  723 + if _, err := tx.Model(&cooperationContractRelevantModels).WherePK().Delete(); err != nil {
  724 + return nil, err
  725 + }
  726 + }
  727 + }
  728 + }
  729 + return cooperationContracts, nil
  730 +}
  731 +
623 func (repository *CooperationContractRepository) FindOne(queryOptions map[string]interface{}) (*domain.CooperationContract, error) { 732 func (repository *CooperationContractRepository) FindOne(queryOptions map[string]interface{}) (*domain.CooperationContract, error) {
624 tx := repository.transactionContext.PgTx 733 tx := repository.transactionContext.PgTx
625 cooperationContractModel := new(models.CooperationContract) 734 cooperationContractModel := new(models.CooperationContract)
@@ -685,10 +794,18 @@ func (repository *CooperationContractRepository) Find(queryOptions map[string]in @@ -685,10 +794,18 @@ func (repository *CooperationContractRepository) Find(queryOptions map[string]in
685 query.Where("cooperation_contract_number like ?", fmt.Sprintf("%%%s%%", cooperationContractNumber)) 794 query.Where("cooperation_contract_number like ?", fmt.Sprintf("%%%s%%", cooperationContractNumber))
686 } 795 }
687 if sponsorName, ok := queryOptions["sponsorName"]; ok && sponsorName != "" { 796 if sponsorName, ok := queryOptions["sponsorName"]; ok && sponsorName != "" {
688 - //query.Where(`cooperation_contract.cooperation_contract_sponsor->'userName' LIKE ?`, fmt.Sprintf("%%%s%%", sponsorName))  
689 query.Where(`(cooperation_contract.cooperation_contract_sponsor->>'userName')::text LIKE ?`, fmt.Sprintf("%%%s%%", sponsorName)) 797 query.Where(`(cooperation_contract.cooperation_contract_sponsor->>'userName')::text LIKE ?`, fmt.Sprintf("%%%s%%", sponsorName))
690 } 798 }
691 - query.SetOffsetAndLimit(20) 799 + if cooperationContractIds, ok := queryOptions["cooperationContractIds"]; ok && len(cooperationContractIds.([]int64)) != 0 {
  800 + query.Where("cooperation_contract_id in (?)", pg.In(cooperationContractIds))
  801 + }
  802 + offsetLimitFlag := true
  803 + if limit, ok := queryOptions["limit"]; ok {
  804 + offsetLimitFlag = limit.(bool)
  805 + }
  806 + if offsetLimitFlag {
  807 + query.SetOffsetAndLimit(20)
  808 + }
692 query.SetOrderDirect("cooperation_contract_id", "DESC") 809 query.SetOrderDirect("cooperation_contract_id", "DESC")
693 if count, err := query.SelectAndCount(); err != nil { 810 if count, err := query.SelectAndCount(); err != nil {
694 return 0, cooperationContracts, err 811 return 0, cooperationContracts, err
@@ -181,7 +181,13 @@ func (repository *CooperationContractUndertakerRepository) Find(queryOptions map @@ -181,7 +181,13 @@ func (repository *CooperationContractUndertakerRepository) Find(queryOptions map
181 var cooperationContractUndertakerModels []*models.CooperationContractUndertaker 181 var cooperationContractUndertakerModels []*models.CooperationContractUndertaker
182 cooperationContractUndertakers := make([]*domain.CooperationContractUndertaker, 0) 182 cooperationContractUndertakers := make([]*domain.CooperationContractUndertaker, 0)
183 query := sqlbuilder.BuildQuery(tx.Model(&cooperationContractUndertakerModels), queryOptions) 183 query := sqlbuilder.BuildQuery(tx.Model(&cooperationContractUndertakerModels), queryOptions)
184 - query.SetOffsetAndLimit(20) 184 + offsetLimitFlag := true
  185 + if limit, ok := queryOptions["limit"]; ok {
  186 + offsetLimitFlag = limit.(bool)
  187 + }
  188 + if offsetLimitFlag {
  189 + query.SetOffsetAndLimit(20)
  190 + }
185 query.SetOrderDirect("cooperation_contract_undertaker_id", "DESC") 191 query.SetOrderDirect("cooperation_contract_undertaker_id", "DESC")
186 if count, err := query.SelectAndCount(); err != nil { 192 if count, err := query.SelectAndCount(); err != nil {
187 return 0, cooperationContractUndertakers, err 193 return 0, cooperationContractUndertakers, err
@@ -175,32 +175,12 @@ func (repository *CooperationModeRepository) Find(queryOptions map[string]interf @@ -175,32 +175,12 @@ func (repository *CooperationModeRepository) Find(queryOptions map[string]interf
175 if organizationName, ok := queryOptions["organizationName"]; ok && organizationName != "" { 175 if organizationName, ok := queryOptions["organizationName"]; ok && organizationName != "" {
176 query.Where("org->>'orgName' like ?", fmt.Sprintf("%%%s%%", organizationName)) 176 query.Where("org->>'orgName' like ?", fmt.Sprintf("%%%s%%", organizationName))
177 } 177 }
178 - query.SetOffsetAndLimit(20)  
179 - query.SetOrderDirect("cooperation_mode_id", "DESC")  
180 - if count, err := query.SelectAndCount(); err != nil {  
181 - return 0, cooperationModes, err  
182 - } else {  
183 - for _, cooperationModeModel := range cooperationModeModels {  
184 - if cooperationMode, err := transform.TransformToCooperationModeDomainModelFromPgModels(cooperationModeModel); err != nil {  
185 - return 0, cooperationModes, err  
186 - } else {  
187 - cooperationModes = append(cooperationModes, cooperationMode)  
188 - }  
189 - }  
190 - return int64(count), cooperationModes, nil 178 + offsetLimitFlag := true
  179 + if limit, ok := queryOptions["limit"]; ok {
  180 + offsetLimitFlag = limit.(bool)
191 } 181 }
192 -}  
193 -  
194 -func (repository *CooperationModeRepository) FindAll(queryOptions map[string]interface{}) (int64, []*domain.CooperationMode, error) {  
195 - tx := repository.transactionContext.PgTx  
196 - var cooperationModeModels []*models.CooperationMode  
197 - cooperationModes := make([]*domain.CooperationMode, 0)  
198 - query := sqlbuilder.BuildQuery(tx.Model(&cooperationModeModels), queryOptions)  
199 - if cooperationModeName, ok := queryOptions["cooperationModeName"]; ok && cooperationModeName != "" {  
200 - query.Where("cooperation_mode_name like ?", fmt.Sprintf("%%%s%%", cooperationModeName))  
201 - }  
202 - if organizationName, ok := queryOptions["organizationName"]; ok && organizationName != "" {  
203 - query.Where("org->>'orgName' like ?", fmt.Sprintf("%%%s%%", organizationName)) 182 + if offsetLimitFlag {
  183 + query.SetOffsetAndLimit(20)
204 } 184 }
205 query.SetOrderDirect("cooperation_mode_id", "DESC") 185 query.SetOrderDirect("cooperation_mode_id", "DESC")
206 if count, err := query.SelectAndCount(); err != nil { 186 if count, err := query.SelectAndCount(); err != nil {
@@ -170,6 +170,9 @@ func (repository *CooperationProjectRepository) FindOne(queryOptions map[string] @@ -170,6 +170,9 @@ func (repository *CooperationProjectRepository) FindOne(queryOptions map[string]
170 tx := repository.transactionContext.PgTx 170 tx := repository.transactionContext.PgTx
171 cooperationProjectModel := new(models.CooperationProject) 171 cooperationProjectModel := new(models.CooperationProject)
172 query := sqlbuilder.BuildQuery(tx.Model(cooperationProjectModel), queryOptions) 172 query := sqlbuilder.BuildQuery(tx.Model(cooperationProjectModel), queryOptions)
  173 + if cooperationProjectNumber, ok := queryOptions["cooperationProjectNumber"]; ok && cooperationProjectNumber != "" {
  174 + query.Where("cooperation_project_number = ?", cooperationProjectNumber)
  175 + }
173 query.SetWhereByQueryOption("cooperation_project.cooperation_project_id = ?", "cooperationProjectId") 176 query.SetWhereByQueryOption("cooperation_project.cooperation_project_id = ?", "cooperationProjectId")
174 if err := query.First(); err != nil { 177 if err := query.First(); err != nil {
175 if err.Error() == "pg: no rows in result set" { 178 if err.Error() == "pg: no rows in result set" {
@@ -199,7 +202,13 @@ func (repository *CooperationProjectRepository) Find(queryOptions map[string]int @@ -199,7 +202,13 @@ func (repository *CooperationProjectRepository) Find(queryOptions map[string]int
199 if v, ok := queryOptions["status"]; ok && v.(int32) > 0 { 202 if v, ok := queryOptions["status"]; ok && v.(int32) > 0 {
200 query.Where("status =? ", v) 203 query.Where("status =? ", v)
201 } 204 }
202 - query.SetOffsetAndLimit(20) 205 + offsetLimitFlag := true
  206 + if limit, ok := queryOptions["limit"]; ok {
  207 + offsetLimitFlag = limit.(bool)
  208 + }
  209 + if offsetLimitFlag {
  210 + query.SetOffsetAndLimit(20)
  211 + }
203 query.SetOrderDirect("cooperation_project_id", "DESC") 212 query.SetOrderDirect("cooperation_project_id", "DESC")
204 if count, err := query.SelectAndCount(); err != nil { 213 if count, err := query.SelectAndCount(); err != nil {
205 return 0, cooperationProjects, err 214 return 0, cooperationProjects, err
@@ -176,7 +176,13 @@ func (repository *CreditAccountRepository) Find(queryOptions map[string]interfac @@ -176,7 +176,13 @@ func (repository *CreditAccountRepository) Find(queryOptions map[string]interfac
176 var creditAccountModels []*models.CreditAccount 176 var creditAccountModels []*models.CreditAccount
177 creditAccounts := make([]*domain.CreditAccount, 0) 177 creditAccounts := make([]*domain.CreditAccount, 0)
178 query := sqlbuilder.BuildQuery(tx.Model(&creditAccountModels), queryOptions) 178 query := sqlbuilder.BuildQuery(tx.Model(&creditAccountModels), queryOptions)
179 - query.SetOffsetAndLimit(20) 179 + offsetLimitFlag := true
  180 + if limit, ok := queryOptions["limit"]; ok {
  181 + offsetLimitFlag = limit.(bool)
  182 + }
  183 + if offsetLimitFlag {
  184 + query.SetOffsetAndLimit(20)
  185 + }
180 query.SetOrderDirect("credit_account_id", "DESC") 186 query.SetOrderDirect("credit_account_id", "DESC")
181 if count, err := query.SelectAndCount(); err != nil { 187 if count, err := query.SelectAndCount(); err != nil {
182 return 0, creditAccounts, err 188 return 0, creditAccounts, err
@@ -176,7 +176,13 @@ func (repository *DividendsEstimateRepository) Find(queryOptions map[string]inte @@ -176,7 +176,13 @@ func (repository *DividendsEstimateRepository) Find(queryOptions map[string]inte
176 var dividendsEstimateModels []*models.DividendsEstimate 176 var dividendsEstimateModels []*models.DividendsEstimate
177 dividendsEstimates := make([]*domain.DividendsEstimate, 0) 177 dividendsEstimates := make([]*domain.DividendsEstimate, 0)
178 query := sqlbuilder.BuildQuery(tx.Model(&dividendsEstimateModels), queryOptions) 178 query := sqlbuilder.BuildQuery(tx.Model(&dividendsEstimateModels), queryOptions)
179 - query.SetOffsetAndLimit(20) 179 + offsetLimitFlag := true
  180 + if limit, ok := queryOptions["limit"]; ok {
  181 + offsetLimitFlag = limit.(bool)
  182 + }
  183 + if offsetLimitFlag {
  184 + query.SetOffsetAndLimit(20)
  185 + }
180 query.SetOrderDirect("dividends_estimate_id", "DESC") 186 query.SetOrderDirect("dividends_estimate_id", "DESC")
181 if count, err := query.SelectAndCount(); err != nil { 187 if count, err := query.SelectAndCount(); err != nil {
182 return 0, dividendsEstimates, err 188 return 0, dividendsEstimates, err
@@ -34,6 +34,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul @@ -34,6 +34,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul
34 "dividends_incentives_stage", 34 "dividends_incentives_stage",
35 "dividends_incentives_stage_end", 35 "dividends_incentives_stage_end",
36 "dividends_incentives_stage_start", 36 "dividends_incentives_stage_start",
  37 + "remarks",
37 "org", 38 "org",
38 "company", 39 "company",
39 "updated_at", 40 "updated_at",
@@ -63,6 +64,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul @@ -63,6 +64,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul
63 &dividendsIncentivesRule.DividendsIncentivesStage, 64 &dividendsIncentivesRule.DividendsIncentivesStage,
64 &dividendsIncentivesRule.DividendsIncentivesStageEnd, 65 &dividendsIncentivesRule.DividendsIncentivesStageEnd,
65 &dividendsIncentivesRule.DividendsIncentivesStageStart, 66 &dividendsIncentivesRule.DividendsIncentivesStageStart,
  67 + &dividendsIncentivesRule.Remarks,
66 &dividendsIncentivesRule.Org, 68 &dividendsIncentivesRule.Org,
67 &dividendsIncentivesRule.Company, 69 &dividendsIncentivesRule.Company,
68 &dividendsIncentivesRule.UpdatedAt, 70 &dividendsIncentivesRule.UpdatedAt,
@@ -78,6 +80,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul @@ -78,6 +80,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul
78 dividendsIncentivesRule.DividendsIncentivesStage, 80 dividendsIncentivesRule.DividendsIncentivesStage,
79 dividendsIncentivesRule.DividendsIncentivesStageEnd, 81 dividendsIncentivesRule.DividendsIncentivesStageEnd,
80 dividendsIncentivesRule.DividendsIncentivesStageStart, 82 dividendsIncentivesRule.DividendsIncentivesStageStart,
  83 + dividendsIncentivesRule.Remarks,
81 dividendsIncentivesRule.Org, 84 dividendsIncentivesRule.Org,
82 dividendsIncentivesRule.Company, 85 dividendsIncentivesRule.Company,
83 dividendsIncentivesRule.UpdatedAt, 86 dividendsIncentivesRule.UpdatedAt,
@@ -97,6 +100,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul @@ -97,6 +100,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul
97 &dividendsIncentivesRule.DividendsIncentivesStage, 100 &dividendsIncentivesRule.DividendsIncentivesStage,
98 &dividendsIncentivesRule.DividendsIncentivesStageEnd, 101 &dividendsIncentivesRule.DividendsIncentivesStageEnd,
99 &dividendsIncentivesRule.DividendsIncentivesStageStart, 102 &dividendsIncentivesRule.DividendsIncentivesStageStart,
  103 + &dividendsIncentivesRule.Remarks,
100 &dividendsIncentivesRule.Org, 104 &dividendsIncentivesRule.Org,
101 &dividendsIncentivesRule.Company, 105 &dividendsIncentivesRule.Company,
102 &dividendsIncentivesRule.UpdatedAt, 106 &dividendsIncentivesRule.UpdatedAt,
@@ -112,6 +116,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul @@ -112,6 +116,7 @@ func (repository *DividendsIncentivesRuleRepository) Save(dividendsIncentivesRul
112 dividendsIncentivesRule.DividendsIncentivesStage, 116 dividendsIncentivesRule.DividendsIncentivesStage,
113 dividendsIncentivesRule.DividendsIncentivesStageEnd, 117 dividendsIncentivesRule.DividendsIncentivesStageEnd,
114 dividendsIncentivesRule.DividendsIncentivesStageStart, 118 dividendsIncentivesRule.DividendsIncentivesStageStart,
  119 + dividendsIncentivesRule.Remarks,
115 dividendsIncentivesRule.Org, 120 dividendsIncentivesRule.Org,
116 dividendsIncentivesRule.Company, 121 dividendsIncentivesRule.Company,
117 dividendsIncentivesRule.UpdatedAt, 122 dividendsIncentivesRule.UpdatedAt,
@@ -156,7 +161,13 @@ func (repository *DividendsIncentivesRuleRepository) Find(queryOptions map[strin @@ -156,7 +161,13 @@ func (repository *DividendsIncentivesRuleRepository) Find(queryOptions map[strin
156 var dividendsIncentivesRuleModels []*models.DividendsIncentivesRule 161 var dividendsIncentivesRuleModels []*models.DividendsIncentivesRule
157 dividendsIncentivesRules := make([]*domain.DividendsIncentivesRule, 0) 162 dividendsIncentivesRules := make([]*domain.DividendsIncentivesRule, 0)
158 query := sqlbuilder.BuildQuery(tx.Model(&dividendsIncentivesRuleModels), queryOptions) 163 query := sqlbuilder.BuildQuery(tx.Model(&dividendsIncentivesRuleModels), queryOptions)
159 - query.SetOffsetAndLimit(20) 164 + offsetLimitFlag := true
  165 + if limit, ok := queryOptions["limit"]; ok {
  166 + offsetLimitFlag = limit.(bool)
  167 + }
  168 + if offsetLimitFlag {
  169 + query.SetOffsetAndLimit(20)
  170 + }
160 query.SetOrderDirect("dividends_incentives_rule_id", "DESC") 171 query.SetOrderDirect("dividends_incentives_rule_id", "DESC")
161 if count, err := query.SelectAndCount(); err != nil { 172 if count, err := query.SelectAndCount(); err != nil {
162 return 0, dividendsIncentivesRules, err 173 return 0, dividendsIncentivesRules, err
@@ -299,7 +299,13 @@ func (repository *DividendsOrderRepository) Find(queryOptions map[string]interfa @@ -299,7 +299,13 @@ func (repository *DividendsOrderRepository) Find(queryOptions map[string]interfa
299 var dividendsOrderModels []*models.DividendsOrder 299 var dividendsOrderModels []*models.DividendsOrder
300 dividendsOrders := make([]*domain.DividendsOrder, 0) 300 dividendsOrders := make([]*domain.DividendsOrder, 0)
301 query := sqlbuilder.BuildQuery(tx.Model(&dividendsOrderModels), queryOptions) 301 query := sqlbuilder.BuildQuery(tx.Model(&dividendsOrderModels), queryOptions)
302 - query.SetOffsetAndLimit(20) 302 + offsetLimitFlag := true
  303 + if limit, ok := queryOptions["limit"]; ok {
  304 + offsetLimitFlag = limit.(bool)
  305 + }
  306 + if offsetLimitFlag {
  307 + query.SetOffsetAndLimit(20)
  308 + }
303 query.SetOrderDirect("dividends_order_id", "DESC") 309 query.SetOrderDirect("dividends_order_id", "DESC")
304 if count, err := query.SelectAndCount(); err != nil { 310 if count, err := query.SelectAndCount(); err != nil {
305 return 0, dividendsOrders, err 311 return 0, dividendsOrders, err
@@ -306,7 +306,13 @@ func (repository *DividendsReturnedOrderRepository) Find(queryOptions map[string @@ -306,7 +306,13 @@ func (repository *DividendsReturnedOrderRepository) Find(queryOptions map[string
306 var dividendsReturnedOrderModels []*models.DividendsReturnedOrder 306 var dividendsReturnedOrderModels []*models.DividendsReturnedOrder
307 dividendsReturnedOrders := make([]*domain.DividendsReturnedOrder, 0) 307 dividendsReturnedOrders := make([]*domain.DividendsReturnedOrder, 0)
308 query := sqlbuilder.BuildQuery(tx.Model(&dividendsReturnedOrderModels), queryOptions) 308 query := sqlbuilder.BuildQuery(tx.Model(&dividendsReturnedOrderModels), queryOptions)
309 - query.SetOffsetAndLimit(20) 309 + offsetLimitFlag := true
  310 + if limit, ok := queryOptions["limit"]; ok {
  311 + offsetLimitFlag = limit.(bool)
  312 + }
  313 + if offsetLimitFlag {
  314 + query.SetOffsetAndLimit(20)
  315 + }
310 query.SetOrderDirect("dividends_returned_order_id", "DESC") 316 query.SetOrderDirect("dividends_returned_order_id", "DESC")
311 if count, err := query.SelectAndCount(); err != nil { 317 if count, err := query.SelectAndCount(); err != nil {
312 return 0, dividendsReturnedOrders, err 318 return 0, dividendsReturnedOrders, err
@@ -161,7 +161,13 @@ func (repository *MoneyIncentivesRuleRepository) Find(queryOptions map[string]in @@ -161,7 +161,13 @@ func (repository *MoneyIncentivesRuleRepository) Find(queryOptions map[string]in
161 var moneyIncentivesRuleModels []*models.MoneyIncentivesRule 161 var moneyIncentivesRuleModels []*models.MoneyIncentivesRule
162 moneyIncentivesRules := make([]*domain.MoneyIncentivesRule, 0) 162 moneyIncentivesRules := make([]*domain.MoneyIncentivesRule, 0)
163 query := sqlbuilder.BuildQuery(tx.Model(&moneyIncentivesRuleModels), queryOptions) 163 query := sqlbuilder.BuildQuery(tx.Model(&moneyIncentivesRuleModels), queryOptions)
164 - query.SetOffsetAndLimit(20) 164 + offsetLimitFlag := true
  165 + if limit, ok := queryOptions["limit"]; ok {
  166 + offsetLimitFlag = limit.(bool)
  167 + }
  168 + if offsetLimitFlag {
  169 + query.SetOffsetAndLimit(20)
  170 + }
165 query.SetOrderDirect("money_incentives_rule_id", "DESC") 171 query.SetOrderDirect("money_incentives_rule_id", "DESC")
166 if count, err := query.SelectAndCount(); err != nil { 172 if count, err := query.SelectAndCount(); err != nil {
167 return 0, moneyIncentivesRules, err 173 return 0, moneyIncentivesRules, err
@@ -156,7 +156,13 @@ func (repository *OrderGoodRepository) Find(queryOptions map[string]interface{}) @@ -156,7 +156,13 @@ func (repository *OrderGoodRepository) Find(queryOptions map[string]interface{})
156 var orderGoodModels []*models.OrderGood 156 var orderGoodModels []*models.OrderGood
157 orderGoods := make([]*domain.OrderGood, 0) 157 orderGoods := make([]*domain.OrderGood, 0)
158 query := sqlbuilder.BuildQuery(tx.Model(&orderGoodModels), queryOptions) 158 query := sqlbuilder.BuildQuery(tx.Model(&orderGoodModels), queryOptions)
159 - query.SetOffsetAndLimit(20) 159 + offsetLimitFlag := true
  160 + if limit, ok := queryOptions["limit"]; ok {
  161 + offsetLimitFlag = limit.(bool)
  162 + }
  163 + if offsetLimitFlag {
  164 + query.SetOffsetAndLimit(20)
  165 + }
160 query.SetOrderDirect("order_good_id", "DESC") 166 query.SetOrderDirect("order_good_id", "DESC")
161 if count, err := query.SelectAndCount(); err != nil { 167 if count, err := query.SelectAndCount(); err != nil {
162 return 0, orderGoods, err 168 return 0, orderGoods, err
@@ -25,14 +25,27 @@ func (controller *CooperationApplicationController) ApplyForCooperation() { @@ -25,14 +25,27 @@ func (controller *CooperationApplicationController) ApplyForCooperation() {
25 25
26 func (controller *CooperationApplicationController) ApprovalCooperationApplication() { 26 func (controller *CooperationApplicationController) ApprovalCooperationApplication() {
27 cooperationApplicationService := service.NewCooperationApplicationService(nil) 27 cooperationApplicationService := service.NewCooperationApplicationService(nil)
28 - agreeCooperationApplicationCommand := &command.ApprovalCooperationApplicationCommand{}  
29 - _ = controller.Unmarshal(agreeCooperationApplicationCommand) 28 + approvalCooperationApplicationCommand := &command.ApprovalCooperationApplicationCommand{}
  29 + _ = controller.Unmarshal(approvalCooperationApplicationCommand)
30 header := controller.GetRequestHeader(controller.Ctx) 30 header := controller.GetRequestHeader(controller.Ctx)
31 - agreeCooperationApplicationCommand.CompanyId = header.CompanyId  
32 - agreeCooperationApplicationCommand.OrgId = header.OrgId  
33 - agreeCooperationApplicationCommand.UserId = header.UserId  
34 - agreeCooperationApplicationCommand.UserBaseId = header.UserBaseId  
35 - data, err := cooperationApplicationService.ApprovalCooperationApplication(agreeCooperationApplicationCommand) 31 + approvalCooperationApplicationCommand.CompanyId = header.CompanyId
  32 + approvalCooperationApplicationCommand.OrgId = header.OrgId
  33 + approvalCooperationApplicationCommand.UserId = header.UserId
  34 + approvalCooperationApplicationCommand.UserBaseId = header.UserBaseId
  35 + data, err := cooperationApplicationService.ApprovalCooperationApplication(approvalCooperationApplicationCommand)
  36 + controller.Response(data, err)
  37 +}
  38 +
  39 +func (controller *CooperationApplicationController) CancelCooperationApplication() {
  40 + cooperationApplicationService := service.NewCooperationApplicationService(nil)
  41 + cancelCooperationApplicationCommand := &command.CancelCooperationApplicationCommand{}
  42 + _ = controller.Unmarshal(cancelCooperationApplicationCommand)
  43 + header := controller.GetRequestHeader(controller.Ctx)
  44 + cancelCooperationApplicationCommand.CompanyId = header.CompanyId
  45 + cancelCooperationApplicationCommand.OrgId = header.OrgId
  46 + cancelCooperationApplicationCommand.UserId = header.UserId
  47 + cancelCooperationApplicationCommand.UserBaseId = header.UserBaseId
  48 + data, err := cooperationApplicationService.CancelCooperationApplication(cancelCooperationApplicationCommand)
36 controller.Response(data, err) 49 controller.Response(data, err)
37 } 50 }
38 51
@@ -67,6 +67,45 @@ func (controller *CooperationContractController) RemoveCooperationContract() { @@ -67,6 +67,45 @@ func (controller *CooperationContractController) RemoveCooperationContract() {
67 controller.Response(data, err) 67 controller.Response(data, err)
68 } 68 }
69 69
  70 +func (controller *CooperationContractController) BatchRemoveCooperationContract() {
  71 + cooperationContractService := service.NewCooperationContractService(nil)
  72 + batchRemoveCooperationContractCommand := &command.BatchRemoveCooperationContractCommand{}
  73 + _ = controller.Unmarshal(batchRemoveCooperationContractCommand)
  74 + header := controller.GetRequestHeader(controller.Ctx)
  75 + batchRemoveCooperationContractCommand.CompanyId = header.CompanyId
  76 + batchRemoveCooperationContractCommand.OrgId = header.OrgId
  77 + batchRemoveCooperationContractCommand.UserId = header.UserId
  78 + batchRemoveCooperationContractCommand.UserBaseId = header.UserBaseId
  79 + data, err := cooperationContractService.BatchRemoveCooperationContract(batchRemoveCooperationContractCommand)
  80 + controller.Response(data, err)
  81 +}
  82 +
  83 +func (controller *CooperationContractController) OperateCooperationContract() {
  84 + cooperationContractService := service.NewCooperationContractService(nil)
  85 + opreateCooperationContractCommand := &command.OperateCooperationContractCommand{}
  86 + _ = controller.Unmarshal(opreateCooperationContractCommand)
  87 + header := controller.GetRequestHeader(controller.Ctx)
  88 + opreateCooperationContractCommand.CompanyId = header.CompanyId
  89 + opreateCooperationContractCommand.OrgId = header.OrgId
  90 + opreateCooperationContractCommand.UserId = header.UserId
  91 + opreateCooperationContractCommand.UserBaseId = header.UserBaseId
  92 + data, err := cooperationContractService.OperateCooperationContract(opreateCooperationContractCommand)
  93 + controller.Response(data, err)
  94 +}
  95 +
  96 +func (controller *CooperationContractController) BatchOperateCooperationContract() {
  97 + cooperationContractService := service.NewCooperationContractService(nil)
  98 + batchOperateCooperationContractCommand := &command.BatchOperateCooperationContractCommand{}
  99 + _ = controller.Unmarshal(batchOperateCooperationContractCommand)
  100 + header := controller.GetRequestHeader(controller.Ctx)
  101 + batchOperateCooperationContractCommand.CompanyId = header.CompanyId
  102 + batchOperateCooperationContractCommand.OrgId = header.OrgId
  103 + batchOperateCooperationContractCommand.UserId = header.UserId
  104 + batchOperateCooperationContractCommand.UserBaseId = header.UserBaseId
  105 + data, err := cooperationContractService.BatchOperateCooperationContract(batchOperateCooperationContractCommand)
  106 + controller.Response(data, err)
  107 +}
  108 +
70 func (controller *CooperationContractController) SearchCooperationContract() { 109 func (controller *CooperationContractController) SearchCooperationContract() {
71 cooperationContractService := service.NewCooperationContractService(nil) 110 cooperationContractService := service.NewCooperationContractService(nil)
72 searchCooperationContractQuery := &query.SearchCooperationContractQuery{} 111 searchCooperationContractQuery := &query.SearchCooperationContractQuery{}
@@ -6,7 +6,8 @@ import ( @@ -6,7 +6,8 @@ import (
6 ) 6 )
7 7
8 func init() { 8 func init() {
9 - web.Router("/cooperation-applications/apply-for-cooperation", &controllers.CooperationApplicationController{}, "Post:ApplyForCooperation") // 申请共创 9 + web.Router("/cooperation-applications/apply-for-cooperation", &controllers.CooperationApplicationController{}, "Post:ApplyForCooperation") // 申请共创
  10 + web.Router("/cooperation-applications/cancel-application", &controllers.CooperationApplicationController{}, "Post:CancelCooperationApplication")
10 web.Router("/cooperation-applications/agree-cooperation-application", &controllers.CooperationApplicationController{}, "Post:ApprovalCooperationApplication") // 同意共创申请 11 web.Router("/cooperation-applications/agree-cooperation-application", &controllers.CooperationApplicationController{}, "Post:ApprovalCooperationApplication") // 同意共创申请
11 web.Router("/cooperation-applications/batch-approval", &controllers.CooperationContractController{}, "Post:BatchApprovalCooperationApplication") // 一键审核 12 web.Router("/cooperation-applications/batch-approval", &controllers.CooperationContractController{}, "Post:BatchApprovalCooperationApplication") // 一键审核
12 web.Router("/cooperation-applications/", &controllers.CooperationApplicationController{}, "Post:CreateCooperationApplication") // 新增共创申请 13 web.Router("/cooperation-applications/", &controllers.CooperationApplicationController{}, "Post:CreateCooperationApplication") // 新增共创申请
@@ -6,11 +6,14 @@ import ( @@ -6,11 +6,14 @@ import (
6 ) 6 )
7 7
8 func init() { 8 func init() {
9 - web.Router("/cooperation-contracts/", &controllers.CooperationContractController{}, "Post:CreateCooperationContract")  
10 - web.Router("/cooperation-contracts/:cooperationContractId", &controllers.CooperationContractController{}, "Put:UpdateCooperationContract")  
11 - web.Router("/cooperation-contracts/:cooperationContractId", &controllers.CooperationContractController{}, "Get:GetCooperationContract")  
12 - web.Router("/cooperation-contracts/:cooperationContractId", &controllers.CooperationContractController{}, "Delete:RemoveCooperationContract")  
13 - web.Router("/cooperation-contracts/search", &controllers.CooperationContractController{}, "Post:SearchCooperationContract")  
14 - web.Router("/cooperation-contracts/search-by-undertaker", &controllers.CooperationContractController{}, "Post:SearchCooperationContractByUndertaker")  
15 - web.Router("/cooperation-contracts/", &controllers.CooperationContractController{}, "Get:ListCooperationContract") 9 + web.Router("/cooperation-contracts/", &controllers.CooperationContractController{}, "Post:CreateCooperationContract") // 新增共创合约
  10 + web.Router("/cooperation-contracts/:cooperationContractId", &controllers.CooperationContractController{}, "Put:UpdateCooperationContract") // 编辑共创合约
  11 + web.Router("/cooperation-contracts/:cooperationContractId", &controllers.CooperationContractController{}, "Get:GetCooperationContract") // 返回共创合约详情
  12 + web.Router("/cooperation-contracts/:cooperationContractId", &controllers.CooperationContractController{}, "Delete:RemoveCooperationContract") // 移除共创合约
  13 + web.Router("/cooperation-contracts/batch-remove", &controllers.CooperationContractController{}, "Post:BatchRemoveCooperationContract") // 批量移除共创合约
  14 + web.Router("/cooperation-contracts/operate", &controllers.CooperationContractController{}, "Post:OperateCooperationContract") // 暂停或恢复共创合约
  15 + web.Router("/cooperation-contracts/batch-operate", &controllers.CooperationContractController{}, "Post:BatchOperateCooperationContract") // 批量暂停或恢复共创合约
  16 + web.Router("/cooperation-contracts/search", &controllers.CooperationContractController{}, "Post:SearchCooperationContract") // 查询共创合约
  17 + web.Router("/cooperation-contracts/search-by-undertaker", &controllers.CooperationContractController{}, "Post:SearchCooperationContractByUndertaker") // 通过承接人查询共创合约
  18 + web.Router("/cooperation-contracts/", &controllers.CooperationContractController{}, "Get:ListCooperationContract") // 返回共创合约列表
16 } 19 }