|
@@ -9,6 +9,8 @@ use fast\Random; |
|
@@ -9,6 +9,8 @@ use fast\Random; |
9
|
use think\Validate;
|
9
|
use think\Validate;
|
10
|
use think\Cache;
|
10
|
use think\Cache;
|
11
|
use app\api\model\HouseJoin;
|
11
|
use app\api\model\HouseJoin;
|
|
|
12
|
+use app\api\model\UserHouse;
|
|
|
13
|
+use app\api\model\UserMoneyLog;
|
12
|
|
14
|
|
13
|
/**
|
15
|
/**
|
14
|
* 会员接口
|
16
|
* 会员接口
|
|
@@ -107,19 +109,18 @@ class User extends Api |
|
@@ -107,19 +109,18 @@ class User extends Api |
107
|
public function index()
|
109
|
public function index()
|
108
|
{
|
110
|
{
|
109
|
$user = $this->auth->getUser();
|
111
|
$user = $this->auth->getUser();
|
110
|
- $store_inform_log = new \app\api\model\StoreInformLog;
|
|
|
111
|
$data = [
|
112
|
$data = [
|
112
|
// 当前小区信息
|
113
|
// 当前小区信息
|
113
|
'house' => \app\api\model\House::get($user['house_id'])
|
114
|
'house' => \app\api\model\House::get($user['house_id'])
|
114
|
->visible(['id','name'])->toArray(),
|
115
|
->visible(['id','name'])->toArray(),
|
115
|
// 今日收益
|
116
|
// 今日收益
|
116
|
- 'today_money' => $store_inform_log
|
|
|
117
|
- ->where('user_id',$this->auth->id)
|
117
|
+ 'today_money' => UserMoneyLog::where('user_id',$this->auth->id)
|
|
|
118
|
+ ->where('money','>',0)
|
118
|
->whereTime('createtime', 'today')
|
119
|
->whereTime('createtime', 'today')
|
119
|
->sum('money'),
|
120
|
->sum('money'),
|
120
|
// 总收益
|
121
|
// 总收益
|
121
|
- 'total_money' => $store_inform_log
|
|
|
122
|
- ->where('user_id',$this->auth->id)
|
122
|
+ 'total_money' => UserMoneyLog::where('user_id',$this->auth->id)
|
|
|
123
|
+ ->where('money','>',0)
|
123
|
->sum('money'),
|
124
|
->sum('money'),
|
124
|
// 未读消息数量
|
125
|
// 未读消息数量
|
125
|
'message_num' => \app\api\model\Message::where('to_user_id',$user['id'])
|
126
|
'message_num' => \app\api\model\Message::where('to_user_id',$user['id'])
|
|
@@ -138,6 +139,120 @@ class User extends Api |
|
@@ -138,6 +139,120 @@ class User extends Api |
138
|
}
|
139
|
}
|
139
|
|
140
|
|
140
|
/**
|
141
|
/**
|
|
|
142
|
+ * @ApiTitle (个人中心-选择社区)
|
|
|
143
|
+ * @ApiSummary (个人中心-选择社区)
|
|
|
144
|
+ * @ApiMethod (POST)
|
|
|
145
|
+ * @ApiRoute (/api/user/houseList)
|
|
|
146
|
+ *
|
|
|
147
|
+ * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
148
|
+ * @ApiParams (name="area", type="string", required=true, description="市区地址例如:'天津市/西青区'")
|
|
|
149
|
+ * @ApiParams (name="keyword", type="string", required=false, description="关键字")
|
|
|
150
|
+ *
|
|
|
151
|
+ * @ApiReturn({
|
|
|
152
|
+ "code": 1,
|
|
|
153
|
+ "msg": "success",
|
|
|
154
|
+ "time": "1598688508",
|
|
|
155
|
+ "data": [{
|
|
|
156
|
+ "id": 16, //小区ID
|
|
|
157
|
+ "name": "兴安苑", //小区名称
|
|
|
158
|
+ "area": "北京/北京市/朝阳区", //小区所在地区
|
|
|
159
|
+ "status": 1, //状态:1=申请中,2=已绑定
|
|
|
160
|
+ "is_current": 0 //是否当前小区:0=否,1=是
|
|
|
161
|
+ }]
|
|
|
162
|
+ })
|
|
|
163
|
+ */
|
|
|
164
|
+ public function houseList()
|
|
|
165
|
+ {
|
|
|
166
|
+ $user = $this->auth->getUser();
|
|
|
167
|
+ $area = $this->request->param('area');
|
|
|
168
|
+ $keyword = $this->request->param('keyword');
|
|
|
169
|
+ $where = [];
|
|
|
170
|
+ if(!empty($area)){
|
|
|
171
|
+ $where['h.area'] = ['like',"%$area%"];
|
|
|
172
|
+ }
|
|
|
173
|
+ if(!empty($keyword)){
|
|
|
174
|
+ $where['h.name'] = ['like',"%$keyword%"];
|
|
|
175
|
+ }
|
|
|
176
|
+ // 查出该用户已绑定的和申请中的小区
|
|
|
177
|
+ $list = UserHouse::alias('uh')
|
|
|
178
|
+ ->join('house h','h.id = uh.house_id')
|
|
|
179
|
+ ->where('uh.user_id',$user['id'])
|
|
|
180
|
+ ->where($where)
|
|
|
181
|
+ ->field("h.id,h.name,h.area,uh.status")
|
|
|
182
|
+ ->order('uh.status desc')
|
|
|
183
|
+ ->select();
|
|
|
184
|
+ foreach($list as &$v){
|
|
|
185
|
+ $v['is_current'] = $user['house_id'] == $v['id'] ? 1 : 0;
|
|
|
186
|
+ }
|
|
|
187
|
+ $this->success('success',$list);
|
|
|
188
|
+ }
|
|
|
189
|
+
|
|
|
190
|
+ /**
|
|
|
191
|
+ * @ApiTitle (个人中心-选择社区-切换)
|
|
|
192
|
+ * @ApiSummary (个人中心-选择社区-切换)
|
|
|
193
|
+ * @ApiMethod (POST)
|
|
|
194
|
+ * @ApiRoute (/api/user/houseUnbind)
|
|
|
195
|
+ *
|
|
|
196
|
+ * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
197
|
+ * @ApiParams (name="house_id", type="inter", required=true, description="小区ID")
|
|
|
198
|
+ *
|
|
|
199
|
+ * @ApiReturn({
|
|
|
200
|
+ "code": 1,
|
|
|
201
|
+ "msg": "切换成功"
|
|
|
202
|
+ })
|
|
|
203
|
+ */
|
|
|
204
|
+ public function houseChange()
|
|
|
205
|
+ {
|
|
|
206
|
+ $user = $this->auth->getUser();
|
|
|
207
|
+ $house_id = $this->request->param('house_id');、
|
|
|
208
|
+ empty($house_id) && $this->error('缺少必要参数');
|
|
|
209
|
+ $info = UserHouse::get(['user_id'=>$user['id'],'house_id'=>$house_id]);
|
|
|
210
|
+ empty($info) && $this->error('绑定信息不存在');
|
|
|
211
|
+ $info['status'] != 2 && $this->error('您还没有绑定该小区,无法切换');
|
|
|
212
|
+ $user->house_id = $house_id;
|
|
|
213
|
+ $user->save();
|
|
|
214
|
+ $this->success('切换成功');
|
|
|
215
|
+ }
|
|
|
216
|
+
|
|
|
217
|
+ /**
|
|
|
218
|
+ * @ApiTitle (个人中心-选择社区-解绑)
|
|
|
219
|
+ * @ApiSummary (个人中心-选择社区-解绑)
|
|
|
220
|
+ * @ApiMethod (POST)
|
|
|
221
|
+ * @ApiRoute (/api/user/houseUnbind)
|
|
|
222
|
+ *
|
|
|
223
|
+ * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
224
|
+ * @ApiParams (name="house_id", type="inter", required=true, description="小区ID")
|
|
|
225
|
+ *
|
|
|
226
|
+ * @ApiReturn({
|
|
|
227
|
+ "code": 1,
|
|
|
228
|
+ "msg": "解绑成功"
|
|
|
229
|
+ })
|
|
|
230
|
+ */
|
|
|
231
|
+ public function houseUnbind()
|
|
|
232
|
+ {
|
|
|
233
|
+ $user = $this->auth->getUser();
|
|
|
234
|
+ $house_id = $this->request->param('house_id');
|
|
|
235
|
+ empty($house_id) && $this->error('缺少必要参数');
|
|
|
236
|
+ $info = UserHouse::get(['user_id'=>$user['id'],'house_id'=>$house_id]);
|
|
|
237
|
+ empty($info) && $this->error('绑定信息不存在');
|
|
|
238
|
+ $info['status'] != 2 && $this->error('您还没有绑定该小区,无法解绑');
|
|
|
239
|
+ // 启动事务
|
|
|
240
|
+ Db::startTrans();
|
|
|
241
|
+ try{
|
|
|
242
|
+ $info->delete();
|
|
|
243
|
+ $user->house_id = 0;
|
|
|
244
|
+ $user->save();
|
|
|
245
|
+ // 提交事务
|
|
|
246
|
+ Db::commit();
|
|
|
247
|
+ } catch (\Exception $e) {
|
|
|
248
|
+ // 回滚事务
|
|
|
249
|
+ Db::rollback();
|
|
|
250
|
+ $this->error($e->getMessage());
|
|
|
251
|
+ }
|
|
|
252
|
+ $this->success('解绑成功');
|
|
|
253
|
+ }
|
|
|
254
|
+
|
|
|
255
|
+ /**
|
141
|
* @ApiTitle (个人中心-我的活动)
|
256
|
* @ApiTitle (个人中心-我的活动)
|
142
|
* @ApiSummary (个人中心-我的活动)
|
257
|
* @ApiSummary (个人中心-我的活动)
|
143
|
* @ApiMethod (POST)
|
258
|
* @ApiMethod (POST)
|
|
@@ -175,18 +290,24 @@ class User extends Api |
|
@@ -175,18 +290,24 @@ class User extends Api |
175
|
* @ApiMethod (POST)
|
290
|
* @ApiMethod (POST)
|
176
|
* @ApiRoute (/api/user/activityInfo)
|
291
|
* @ApiRoute (/api/user/activityInfo)
|
177
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
292
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
178
|
- * @ApiParams (name="house_join_id", type="string", required=true, description="报名ID")
|
293
|
+ * @ApiParams (name="house_join_id", type="inter", required=true, description="报名ID")
|
179
|
|
294
|
|
180
|
* @ApiReturn ({
|
295
|
* @ApiReturn ({
|
181
|
"code": 1,
|
296
|
"code": 1,
|
182
|
"msg": "成功",
|
297
|
"msg": "成功",
|
183
|
- "time": "1598673648",
|
|
|
184
|
- "data": [{
|
|
|
185
|
- "id": 20, //报名ID
|
298
|
+ "time": "1598684603",
|
|
|
299
|
+ "data": {
|
|
|
300
|
+ "order_no": "2020082852995199", //订单号
|
|
|
301
|
+ "pay_price": "60.00", //合计费用
|
|
|
302
|
+ "price": "30.00", // 报名费用
|
|
|
303
|
+ "total_num": 2, // 报名数量
|
186
|
"title": "澳大利亚政府这人品:我只要不承认,就不是针对中国", //活动标题
|
304
|
"title": "澳大利亚政府这人品:我只要不承认,就不是针对中国", //活动标题
|
187
|
- "content": "", //活动内容
|
|
|
188
|
- "activity_time": "2020-08-28-2020-08-28" //活动时间
|
|
|
189
|
- }]
|
305
|
+ "content": "", //活动描述
|
|
|
306
|
+ "spec_type": "2", //活动规格:0=无规格-免费,1=单规格,2=多规格
|
|
|
307
|
+ "activity_attr": "", //规格
|
|
|
308
|
+ "activity_time": "2020-08-28-2020-08-28", //活动时间
|
|
|
309
|
+ "join_time": "2020-08-28 18:45:56" //报名时间
|
|
|
310
|
+ }
|
190
|
})
|
311
|
})
|
191
|
*/
|
312
|
*/
|
192
|
public function activityInfo()
|
313
|
public function activityInfo()
|
|
@@ -195,11 +316,50 @@ class User extends Api |
|
@@ -195,11 +316,50 @@ class User extends Api |
195
|
empty($house_join_id) && $this->error('请传入必填参数');
|
316
|
empty($house_join_id) && $this->error('请传入必填参数');
|
196
|
$info = HouseJoin::get(['user_id'=>$this->auth->id,'id'=>$house_join_id]);
|
317
|
$info = HouseJoin::get(['user_id'=>$this->auth->id,'id'=>$house_join_id]);
|
197
|
empty($info) && $this->error('活动信息不存在');
|
318
|
empty($info) && $this->error('活动信息不存在');
|
198
|
- $info['activity_time'] = date('Y-m-d',$info['start_time']).'-'.date('Y-m-d',$info['end_time']);
|
319
|
+ $data = [
|
|
|
320
|
+ // 活动时间
|
|
|
321
|
+ 'activity_time' => date('Y-m-d',$info['start_time']).'-'.date('Y-m-d',$info['end_time']),
|
|
|
322
|
+ // 报名时间
|
|
|
323
|
+ 'join_time' => date('Y-m-d H:i:s',!empty($info['pay_time']) ? $info['pay_time'] : $info['createtime'])
|
|
|
324
|
+ ];
|
199
|
$info = $info->visible([
|
325
|
$info = $info->visible([
|
200
|
'title',
|
326
|
'title',
|
201
|
- ]);
|
|
|
202
|
- $this->success('成功', $info);
|
327
|
+ 'content',
|
|
|
328
|
+ 'spec_type',
|
|
|
329
|
+ 'price',
|
|
|
330
|
+ 'order_no',
|
|
|
331
|
+ 'total_num',
|
|
|
332
|
+ 'pay_price',
|
|
|
333
|
+ 'activity_attr'
|
|
|
334
|
+ ])->toArray();
|
|
|
335
|
+ $this->success('成功', array_merge($info,$data));
|
|
|
336
|
+ }
|
|
|
337
|
+
|
|
|
338
|
+ /**
|
|
|
339
|
+ * @ApiTitle (个人中心-收益明细)
|
|
|
340
|
+ * @ApiSummary (个人中心-收益明细)
|
|
|
341
|
+ * @ApiMethod (POST)
|
|
|
342
|
+ * @ApiRoute (/api/user/moneyLog)
|
|
|
343
|
+ *
|
|
|
344
|
+ * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
345
|
+ *
|
|
|
346
|
+ * @ApiReturn({
|
|
|
347
|
+ "code": 1,
|
|
|
348
|
+ "msg": "成功",
|
|
|
349
|
+ "time": "1598692386",
|
|
|
350
|
+ "data": [{
|
|
|
351
|
+ "memo": "测试", //标题
|
|
|
352
|
+ "money": "10.00", //金额
|
|
|
353
|
+ "createtime": "2020-08-29 17:07:56" // 时间
|
|
|
354
|
+ }]
|
|
|
355
|
+ })
|
|
|
356
|
+ */
|
|
|
357
|
+ public function moneyLog()
|
|
|
358
|
+ {
|
|
|
359
|
+ $list = UserMoneyLog::where('user_id',$this->auth->id)
|
|
|
360
|
+ ->field("memo,money,from_unixtime(createtime, '%Y-%m-%d %H:%i:%S') createtime")
|
|
|
361
|
+ ->select();
|
|
|
362
|
+ $this->success('成功',$list);
|
203
|
}
|
363
|
}
|
204
|
|
364
|
|
205
|
/**
|
365
|
/**
|