Browse Source

Merge remote-tracking branch 'origin/master' into master

zlisen 4 years ago
parent
commit
ab72e6602a

+ 79
- 8
src/main/java/com/shigongli/controller/TaHousePersonController.java View File

@@ -5,6 +5,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.shigongli.common.BaseController;
7 7
 import com.shigongli.common.ResponseBean;
8
+import com.shigongli.common.StringUtils;
9
+import com.shigongli.constants.StatusConstant;
10
+import com.shigongli.entity.TaHouseOrder;
11
+import com.shigongli.entity.TaHouseSetting;
12
+import com.shigongli.entity.TaPerson;
13
+import com.shigongli.service.ITaHouseOrderService;
14
+import com.shigongli.service.ITaHouseSettingService;
15
+import com.shigongli.vo.HousePersonParams;
8 16
 import io.swagger.annotations.Api;
9 17
 import io.swagger.annotations.ApiOperation;
10 18
 import io.swagger.annotations.ApiParam;
@@ -20,6 +28,10 @@ import com.shigongli.service.ITaHousePersonService;
20 28
 import com.shigongli.entity.TaHousePerson;
21 29
 import org.springframework.web.bind.annotation.RestController;
22 30
 
31
+import javax.servlet.http.HttpServletRequest;
32
+import java.util.ArrayList;
33
+import java.util.List;
34
+
23 35
 /**
24 36
  * <p>
25 37
     * 住房人 前端控制器
@@ -39,6 +51,12 @@ public class TaHousePersonController extends BaseController {
39 51
     @Autowired
40 52
     public ITaHousePersonService iTaHousePersonService;
41 53
 
54
+    @Autowired
55
+    ITaHouseOrderService iTaHouseOrderService;
56
+
57
+    @Autowired
58
+    ITaHouseSettingService iTaHouseSettingService;
59
+
42 60
 
43 61
     /**
44 62
      * 分页查询列表
@@ -46,13 +64,14 @@ public class TaHousePersonController extends BaseController {
46 64
      * @param pageSize
47 65
      * @return
48 66
      */
49
-    @RequestMapping(value="/taHousePerson",method= RequestMethod.GET)
67
+    @RequestMapping(value="/ma/taHousePerson",method= RequestMethod.GET)
50 68
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51 69
     public ResponseBean taHousePersonList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
-									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
70
+                                          @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
53 71
 
54 72
 		    IPage<TaHousePerson> pg = new Page<>(pageNum, pageSize);
55 73
             QueryWrapper<TaHousePerson> queryWrapper = new QueryWrapper<>();
74
+            queryWrapper.eq("status", StatusConstant.NORMAL);
56 75
             queryWrapper.orderByDesc("create_date");
57 76
 
58 77
             IPage<TaHousePerson> result = iTaHousePersonService.page(pg, queryWrapper);
@@ -60,16 +79,68 @@ public class TaHousePersonController extends BaseController {
60 79
     }
61 80
 
62 81
     /**
63
-     * 保存对象
64
-     * @param taHousePerson 实体对象
82
+     * 保存入住人
83
+     * @param housePersonParams 实体对象
65 84
      * @return
66 85
      */
