Ver código fonte

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

zlisen 4 anos atrás
pai
commit
ab72e6602a

+ 79
- 8
src/main/java/com/shigongli/controller/TaHousePersonController.java Ver arquivo

5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.shigongli.common.BaseController;
6
 import com.shigongli.common.BaseController;
7
 import com.shigongli.common.ResponseBean;
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
 import io.swagger.annotations.Api;
16
 import io.swagger.annotations.Api;
9
 import io.swagger.annotations.ApiOperation;
17
 import io.swagger.annotations.ApiOperation;
10
 import io.swagger.annotations.ApiParam;
18
 import io.swagger.annotations.ApiParam;
20
 import com.shigongli.entity.TaHousePerson;
28
 import com.shigongli.entity.TaHousePerson;
21
 import org.springframework.web.bind.annotation.RestController;
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
  * <p>
36
  * <p>
25
     * 住房人 前端控制器
37
     * 住房人 前端控制器
39
     @Autowired
51
     @Autowired
40
     public ITaHousePersonService iTaHousePersonService;
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
      * @param pageSize
64
      * @param pageSize
47
      * @return
65
      * @return
48
      */
66
      */
49
-    @RequestMapping(value="/taHousePerson",method= RequestMethod.GET)
67
+    @RequestMapping(value="/ma/taHousePerson",method= RequestMethod.GET)
50
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
68
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51
     public ResponseBean taHousePersonList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
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
 		    IPage<TaHousePerson> pg = new Page<>(pageNum, pageSize);
72
 		    IPage<TaHousePerson> pg = new Page<>(pageNum, pageSize);
55
             QueryWrapper<TaHousePerson> queryWrapper = new QueryWrapper<>();
73
             QueryWrapper<TaHousePerson> queryWrapper = new QueryWrapper<>();
74
+            queryWrapper.eq("status", StatusConstant.NORMAL);
56
             queryWrapper.orderByDesc("create_date");
75
             queryWrapper.orderByDesc("create_date");
57
 
76
 
58
             IPage<TaHousePerson> result = iTaHousePersonService.page(pg, queryWrapper);
77
             IPage<TaHousePerson> result = iTaHousePersonService.page(pg, queryWrapper);
60
     }
79
     }
61
 
80
 
62
     /**
81
     /**
63
-     * 保存对象
64
-     * @param taHousePerson 实体对象
82
+     * 保存入住人
83
+     * @param housePersonParams 实体对象
65
      * @return
84
      * @return
66
      */
85
      */
67
-    @RequestMapping(value="/taHousePerson",method= RequestMethod.POST)
86
+    @RequestMapping(value="/ma/taHousePerson",method= RequestMethod.POST)
68
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
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
         }else {
144
         }else {
74
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
145
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
75
         }
146
         }

+ 28
- 1
src/main/java/com/shigongli/controller/TaHouseSettingController.java Ver arquivo

5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.shigongli.common.BaseController;
6
 import com.shigongli.common.BaseController;
7
 import com.shigongli.common.ResponseBean;
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
 import io.swagger.annotations.Api;
12
 import io.swagger.annotations.Api;
9
 import io.swagger.annotations.ApiOperation;
13
 import io.swagger.annotations.ApiOperation;
10
 import io.swagger.annotations.ApiParam;
14
 import io.swagger.annotations.ApiParam;
39
     @Autowired
43
     @Autowired
40
     public ITaHouseSettingService iTaHouseSettingService;
44
     public ITaHouseSettingService iTaHouseSettingService;
41
 
45
 
46
+    @Autowired
47
+    ITaHouseOrderService iTaHouseOrderService;
48
+
42
 
49
 
43
     /**
50
     /**
44
      * 分页查询列表
51
      * 分页查询列表
64
      * @param taHouseSetting 实体对象
71
      * @param taHouseSetting 实体对象
65
      * @return
72
      * @return
66
      */
73
      */
