|
@@ -1,6 +1,8 @@
|
1
|
1
|
package vipcard
|
2
|
2
|
|
3
|
3
|
import (
|
|
4
|
+ "spaceofcheng/services/models"
|
|
5
|
+ "spaceofcheng/services/models/customer"
|
4
|
6
|
"spaceofcheng/services/models/model"
|
5
|
7
|
"spaceofcheng/services/models/vipcard"
|
6
|
8
|
"spaceofcheng/services/service"
|
|
@@ -11,18 +13,21 @@ import (
|
11
|
13
|
|
12
|
14
|
// CaseServ 系统处理
|
13
|
15
|
type VipcardServ struct {
|
14
|
|
- ctx *utils.Context
|
15
|
|
- dao *vipcard.VipcardDAO
|
|
16
|
+ ctx *utils.Context
|
|
17
|
+ dao *vipcard.VipcardDAO
|
|
18
|
+ cdao *customer.CustomerDAO
|
16
|
19
|
}
|
17
|
20
|
|
18
|
21
|
// NewVipcardServ 初始化
|
19
|
22
|
func NewVipcardServ(ctx *utils.Context) *VipcardServ {
|
20
|
23
|
return &VipcardServ{
|
21
|
|
- ctx: ctx,
|
22
|
|
- dao: vipcard.NewVipcardDAO(ctx),
|
|
24
|
+ ctx: ctx,
|
|
25
|
+ dao: vipcard.NewVipcardDAO(ctx),
|
|
26
|
+ cdao: customer.NewCustomerDAO(ctx),
|
23
|
27
|
}
|
24
|
28
|
}
|
25
|
29
|
|
|
30
|
+// GetVipChild 获取VIP卡列表
|
26
|
31
|
func (s *VipcardServ) GetVipChild(caseid string, page, pageSize int) (map[string]interface{}, error) {
|
27
|
32
|
if pageSize == 0 {
|
28
|
33
|
pageSize = service.PAGENUM
|
|
@@ -48,17 +53,20 @@ func (s *VipcardServ) GetVipChild(caseid string, page, pageSize int) (map[string
|
48
|
53
|
}, err
|
49
|
54
|
}
|
50
|
55
|
|
|
56
|
+// 根据code获取vip子卡
|
51
|
57
|
func (s *VipcardServ) GetVipChildByCode(vipChildId string) (*model.TaVipCardChild, error) {
|
52
|
58
|
vipCardChild, err := s.dao.GetVipChildByCode(vipChildId)
|
53
|
59
|
return vipCardChild, err
|
54
|
60
|
}
|
55
|
61
|
|
56
|
|
-func (s *VipcardServ) UpdateVipChild(vipChild model.TaVipCardChild) (*model.TaVipCardChild, error) {
|
|
62
|
+// UpdateVipChild 更新子卡
|
|
63
|
+func (s *VipcardServ) UpdateVipChild(vipChild *model.TaVipCardChild) (*model.TaVipCardChild, error) {
|
57
|
64
|
var err error
|
58
|
65
|
err = s.dao.UpdateVipChild(vipChild)
|
59
|
66
|
return &vipChild, err
|
60
|
67
|
}
|
61
|
68
|
|
|
69
|
+// AddVipCard 新建VIP卡
|
62
|
70
|
func (s *VipcardServ) AddVipCard(vipCard model.TaVipCard) (*model.TaVipCard, error) {
|
63
|
71
|
vipcard, err := s.dao.AddVipCard(vipCard)
|
64
|
72
|
if err != nil {
|
|
@@ -70,10 +78,46 @@ func (s *VipcardServ) AddVipCard(vipCard model.TaVipCard) (*model.TaVipCard, err
|
70
|
78
|
vipChild.VipCardChildCode = s.dao.GenerateChildCode()
|
71
|
79
|
_, err := s.dao.AddVipChildCard(vipChild)
|
72
|
80
|
if err != nil {
|
73
|
|
- break
|
74
|
81
|
return nil, err
|
75
|
82
|
}
|
76
|
83
|
|
77
|
84
|
}
|
78
|
85
|
return nil, nil
|
79
|
86
|
}
|
|
87
|
+
|
|
88
|
+func (s *VipcardServ) FindCustomerByTel(tel string) (*model.TaCustomer, error) {
|
|
89
|
+ customer, err := s.cdao.GetCustomerByPhone(tel)
|
|
90
|
+ if err != nil {
|
|
91
|
+ return nil, err
|
|
92
|
+ }
|
|
93
|
+ return customer, err
|
|
94
|
+}
|
|
95
|
+
|
|
96
|
+// CustomerCharge 给用户充值
|
|
97
|
+func (s *VipcardServ) CustomerCharge(vipchild model.TaVipCardChild, createUser model.SysUser) error {
|
|
98
|
+ customer, err := s.cdao.GetCustomerByPhone(vipchild.CustomerTel)
|
|
99
|
+ if err != nil {
|
|
100
|
+ return err
|
|
101
|
+ }
|
|
102
|
+ customerId := customer.CustomerId
|
|
103
|
+ account, err := s.cdao.GetAccountByCust(customerId)
|
|
104
|
+ if err != nil {
|
|
105
|
+ return err
|
|
106
|
+ }
|
|
107
|
+ vipcard, err := s.dao.GetVipCardById(vipchild.VipCardId)
|
|
108
|
+ if err != nil {
|
|
109
|
+ return err
|
|
110
|
+ }
|
|
111
|
+ var record model.TaAccountChange
|
|
112
|
+ record.CustomerId = customerId
|
|
113
|
+ record.Amount = vipcard.CardAmount
|
|
114
|
+ record.CaseId = vipcard.CaseId
|
|
115
|
+ record.CustomerName = customer.CustomerName
|
|
116
|
+ record.ChangeType = models.CONSUME_MONEYCHG
|
|
117
|
+ record.ChangeSource = models.ACCSOURCE_RECHARGE
|
|
118
|
+ record.CreateUser = createUser.UserId
|
|
119
|
+ record.FloatType = models.ACCOUNT_INCOME
|
|
120
|
+ record.AccountId = account.AccountId
|
|
121
|
+ return s.cdao.InsertAccountRecords(&record)
|
|
122
|
+
|
|
123
|
+}
|