67
-    @RequestMapping(value="/taHousePerson",method= RequestMethod.POST)
86
+    @RequestMapping(value="/ma/taHousePerson",method= RequestMethod.POST)
68 87
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
69
-    public ResponseBean taHousePersonAdd(@ApiParam("保存内容") @RequestBody TaHousePerson taHousePerson) throws Exception{
88
+    public ResponseBean taHousePersonAdd(@ApiParam("保存内容") @RequestBody HousePersonParams housePersonParams,
89
+                                         HttpServletRequest request) throws Exception{
90
+
91
+        if (null == housePersonParams) {
92
+            return ResponseBean.error("请设置入住人员信息", ResponseBean.ERROR_MISSING_PARAMS);
93
+        }
94
+
95
+        if (StringUtils.isEmpty(housePersonParams.getHouseId()) || StringUtils.isEmpty(housePersonParams.getOrderId())) {
96
+            return ResponseBean.error("请设置房源或订单信息", ResponseBean.ERROR_MISSING_PARAMS);
97
+        }
98
+
99
+        if (null == housePersonParams.getPersonList() || housePersonParams.getPersonList().size() < 1) {
100
+            return ResponseBean.error("请设置入住人员信息", ResponseBean.ERROR_MISSING_PARAMS);
101
+        }
102
+
103
+        // 订单
104
+        TaHouseOrder taHouseOrder = iTaHouseOrderService.getById(housePersonParams.getOrderId());
105
+        if (null == taHouseOrder) {
106
+            return ResponseBean.error("校验订单信息出错", ResponseBean.ERROR_ILLEGAL_PARAMS);
107
+        }
108
+
109
+        if (!StringUtils.isEmpty(taHouseOrder.getPersonId())) {
110
+            return ResponseBean.error("该分享房源已经存在入住信息", ResponseBean.ERROR_ILLEGAL_PARAMS);
111
+        }
112
+
113
+        // 设置
114
+        TaHouseSetting taHouseSetting = iTaHouseSettingService.getById(taHouseOrder.getSettingId());
115
+        if (null == taHouseSetting) {
116
+            return ResponseBean.error("校验房源配置出错", ResponseBean.ERROR_ILLEGAL_PARAMS);
117
+        }
118
+
119
+        // 填写的入住人员数量必须与设置的人数一致
120
+        if (housePersonParams.getPersonList().size() != taHouseSetting.getPersonNum()) {
121
+            return ResponseBean.error("填写入住人员数量出错", ResponseBean.ERROR_ILLEGAL_PARAMS);
122
+        }
123
+
124
+        // 更新订单
125
+        TaPerson taPerson = getPerson(request);
126
+        taHouseOrder.setPersonId(taPerson.getPersonId());
127
+        taHouseOrder.setStatus(StatusConstant.NORMAL);
128
+        iTaHouseOrderService.updateById(taHouseOrder);
129
+
130
+        // 插入入住人
131
+        List<TaHousePerson> taHousePersonList = new ArrayList<>();
132
+        for (HousePersonParams.Person person: housePersonParams.getPersonList()) {
133
+            TaHousePerson taHousePerson = new TaHousePerson();
134
+            taHousePerson.setHouseId(housePersonParams.getHouseId());
135
+            taHousePerson.setOrderId(housePersonParams.getOrderId());
136
+            taHousePerson.setPhone(person.getPhone());
137
+            taHousePerson.setName(person.getName());
138
+            taHousePerson.setStatus(StatusConstant.NORMAL);
139
+            taHousePersonList.add(taHousePerson);
140
+        }
70 141
 
71
-        if (iTaHousePersonService.save(taHousePerson)){
72
-            return ResponseBean.success(taHousePerson);
142
+        if (iTaHousePersonService.saveBatch(taHousePersonList)){
143
+            return ResponseBean.success(taHousePersonList);
73 144
         }else {
74 145
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
75 146
         }

+ 28
- 1
src/main/java/com/shigongli/controller/TaHouseSettingController.java View File

@@ -5,6 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.shigongli.common.BaseController;
7 7
 import com.shigongli.common.ResponseBean;
8
+import com.shigongli.common.StringUtils;
9
+import com.shigongli.constants.StatusConstant;
10
+import com.shigongli.entity.TaHouseOrder;
11
+import com.shigongli.service.ITaHouseOrderService;
8 12
 import io.swagger.annotations.Api;
9 13
 import io.swagger.annotations.ApiOperation;
10 14
 import io.swagger.annotations.ApiParam;
@@ -39,6 +43,9 @@ public class TaHouseSettingController extends BaseController {
39 43
     @Autowired
40 44
     public ITaHouseSettingService iTaHouseSettingService;
41 45
 
46
+    @Autowired
47
+    ITaHouseOrderService iTaHouseOrderService;
48
+
42 49
 
43 50
     /**
44 51
      * 分页查询列表
@@ -64,11 +71,31 @@ public class TaHouseSettingController extends BaseController {
64 71
      * @param taHouseSetting 实体对象
65 72
      * @return
66 73
      */
67
-    @RequestMapping(value="/taHouseSetting",method= RequestMethod.POST)
74
+    @RequestMapping(value="/ma/taHouseSetting",method= RequestMethod.POST)
68 75
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
69 76
     public ResponseBean taHouseSettingAdd(@ApiParam("保存内容") @RequestBody TaHouseSetting taHouseSetting) throws Exception{
77
+        if (null == taHouseSetting) {
78
+            return ResponseBean.error("填写房源设置出错", ResponseBean.ERROR_MISSING_PARAMS);
79
+        }
80
+
81
+        if (null == taHouseSetting.getPersonNum() || taHouseSetting.getPersonNum() < 1) {
82
+            return ResponseBean.error("房源入住人数至少1人", ResponseBean.ERROR_ILLEGAL_PARAMS);
83
+        }
84
+
85
+        if (StringUtils.isEmpty(taHouseSetting.getHouseId())) {
86
+            return ResponseBean.error("填写选择房源", ResponseBean.ERROR_MISSING_PARAMS);
87
+        }
70 88
 
71 89
         if (iTaHouseSettingService.save(taHouseSetting)){
90
+
91
+            // 生成订单
92
+            TaHouseOrder taHouseOrder = new TaHouseOrder();
93
+            taHouseOrder.setSettingId(taHouseSetting.getSettingId());
94
+            taHouseOrder.setStatus(StatusConstant.READY);
95
+            taHouseOrder.setOrderId(iTaHouseOrderService.getNextOrderId());
96
+            iTaHouseOrderService.save(taHouseOrder);
97
+            taHouseSetting.setTaHouseOrder(taHouseOrder);
98
+
72 99
             return ResponseBean.success(taHouseSetting);
73 100
         }else {
74 101
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);

+ 8
- 6
src/main/java/com/shigongli/controller/TaHouseSurroundController.java View File

@@ -20,6 +20,8 @@ import com.shigongli.service.ITaHouseSurroundService;
20 20
 import com.shigongli.entity.TaHouseSurround;
21 21
 import org.springframework.web.bind.annotation.RestController;
22 22
 
23
+import java.util.List;
24
+
23 25
 /**
24 26
  * <p>
25 27
     * 房源周边 前端控制器
@@ -41,7 +43,7 @@ public class TaHouseSurroundController extends BaseController {
41 43
 
42 44
 
43 45
     /**
44
-     * 分页查询列表
46
+     * 分页查询房源周边, 不传房源则代表所有周边
45 47
      * @param pageNum
46 48
      * @param pageSize
47 49
      * @return
@@ -58,16 +60,16 @@ public class TaHouseSurroundController extends BaseController {
58 60
     }
59 61
 
60 62
     /**
61
-     * 保存对象
63
+     * 保存房源周边
62 64
      * @param taHouseSurround 实体对象
63 65
      * @return
64 66
      */
65
-    @RequestMapping(value="/taHouseSurround",method= RequestMethod.POST)
67
+    @RequestMapping(value="/ma/taHouseSurround",method= RequestMethod.POST)
66 68
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
67
-    public ResponseBean taHouseSurroundAdd(@ApiParam("保存内容") @RequestBody TaHouseSurround taHouseSurround) throws Exception{
69
+    public ResponseBean taHouseSurroundAdd(@ApiParam("保存内容") @RequestBody List<TaHouseSurround> taHouseSurroundList) throws Exception{
68 70
 
69
-        if (iTaHouseSurroundService.save(taHouseSurround)){
70
-            return ResponseBean.success(taHouseSurround);
71
+        if (iTaHouseSurroundService.saveBatch(taHouseSurroundList)){
72
+            return ResponseBean.success(taHouseSurroundList);
71 73
         }else {
72 74
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
73 75
         }

+ 4
- 3
src/main/java/com/shigongli/controller/TaMateTagGroupController.java View File

@@ -54,10 +54,11 @@ public class TaMateTagGroupController extends BaseController {
54 54
      * @param pageSize
55 55
      * @return
56 56
      */
57
-    @RequestMapping(value="/mp/taMateTagGroup",method= RequestMethod.GET)
57
+    @RequestMapping(value="/{client}/taMateTagGroup",method= RequestMethod.GET)
58 58
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
59
-    public ResponseBean taMateTagGroupList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
60
-									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
59
+    public ResponseBean taMateTagGroupList(@ApiParam(value = "客户端", allowableValues = "mp,ma") @PathVariable("client") String client,
60
+                                           @ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
61
+                                           @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
61 62
 
62 63
         IPage<TaMateTagGroup> pg = new Page<>(pageNum, pageSize);
63 64
         QueryWrapper<TaMateTagGroup> queryWrapper = new QueryWrapper<>();

+ 3
- 2
src/main/java/com/shigongli/controller/TaMetaImageTagController.java View File

@@ -51,9 +51,10 @@ public class TaMetaImageTagController extends BaseController {
51 51
      * @param pageSize
52 52
      * @return
53 53
      */
54
-    @RequestMapping(value="/mp/taMetaImageTag",method= RequestMethod.GET)
54
+    @RequestMapping(value="/{client}/taMetaImageTag",method= RequestMethod.GET)
55 55
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
56
-    public ResponseBean taMetaImageTagList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
56
+    public ResponseBean taMetaImageTagList(@ApiParam(value = "客户端", allowableValues = "ma,mp") @RequestParam(value ="client") String client,
57
+                                           @ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
57 58
                                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
58 59
                                            @ApiParam("标签ID") @RequestParam(value ="tagIds") String tagIds) throws Exception{
59 60
 

+ 5
- 2
src/main/java/com/shigongli/entity/TaHouseSetting.java View File

@@ -2,6 +2,8 @@ package com.shigongli.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4 4
 import java.time.LocalDateTime;
5
+
6
+import com.baomidou.mybatisplus.annotation.TableField;
5 7
 import com.baomidou.mybatisplus.annotation.TableId;
6 8
 import java.io.Serializable;
7 9
 import io.swagger.annotations.ApiModel;
@@ -27,7 +29,7 @@ public class TaHouseSetting implements Serializable {
27 29
     private static final long serialVersionUID = 1L;
28 30
 
29 31
     @ApiModelProperty(value = "设置ID")
30
-    @TableId(value = "setting_id", type = IdType.INPUT)
32
+    @TableId(value = "setting_id", type = IdType.UUID)
31 33
     private String settingId;
32 34
 
33 35
     @ApiModelProperty(value = "房源")
@@ -48,5 +50,6 @@ public class TaHouseSetting implements Serializable {
48 50
     @ApiModelProperty(value = "创建时间")
49 51
     private LocalDateTime createDate;
50 52
 
51
-
53
+    @TableField(exist = false)
54
+    private TaHouseOrder taHouseOrder;
52 55
 }

+ 1
- 0
src/main/java/com/shigongli/service/ITaHouseOrderService.java View File

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 13
  */
14 14
 public interface ITaHouseOrderService extends IService<TaHouseOrder> {
15 15
 
16
+    String getNextOrderId();
16 17
 }

+ 11
- 0
src/main/java/com/shigongli/service/impl/TaHouseOrderServiceImpl.java View File

@@ -6,6 +6,10 @@ import com.shigongli.service.ITaHouseOrderService;
6 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 7
 import org.springframework.stereotype.Service;
8 8
 
9
+import java.time.LocalDateTime;
10
+import java.time.ZoneId;
11
+import java.util.Random;
12
+
9 13
 /**
10 14
  * <p>
11 15
  * 房源订单 服务实现类
@@ -17,4 +21,11 @@ import org.springframework.stereotype.Service;
17 21
 @Service
18 22
 public class TaHouseOrderServiceImpl extends ServiceImpl<TaHouseOrderMapper, TaHouseOrder> implements ITaHouseOrderService {
19 23
 
24
+    @Override
25
+    public String getNextOrderId() {
26
+        long sec = LocalDateTime.now().atZone(ZoneId.systemDefault()).toEpochSecond();
27
+        String randNum = String.format("%02d", new Random().nextInt(99));
28
+
29
+        return sec + "-" + randNum;
30
+    }
20 31
 }

+ 33
- 0
src/main/java/com/shigongli/vo/HousePersonParams.java View File

@@ -0,0 +1,33 @@
1
+package com.shigongli.vo;
2
+
3
+
4
+import io.swagger.annotations.ApiModel;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.Data;
7
+
8
+import java.util.List;
9
+
10
+@ApiModel(description = "报存入住人员参数")
11
+@Data
12
+public class HousePersonParams {
13
+
14
+    @ApiModelProperty("订单号")
15
+    String orderId;
16
+
17
+    @ApiModelProperty("房源ID")
18
+    String houseId;
19
+
20
+    @ApiModelProperty("入住人列表")
21
+    List<Person> personList;
22
+
23
+    @ApiModel(description = "入住人员")
24
+    @Data
25
+    public static class Person {
26
+
27
+        @ApiModelProperty("姓名")
28
+        String name;
29
+
30
+        @ApiModelProperty("手机号")
31
+        String phone;
32
+    }
33
+}