|
@@ -22,6 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
+
|
|
|
/**
|
|
|
* 2 * @Author: Abner
|
|
|
* 3 * @Date: 2021/1/7 17:38
|
|
@@ -48,21 +50,48 @@ public class HouseManagerController {
|
|
|
@ApiImplicitParam(name = "houseTitle", value = "房源名称", paramType = "query", required = false, dataType = "String"),
|
|
|
@ApiImplicitParam(name = "status", value = "状态: 0->草稿;1->待审核;2->已审核;3->未通过", paramType = "query", required = false, dataType = "Integer"),
|
|
|
@ApiImplicitParam(name = "type", value = "房源类型: 1->新房,2->二手房", paramType = "query", required = true, dataType = "String"),
|
|
|
+ @ApiImplicitParam(name = "estateId", value = "楼盘ID", paramType = "query", required = true, dataType = "String"),
|
|
|
@ApiImplicitParam(name = "pageNum", value = "当前页码", paramType = "query", required = true, dataType = "Long"),
|
|
|
@ApiImplicitParam(name = "pageSize", value = "每页大小", paramType = "query", required = true, dataType = "Long")
|
|
|
})
|
|
|
public Result<Object> getHouseList(@RequestParam(required = false) String houseTitle,
|
|
|
@RequestParam(required = false) Integer status,
|
|
|
@RequestParam(name = "type") Integer type,
|
|
|
+ @RequestParam(name = "estateId") String estateId,
|
|
|
@RequestParam(name = "pageNum")Long pageNum,
|
|
|
@RequestParam(name = "pageSize")Long pageSize){
|
|
|
+ if(StringUtils.isBlank(estateId)){
|
|
|
+
|
|
|
+ return Result.failure("楼盘ID不能为空");
|
|
|
+ }
|
|
|
|
|
|
- IPage<TmHouse> resultPage = tmHouseService.getListByNameOrBelong(houseTitle , status , type , pageNum , pageSize);
|
|
|
+ IPage<TmHouse> resultPage = tmHouseService.getListByNameOrBelong(houseTitle , status , type , estateId , pageNum , pageSize);
|
|
|
return Result.success(DataUtils.assembleResult(resultPage.getTotal(), resultPage.getPages(),
|
|
|
resultPage.getCurrent(), resultPage.getRecords()));
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @GetMapping("/getEstateDetail")
|
|
|
+ @ApiOperation(value = "根据房源ID获取楼盘")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "houseId", value = "房源ID", paramType = "query", required = true, dataType = "String"),
|
|
|
+ })
|
|
|
+ public Result<Object> getHouseList(@RequestParam(required = true) String houseId){
|
|
|
+ if(StringUtils.isBlank(houseId)){
|
|
|
+ return Result.failure("楼盘ID不能为空");
|
|
|
+ }
|
|
|
+ TmHouse tmHouse = tmHouseService.getById(houseId);
|
|
|
+ if(null == tmHouse){
|
|
|
+ return Result.failure("房源不存在");
|
|
|
+ }
|
|
|
+ TmEstate tmEstate = tmEstateService.getById(tmHouse.getEstateId());
|
|
|
+ if(null == tmEstate){
|
|
|
+ return Result.failure("楼盘不存在");
|
|
|
+ }
|
|
|
+ return Result.success(tmEstate);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@PostMapping("/addHouse")
|
|
|
@ApiOperation(value = "创建房源-这里需要720或者四维看看微服务创建完成调用")
|
|
|
public Result<Object> addNewHouse(@RequestBody TmHouse tmHouse){
|
|
@@ -127,6 +156,7 @@ public class HouseManagerController {
|
|
|
@ApiImplicitParams({
|
|
|
@ApiImplicitParam(name = "houseId", value = "房源ID", paramType = "query", required = true, dataType = "String"),
|
|
|
})
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Result<Object> addNewAudit(@RequestParam String houseId){
|
|
|
|
|
|
if(StringUtils.isBlank(houseId)){
|
|
@@ -144,8 +174,19 @@ public class HouseManagerController {
|
|
|
return Result.failure("房源所属的楼盘不存在");
|
|
|
}
|
|
|
|
|
|
- int insert = tmAuditService.addNewAudit(dbHouse , tmEstate);
|
|
|
- if(insert == 1){
|
|
|
+ TmAudit tmAudit = tmAuditService.addNewAuditWithRespon(dbHouse , tmEstate);
|
|
|
+ if(tmAudit != null){
|
|
|
+ dbHouse = tmHouseService.selectForUpdate(dbHouse.getId());
|
|
|
+ if(null == dbHouse){
|
|
|
+ log.error("抢锁失败,更新房源的审批记录失败");
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101 , "抢锁失败");
|
|
|
+ }
|
|
|
+ dbHouse.setAuditId(tmAudit.getId());
|
|
|
+ dbHouse.setUpdateTime(LocalDateTime.now());
|
|
|
+ if(!tmHouseService.updateHouse(dbHouse)){
|
|
|
+ log.info("更新房源的审批id失败");
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101 , "更新房源的审批记录失败");
|
|
|
+ }
|
|
|
return Result.success();
|
|
|
}else{
|
|
|
return Result.failure("提交失败");
|
|
@@ -188,7 +229,8 @@ public class HouseManagerController {
|
|
|
//走到这里,说明审核的锁已经抢到了
|
|
|
//两个锁都抢到了,则可以开始做撤销动作了
|
|
|
dbHouse.setAuditId(null);
|
|
|
- dbHouse.setAuditName(null);
|
|
|
+ dbHouse.setAuditorId(null);
|
|
|
+ dbHouse.setAuditorName(null);
|
|
|
dbHouse.setAuditTime(null);
|
|
|
if(!tmHouseService.updateHouse(dbHouse)){
|
|
|
throw new CommonBaseException(ResultCodeEnum.D101 , "撤销房源的审批记录失败");
|