67
-    @RequestMapping(value="/taHouseSetting",method= RequestMethod.POST)
74
+    @RequestMapping(value="/ma/taHouseSetting",method= RequestMethod.POST)
68
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
75
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
69
     public ResponseBean taHouseSettingAdd(@ApiParam("保存内容") @RequestBody TaHouseSetting taHouseSetting) throws Exception{
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
         if (iTaHouseSettingService.save(taHouseSetting)){
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
             return ResponseBean.success(taHouseSetting);
99
             return ResponseBean.success(taHouseSetting);
73
         }else {
100
         }else {
74
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
101
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);

+ 8
- 6
src/main/java/com/shigongli/controller/TaHouseSurroundController.java Ver arquivo

20
 import com.shigongli.entity.TaHouseSurround;
20
 import com.shigongli.entity.TaHouseSurround;
21
 import org.springframework.web.bind.annotation.RestController;
21
 import org.springframework.web.bind.annotation.RestController;
22
 
22
 
23
+import java.util.List;
24
+
23
 /**
25
 /**
24
  * <p>
26
  * <p>
25
     * 房源周边 前端控制器
27
     * 房源周边 前端控制器
41
 
43
 
42
 
44
 
43
     /**
45
     /**
44
-     * 分页查询列表
46
+     * 分页查询房源周边, 不传房源则代表所有周边
45
      * @param pageNum
47
      * @param pageNum
46
      * @param pageSize
48
      * @param pageSize
47
      * @return
49
      * @return
58
     }
60
     }
59
 
61
 
60
     /**
62
     /**
61
-     * 保存对象
63
+     * 保存房源周边
62
      * @param taHouseSurround 实体对象
64
      * @param taHouseSurround 实体对象
63
      * @return
65
      * @return
64
      */
66
      */
65
-    @RequestMapping(value="/taHouseSurround",method= RequestMethod.POST)
67
+    @RequestMapping(value="/ma/taHouseSurround",method= RequestMethod.POST)
66
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
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
         }else {
73
         }else {
72
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
74
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
73
         }
75
         }

+ 4
- 3
src/main/java/com/shigongli/controller/TaMateTagGroupController.java Ver arquivo

54
      * @param pageSize
54
      * @param pageSize
55
      * @return
55
      * @return
56
      */
56
      */
57
-    @RequestMapping(value="/mp/taMateTagGroup",method= RequestMethod.GET)
57
+    @RequestMapping(value="/{client}/taMateTagGroup",method= RequestMethod.GET)
58
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
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
         IPage<TaMateTagGroup> pg = new Page<>(pageNum, pageSize);
63
         IPage<TaMateTagGroup> pg = new Page<>(pageNum, pageSize);
63
         QueryWrapper<TaMateTagGroup> queryWrapper = new QueryWrapper<>();
64
         QueryWrapper<TaMateTagGroup> queryWrapper = new QueryWrapper<>();

+ 3
- 2
src/main/java/com/shigongli/controller/TaMetaImageTagController.java Ver arquivo

51
      * @param pageSize
51
      * @param pageSize
52
      * @return
52
      * @return
53
      */
53
      */
54
-    @RequestMapping(value="/mp/taMetaImageTag",method= RequestMethod.GET)
54
+    @RequestMapping(value="/{client}/taMetaImageTag",method= RequestMethod.GET)
55
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
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
                                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
58
                                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
58
                                            @ApiParam("标签ID") @RequestParam(value ="tagIds") String tagIds) throws Exception{
59
                                            @ApiParam("标签ID") @RequestParam(value ="tagIds") String tagIds) throws Exception{
59
 
60
 

+ 5
- 2
src/main/java/com/shigongli/entity/TaHouseSetting.java Ver arquivo

2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
 import java.time.LocalDateTime;
4
 import java.time.LocalDateTime;
5
+
6
+import com.baomidou.mybatisplus.annotation.TableField;
5
 import com.baomidou.mybatisplus.annotation.TableId;
7
 import com.baomidou.mybatisplus.annotation.TableId;
6
 import java.io.Serializable;
8
 import java.io.Serializable;
7
 import io.swagger.annotations.ApiModel;
9
 import io.swagger.annotations.ApiModel;
27
     private static final long serialVersionUID = 1L;
29
     private static final long serialVersionUID = 1L;
28
 
30
 
29
     @ApiModelProperty(value = "设置ID")
31
     @ApiModelProperty(value = "设置ID")
30
-    @TableId(value = "setting_id", type = IdType.INPUT)
32
+    @TableId(value = "setting_id", type = IdType.UUID)
31
     private String settingId;
33
     private String settingId;
32
 
34
 
33
     @ApiModelProperty(value = "房源")
35
     @ApiModelProperty(value = "房源")
48
     @ApiModelProperty(value = "创建时间")
50
     @ApiModelProperty(value = "创建时间")
49
     private LocalDateTime createDate;
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 Ver arquivo

13
  */
13
  */
14
 public interface ITaHouseOrderService extends IService<TaHouseOrder> {
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 Ver arquivo

6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import org.springframework.stereotype.Service;
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
  * <p>
14
  * <p>
11
  * 房源订单 服务实现类
15
  * 房源订单 服务实现类
17
 @Service
21
 @Service
18
 public class TaHouseOrderServiceImpl extends ServiceImpl<TaHouseOrderMapper, TaHouseOrder> implements ITaHouseOrderService {
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 Ver arquivo

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
+}