Browse Source

bug修改

wangfei 6 years ago
parent
commit
9dc1726096

+ 10
- 0
controllers/cases/key.go View File

59
 	}
59
 	}
60
 	c.ResponseJSON("绑定成功!")
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
 // DelKey 删除
74
 // DelKey 删除

+ 28
- 1
models/cases/key.go View File

109
 
109
 
110
 // UnLockKey 解绑钥匙信息
110
 // UnLockKey 解绑钥匙信息
111
 func (m *CaseDAO) UnLockKey(keyid string) error {
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
 	beego.Error(sql)
113
 	beego.Error(sql)
114
 	_, err := m.db.Exec(sql)
114
 	_, err := m.db.Exec(sql)
115
 	return err
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
 // BindKeyToUser 绑定钥匙信息
131
 // BindKeyToUser 绑定钥匙信息
119
 func (m *CaseDAO) BindKeyToUser(keyid, customerId, customerName string) error {
132
 func (m *CaseDAO) BindKeyToUser(keyid, customerId, customerName string) error {
120
 	var bindKey = model.TaCaseKeyUse{}
133
 	var bindKey = model.TaCaseKeyUse{}
147
 	err := m.db.Sql(sql).Find(&keys)
160
 	err := m.db.Sql(sql).Find(&keys)
148
 	return keys, err
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
+}

+ 4
- 2
models/verify/verify.go View File

50
 	a.*,
50
 	a.*,
51
 	d.case_name,
51
 	d.case_name,
52
 	c.detail_name,
52
 	c.detail_name,
53
-	f.location_name
53
+	f.location_name,
54
+	b.customer_id
54
 	FROM
55
 	FROM
55
 	ta_customer_course_detail a
56
 	ta_customer_course_detail a
56
 	INNER JOIN ta_customer_course b ON a.customer_course_id = b.customer_course_id
57
 	INNER JOIN ta_customer_course b ON a.customer_course_id = b.customer_course_id
102
 	a.*,
103
 	a.*,
103
 	d.case_name,
104
 	d.case_name,
104
 	c.detail_name,
105
 	c.detail_name,
105
-	f.location_name
106
+	f.location_name,
107
+	b.customer_id
106
 	FROM
108
 	FROM
107
 	ta_customer_course_detail a
109
 	ta_customer_course_detail a
108
 	INNER JOIN ta_customer_course b ON a.customer_course_id = b.customer_course_id
110
 	INNER JOIN ta_customer_course b ON a.customer_course_id = b.customer_course_id

+ 1
- 0
routers/common.go View File

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

+ 9
- 6
service/cases/cases.go View File

4
 	"errors"
4
 	"errors"
5
 	"spaceofcheng/services/models"
5
 	"spaceofcheng/services/models"
6
 	"spaceofcheng/services/models/cases"
6
 	"spaceofcheng/services/models/cases"
7
+	"spaceofcheng/services/models/customer"
7
 	"spaceofcheng/services/models/model"
8
 	"spaceofcheng/services/models/model"
8
 	"spaceofcheng/services/models/system"
9
 	"spaceofcheng/services/models/system"
9
 	"spaceofcheng/services/service"
10
 	"spaceofcheng/services/service"
12
 
13
 
13
 // CaseServ 系统处理
14
 // CaseServ 系统处理
14
 type CaseServ struct {
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
 // NewCaseServ 初始化
22
 // NewCaseServ 初始化
21
 func NewCaseServ(ctx *utils.Context) *CaseServ {
23
 func NewCaseServ(ctx *utils.Context) *CaseServ {
22
 	return &CaseServ{
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 View File

81
 	return nil
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
 // UnLockKey 解锁
114
 // UnLockKey 解锁
85
 func (s *CaseServ) UnLockKey(keyid string) error {
115
 func (s *CaseServ) UnLockKey(keyid string) error {
86
 	err := s.dao.UnLockKey(keyid)
116
 	err := s.dao.UnLockKey(keyid)
88
 		utils.LogError("解锁钥匙失败: " + err.Error())
118
 		utils.LogError("解锁钥匙失败: " + err.Error())
89
 		return errors.New("解锁钥匙失败")
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
 	return nil
126
 	return nil
92
 }
127
 }
128
+
129
+// LockKey 绑定钥匙
93
 func (s *CaseServ) LockKey(keyId, customerId, customerName string) error {
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
 	if err != nil {
145
 	if err != nil {
96
 		utils.LogError("绑定钥匙失败: " + err.Error())
146
 		utils.LogError("绑定钥匙失败: " + err.Error())
97
 		return errors.New("绑定钥匙失败")
147
 		return errors.New("绑定钥匙失败")

+ 4
- 0
service/message/image.go View File

71
 	if imginfo.ForwardType == ForwardTypeUrl && imginfo.ForwardUrl == "" {
71
 	if imginfo.ForwardType == ForwardTypeUrl && imginfo.ForwardUrl == "" {
72
 		return nil, errors.New("跳转地址不允许为空!")
72
 		return nil, errors.New("跳转地址不允许为空!")
73
 	}
73
 	}
74
+<<<<<<< HEAD
75
+	if imginfo.ForwardType == ForwardTypeCourse && imginfo.CaseId == "" {
76
+=======
74
 
77
 
75
 	if imginfo.ForwardType == ForwardTypeCourse && imginfo.ForwardResourceId == "" {
78
 	if imginfo.ForwardType == ForwardTypeCourse && imginfo.ForwardResourceId == "" {
79
+>>>>>>> 25b458f1a666b753f4338f1649fcaeaa37b61fd4
76
 		return nil, errors.New("跳转资源不允许为空!")
80
 		return nil, errors.New("跳转资源不允许为空!")
77
 	}
81
 	}
78
 
82
 

+ 4
- 0
service/verify/verify.go View File

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