Bladeren bron

phoneBindKey

胡轶钦 6 jaren geleden
bovenliggende
commit
0660676153

+ 10
- 0
controllers/cases/key.go Bestand weergeven

@@ -59,6 +59,16 @@ func (c *CaseController) LockKey() {
59 59
 	}
60 60
 	c.ResponseJSON("绑定成功!")
61 61
 
62
+}
63
+func (c *CaseController) LockKeyByPhone() {
64
+	phone := c.GetString(":phone")
65
+	keyId := c.GetString(":keyid")
66
+	err := c.dao.LockKeyByPhone(phone, keyId)
67
+	if err != nil {
68
+		c.ResponseError(err)
69
+	}
70
+	c.ResponseJSON("绑定成功!")
71
+
62 72
 }
63 73
 
64 74
 // DelKey 删除

+ 28
- 1
models/cases/key.go Bestand weergeven

@@ -109,12 +109,25 @@ func (m *CaseDAO) DelKey(keyid string) error {
109 109
 
110 110
 // UnLockKey 解绑钥匙信息
111 111
 func (m *CaseDAO) UnLockKey(keyid string) error {
112
-	sql := `update ta_case_key_use set status=` + strconv.Itoa(STATUS_UNLOCK) + `, return_date =NOW() where key_id= '` + keyid + `'`
112
+	sql := `update ta_case_key_use set status=` + strconv.Itoa(STATUS_UNLOCK) + `, return_date = NOW() where key_id= '` + keyid + `'`
113 113
 	beego.Error(sql)
114 114
 	_, err := m.db.Exec(sql)
115 115
 	return err
116 116
 }
117 117
 
118
+// UpdateKeyState 更新钥匙状态
119
+func (m *CaseDAO) UpdateKeyState(keyid string, status int) error {
120
+	var key = model.TaCaseKey{
121
+		KeyId:  keyid,
122
+		Status: status,
123
+	}
124
+	var cols = []string{
125
+		"status",
126
+	}
127
+	_, err := m.db.Cols(cols...).Where("key_id = ?", keyid).Update(key)
128
+	return err
129
+}
130
+
118 131
 // BindKeyToUser 绑定钥匙信息
119 132
 func (m *CaseDAO) BindKeyToUser(keyid, customerId, customerName string) error {
120 133
 	var bindKey = model.TaCaseKeyUse{}
@@ -147,3 +160,17 @@ func (m *CaseDAO) GetKeyByNum(caseid string, beginnum, endnum int) ([]model.TaCa
147 160
 	err := m.db.Sql(sql).Find(&keys)
148 161
 	return keys, err
149 162
 }
163
+func (m *CaseDAO) CustomerIsBind(customerid string) (int, error) {
164
+	var count []model.TaCaseKey
165
+	sql := `SELECT
166
+	a.*,
167
+	b.return_date
168
+FROM
169
+	ta_case_key a
170
+	INNER JOIN ta_case_key_use b ON a.key_id = b.key_id 
171
+WHERE
172
+	b.customer_id =?
173
+	and b.return_date is null`
174
+	err := m.db.Sql(sql, customerid).Find(&count)
175
+	return len(count), err
176
+}

+ 1
- 1
models/marketing/marketing.go Bestand weergeven

@@ -1,7 +1,7 @@
1 1
 package marketing
2 2
 
3 3
 import (
4
-	"jcjy/demo/models"
4
+	"spaceofcheng/services/models"
5 5
 	"spaceofcheng/services/models/model"
6 6
 	"spaceofcheng/services/utils"
7 7
 	"strconv"

+ 4
- 2
models/verify/verify.go Bestand weergeven

@@ -50,7 +50,8 @@ func (m *VerifyDAO) GetCustomerCourseList(customerCourseId, caseids string, page
50 50
 	a.*,
51 51
 	d.case_name,
52 52
 	c.detail_name,
53
-	f.location_name
53
+	f.location_name,
54
+	b.customer_id
54 55
 	FROM
55 56
 	ta_customer_course_detail a
56 57
 	INNER JOIN ta_customer_course b ON a.customer_course_id = b.customer_course_id
@@ -102,7 +103,8 @@ func (m *VerifyDAO) GetCustomerCourseListByTel(tel, caseids string, page, pageSi
102 103
 	a.*,
103 104
 	d.case_name,
104 105
 	c.detail_name,
105
-	f.location_name
106
+	f.location_name,
107
+	b.customer_id
106 108
 	FROM
107 109
 	ta_customer_course_detail a
108 110
 	INNER JOIN ta_customer_course b ON a.customer_course_id = b.customer_course_id

+ 1
- 0
routers/common.go Bestand weergeven

@@ -137,6 +137,7 @@ func getCommonRoutes() beego.LinkNamespace {
137 137
 
138 138
 		// casekey 案场钥匙
139 139
 		beego.NSRouter("/case/key", &cases.CaseController{}, "get:GetKeyList"),
140
+		beego.NSRouter("/case/key/:phone/:keyid", &cases.CaseController{}, "get:GetKeyList"),
140 141
 		beego.NSRouter("/case/key", &cases.CaseController{}, "post:AddKeys"),
141 142
 		beego.NSRouter("/case/key/:keyid/:customerid/:customername", &cases.CaseController{}, "post:LockKey"),
142 143
 		beego.NSRouter("/case/unlock/:keyid", &cases.CaseController{}, "put:UnLockKey"),

+ 9
- 6
service/cases/cases.go Bestand weergeven

@@ -4,6 +4,7 @@ import (
4 4
 	"errors"
5 5
 	"spaceofcheng/services/models"
6 6
 	"spaceofcheng/services/models/cases"
7
+	"spaceofcheng/services/models/customer"
7 8
 	"spaceofcheng/services/models/model"
8 9
 	"spaceofcheng/services/models/system"
9 10
 	"spaceofcheng/services/service"
@@ -12,17 +13,19 @@ import (
12 13
 
13 14
 // CaseServ 系统处理
14 15
 type CaseServ struct {
15
-	ctx     *utils.Context
16
-	dao     *cases.CaseDAO
17
-	userdao *system.UserDAO
16
+	ctx         *utils.Context
17
+	dao         *cases.CaseDAO
18
+	userdao     *system.UserDAO
19
+	customerdao *customer.CustomerDAO
18 20
 }
19 21
 
20 22
 // NewCaseServ 初始化
21 23
 func NewCaseServ(ctx *utils.Context) *CaseServ {
22 24
 	return &CaseServ{
23
-		ctx:     ctx,
24
-		dao:     cases.NewCaseDAO(ctx),
25
-		userdao: system.NewUserDAO(ctx),
25
+		ctx:         ctx,
26
+		dao:         cases.NewCaseDAO(ctx),
27
+		userdao:     system.NewUserDAO(ctx),
28
+		customerdao: customer.NewCustomerDAO(ctx),
26 29
 	}
27 30
 }
28 31
 

+ 51
- 1
service/cases/key.go Bestand weergeven

@@ -81,6 +81,36 @@ func (s *CaseServ) AddKeys(orgid, caseid string, beginnum, endnum int) error {
81 81
 	return nil
82 82
 }
83 83
 
84
+// LockKeyByPhone 根据手机号绑定钥匙
85
+func (s *CaseServ) LockKeyByPhone(phone, keyId string) error {
86
+	var count int = 0
87
+	customer, err := s.customerdao.GetCustomerByPhone(phone)
88
+	if err != nil {
89
+		utils.LogError("根据手机号绑定钥匙失败: " + err.Error())
90
+		return errors.New("根据手机号绑定钥匙失败")
91
+	}
92
+	count, err = s.dao.CustomerIsBind(customer.CustomerId)
93
+	if err != nil {
94
+		utils.LogError("绑定钥匙失败: " + err.Error())
95
+		return errors.New("绑定钥匙失败")
96
+	}
97
+	if count > 0 {
98
+		return errors.New("用户已绑定钥匙,不可重复绑定")
99
+	}
100
+	err = s.dao.BindKeyToUser(keyId, customer.CustomerId, customer.CustomerName)
101
+	if err != nil {
102
+		utils.LogError("根据手机号绑定钥匙失败: " + err.Error())
103
+		return errors.New("根据手机号绑定钥匙失败")
104
+	}
105
+	err = s.dao.UpdateKeyState(keyId, 1)
106
+	if err != nil {
107
+		utils.LogError("根据手机号绑定钥匙失败: " + err.Error())
108
+		return errors.New("根据手机号绑定钥匙失败")
109
+	}
110
+	return nil
111
+
112
+}
113
+
84 114
 // UnLockKey 解锁
85 115
 func (s *CaseServ) UnLockKey(keyid string) error {
86 116
 	err := s.dao.UnLockKey(keyid)
@@ -88,10 +118,30 @@ func (s *CaseServ) UnLockKey(keyid string) error {
88 118
 		utils.LogError("解锁钥匙失败: " + err.Error())
89 119
 		return errors.New("解锁钥匙失败")
90 120
 	}
121
+	err = s.dao.UpdateKeyState(keyid, 0)
122
+	if err != nil {
123
+		utils.LogError("解锁钥匙失败: " + err.Error())
124
+		return errors.New("解锁钥匙失败")
125
+	}
91 126
 	return nil
92 127
 }
128
+
129
+// LockKey 绑定钥匙
93 130
 func (s *CaseServ) LockKey(keyId, customerId, customerName string) error {
94
-	err := s.dao.BindKeyToUser(keyId, customerId, customerName)
131
+	count, err := s.dao.CustomerIsBind(customerId)
132
+	if err != nil {
133
+		utils.LogError("绑定钥匙失败: " + err.Error())
134
+		return errors.New("绑定钥匙失败")
135
+	}
136
+	if count > 0 {
137
+		return errors.New("用户已绑定钥匙,不可重复绑定")
138
+	}
139
+	err = s.dao.BindKeyToUser(keyId, customerId, customerName)
140
+	if err != nil {
141
+		utils.LogError("绑定钥匙失败: " + err.Error())
142
+		return errors.New("绑定钥匙失败")
143
+	}
144
+	err = s.dao.UpdateKeyState(keyId, 1)
95 145
 	if err != nil {
96 146
 		utils.LogError("绑定钥匙失败: " + err.Error())
97 147
 		return errors.New("绑定钥匙失败")

+ 1
- 1
service/marketing/marketing.go Bestand weergeven

@@ -1,7 +1,7 @@
1 1
 package marketing
2 2
 
3 3
 import (
4
-	"jcjy/demo/models"
4
+	"spaceofcheng/services/models"
5 5
 	"spaceofcheng/services/models/marketing"
6 6
 	"spaceofcheng/services/models/model"
7 7
 	"spaceofcheng/services/models/system"

+ 0
- 5
service/message/image.go Bestand weergeven

@@ -71,12 +71,7 @@ func (s *MessageServ) SaveImg(imginfo model.TaCmsImages) (*model.TaCmsImages, er
71 71
 	if imginfo.ForwardType == ForwardTypeUrl && imginfo.ForwardUrl == "" {
72 72
 		return nil, errors.New("跳转地址不允许为空!")
73 73
 	}
74
-<<<<<<< HEAD
75 74
 	if imginfo.ForwardType == ForwardTypeCourse && imginfo.CaseId == "" {
76
-=======
77
-
78
-	if imginfo.ForwardType == ForwardTypeCourse && imginfo.ForwardResourceId == "" {
79
->>>>>>> e764b3b931d583be9d2c311ab12132dd234f3ae0
80 75
 		return nil, errors.New("跳转资源不允许为空!")
81 76
 	}
82 77
 

+ 0
- 4
service/verify/verify.go Bestand weergeven

@@ -78,11 +78,7 @@ func (s *VerifyServ) GetCustomerCourseDetailByTel(tel, caseids string, page, pag
78 78
 		return nil, errors.New("获取课程列表失败")
79 79
 	}
80 80
 	if len(customerDetail) == 0 {
81
-<<<<<<< HEAD
82 81
 		return nil, errors.New("今日无可核销课程")
83
-=======
84
-		return nil, nil
85
->>>>>>> e764b3b931d583be9d2c311ab12132dd234f3ae0
86 82
 	}
87 83
 	customerID := customerDetail[0].CustomerId
88 84
 	total, err := s.dao.GetCustomerCourseListByTelCount(tel, caseids)