Browse Source

物业类型

andrew 4 years ago
parent
commit
7ac1db6bd7

+ 2
- 1
src/main/java/com/huiju/estateagents/controller/TpNewsController.java View File

@@ -48,6 +48,7 @@ public class TpNewsController extends BaseController {
48 48
     public ResponseBean newsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
49 49
                                  @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
50 50
                                  @RequestParam(value = "newsName", required = false) String newsName,
51
+                                 @RequestParam(value = "newsTypeId", required = false) String newsTypeId,
51 52
                                  @PathVariable String client,
52 53
                                  HttpServletRequest request) {
53 54
         Integer orgId = getOrgId(request);
@@ -58,7 +59,7 @@ public class TpNewsController extends BaseController {
58 59
         }
59 60
 
60 61
         IPage<TpNews> page = new Page<>(pageNum, pageSize);
61
-        IPage<TpNews> result = iTpNewsService.getListBy(page, orgId, newsName, status);
62
+        IPage<TpNews> result = iTpNewsService.getListBy(page, orgId, newsName, status,newsTypeId);
62 63
 
63 64
         return ResponseBean.success(result);
64 65
     }

+ 133
- 0
src/main/java/com/huiju/estateagents/controller/TpNewsTypeController.java View File

@@ -0,0 +1,133 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.huiju.estateagents.base.BaseController;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.entity.TpNewsType;
7
+import com.huiju.estateagents.service.ITpNewsTypeService;
8
+import io.swagger.annotations.Api;
9
+import io.swagger.annotations.ApiImplicitParam;
10
+import io.swagger.annotations.ApiImplicitParams;
11
+import io.swagger.annotations.ApiOperation;
12
+import org.slf4j.Logger;
13
+import org.slf4j.LoggerFactory;
14
+import org.springframework.beans.factory.annotation.Autowired;
15
+import org.springframework.web.bind.annotation.*;
16
+
17
+import javax.servlet.http.HttpServletRequest;
18
+
19
+/**
20
+ * <p>
21
+    * 资讯类型表  前端控制器
22
+    * </p>
23
+ *
24
+ * @author jobob
25
+ * @since 2019-07-25
26
+ */
27
+@RestController
28
+@RequestMapping("/api")
29
+@Api(value = "物业服务类型", tags = "物业服务类型")
30
+public class TpNewsTypeController extends BaseController {
31
+
32
+    private final Logger logger = LoggerFactory.getLogger(TpNewsTypeController.class);
33
+
34
+    @Autowired
35
+    public ITpNewsTypeService iTpNewsTypeService;
36
+
37
+
38
+    /**
39
+     * 分页查询列表
40
+     * @param pageNum
41
+     * @param pageSize
42
+     * @return
43
+     */
44
+    // @ApiOperation(value = "查询资讯类型", notes = "查询资讯类型")
45
+    @ApiImplicitParams({
46
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNum", paramType = "query",value = "第几页"),
47
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
48
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id")
49
+    })
50
+    @RequestMapping(value="/admin/tpNewsType",method= RequestMethod.GET)
51
+    public ResponseBean tpNewsTypeList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
53
+                                       @RequestParam(value = "buildingId", required = false) String buildingId,
54
+                                       HttpServletRequest request){
55
+        ResponseBean responseBean = iTpNewsTypeService.getList(pageNum, pageSize, buildingId, getOrgId(request),getTaPersonBuildingListByUserId(request));
56
+        return responseBean;
57
+    }
58
+
59
+    /**
60
+     * 保存对象
61
+     * @param tpNewsType 实体对象
62
+     * @return
63
+     */
64
+    // @ApiOperation(value = "保存资讯类型", notes = "保存资讯类型")
65
+    @ApiImplicitParams({
66
+            @ApiImplicitParam(dataType = "tpNewsType", name = "tpNewsType", paramType = "body",value = "资讯类型数据")
67
+    })
68
+    @RequestMapping(value="/admin/tpNewsType",method= RequestMethod.POST)
69
+    public ResponseBean tpNewsTypeAdd(@RequestBody TpNewsType tpNewsType, HttpServletRequest request){
70
+        ResponseBean responseBean = iTpNewsTypeService.addTpNewsType(tpNewsType, getOrgId(request));
71
+        return responseBean;
72
+    }
73
+
74
+    /**
75
+     * 根据id删除对象
76
+     * @param id  实体ID
77
+     */
78
+    @ResponseBody
79
+    @RequestMapping(value="/admin/tpNewsType/{id}", method= RequestMethod.DELETE)
80
+    public ResponseBean tpNewsTypeDelete(@PathVariable Integer id){
81
+        ResponseBean responseBean = iTpNewsTypeService.deleteTpNewsType(id);
82
+        return responseBean;
83
+    }
84
+
85
+    /**
86
+     * 修改对象
87
+     * @param id  实体ID
88
+     * @param tpNewsType 实体对象
89
+     * @return
90
+     */
91
+    // @ApiOperation(value = "修改资讯类型", notes = "根据ID修改资讯类型")
92
+    @ApiImplicitParams({
93
+            @ApiImplicitParam(dataType = "tpNewsType", name = "tpNewsType", paramType = "body",value = "资讯类型数据"),
94
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "资讯id")
95
+    })
96
+    @RequestMapping(value="/admin/tpNewsType/{id}",method= RequestMethod.PUT)
97
+    public ResponseBean tpNewsTypeUpdate(@PathVariable Integer id,
98
+                                        @RequestBody TpNewsType tpNewsType, HttpServletRequest request){
99
+        tpNewsType.setNewsTypeId(id);
100
+        tpNewsType.setOrgId(getOrgId(request));
101
+        ResponseBean responseBean = iTpNewsTypeService.updateTpNewsType(tpNewsType);
102
+        return responseBean;
103
+    }
104
+
105
+    /**
106
+     * 根据id查询对象
107
+     * @param id  实体ID
108
+     */
109
+    // @ApiOperation(value = "咨询类型详情", notes = "咨询类型详情")
110
+    @ApiImplicitParams({
111
+            @ApiImplicitParam(dataType = "Integer", name = "id", paramType = "path",value = "资讯id")
112
+    })
113
+    @RequestMapping(value="/admin/tpNewsType/{id}",method= RequestMethod.GET)
114
+    public ResponseBean tpNewsTypeGet(@PathVariable Integer id){
115
+        ResponseBean responseBean = iTpNewsTypeService.getTpNewsTypeById(id);
116
+        return responseBean;
117
+    }
118
+
119
+    @ApiOperation(value = "查询物业服务类型列表", notes = "查询物业服务类型列表")
120
+    @ApiImplicitParams({
121
+            @ApiImplicitParam(dataTypeClass = String.class, name = "buildingId", paramType = "query",value = "项目id")
122
+    })
123
+    @RequestMapping(value="/wx/tpNewsType/list",method= RequestMethod.GET)
124
+    public ResponseBean getWxTpNewsTypeList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
125
+                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
126
+                                       @RequestParam(value = "buildingId", required = false) String buildingId,
127
+                                       HttpServletRequest request){
128
+        QueryWrapper<TpNewsType> queryWrapper = new QueryWrapper<>();
129
+        queryWrapper.eq("org_id",getOrgId(request));
130
+        return ResponseBean.success(iTpNewsTypeService.list(queryWrapper));
131
+    }
132
+
133
+}

+ 64
- 0
src/main/java/com/huiju/estateagents/entity/TpNewsType.java View File

@@ -0,0 +1,64 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import lombok.Data;
6
+import lombok.EqualsAndHashCode;
7
+import lombok.experimental.Accessors;
8
+
9
+import java.io.Serializable;
10
+import java.time.LocalDateTime;
11
+
12
+/**
13
+ * <p>
14
+ * 资讯类型表 
15
+ * </p>
16
+ *
17
+ * @author jobob
18
+ * @since 2019-07-25
19
+ */
20
+@Data
21
+@EqualsAndHashCode(callSuper = false)
22
+@Accessors(chain = true)
23
+public class TpNewsType implements Serializable {
24
+
25
+    private static final long serialVersionUID = 1L;
26
+
27
+    /**
28
+     * 资讯类型id
29
+     */
30
+    @TableId(value = "news_type_id", type = IdType.AUTO)
31
+    private Integer newsTypeId;
32
+
33
+    /**
34
+     * 公司id
35
+     */
36
+    private Integer orgId;
37
+
38
+    /**
39
+     * 楼盘id
40
+     */
41
+    private String buildingId;
42
+
43
+    /**
44
+     * 资讯类型图片
45
+     */
46
+    private String newsTypeImg;
47
+
48
+    /**
49
+     * 资讯类型名称
50
+     */
51
+    private String newsTypeName;
52
+
53
+    /**
54
+     * 创建时间
55
+     */
56
+    private LocalDateTime createDate;
57
+
58
+    /**
59
+     * 状态
60
+     */
61
+    private Integer status;
62
+
63
+
64
+}

+ 19
- 0
src/main/java/com/huiju/estateagents/mapper/TpNewsTypeMapper.java View File

@@ -0,0 +1,19 @@
1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.entity.TaNewsType;
5
+import com.huiju.estateagents.entity.TpNewsType;
6
+import org.apache.ibatis.annotations.Mapper;
7
+
8
+/**
9
+ * <p>
10
+ * 资讯类型表  Mapper 接口
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-07-25
15
+ */
16
+@Mapper
17
+public interface TpNewsTypeMapper extends BaseMapper<TpNewsType> {
18
+
19
+}

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITpNewsService.java View File

@@ -15,5 +15,5 @@ import com.huiju.estateagents.entity.TpNews;
15 15
  */
16 16
 public interface ITpNewsService extends IService<TpNews> {
17 17
 
18
-    IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status);
18
+    IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status,String newsTypeId);
19 19
 }

+ 59
- 0
src/main/java/com/huiju/estateagents/service/ITpNewsTypeService.java View File

@@ -0,0 +1,59 @@
1
+package com.huiju.estateagents.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.TpNewsType;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
+import com.huiju.estateagents.entity.TpNewsType;
8
+
9
+import java.util.List;
10
+
11
+/**
12
+ * <p>
13
+ * 资讯类型表  服务类
14
+ * </p>
15
+ *
16
+ * @author jobob
17
+ * @since 2019-07-25
18
+ */
19
+public interface ITpNewsTypeService extends IService<TpNewsType> {
20
+
21
+    /**
22
+     * 查询资讯类型列表
23
+     * @param pageNum
24
+     * @param pageSize
25
+     * @param buildingId
26
+     * @param orgId
27
+     * @return
28
+     */
29
+    ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, List<TaPersonBuilding> personBuildingList);
30
+
31
+    /**
32
+     * 根据Id查询资讯类型数据
33
+     * @param newsTypeId
34
+     * @return
35
+     */
36
+    ResponseBean getTpNewsTypeById(Integer newsTypeId);
37
+
38
+    /**
39
+     * 修改资讯类型数据
40
+     * @param TpNewsType
41
+     * @return
42
+     */
43
+    ResponseBean updateTpNewsType(TpNewsType TpNewsType);
44
+
45
+    /**
46
+     * add资讯类型数据
47
+     * @param TpNewsType
48
+     * @return
49
+     */
50
+    ResponseBean addTpNewsType(TpNewsType TpNewsType, Integer orgId);
51
+
52
+    /**
53
+     * 删除资讯类型
54
+     * @param newsTypeId
55
+     * @return
56
+     */
57
+    ResponseBean deleteTpNewsType(Integer newsTypeId);
58
+
59
+}

+ 2
- 1
src/main/java/com/huiju/estateagents/service/impl/TpNewsServiceImpl.java View File

@@ -22,9 +22,10 @@ import org.springframework.stereotype.Service;
22 22
 public class TpNewsServiceImpl extends ServiceImpl<TpNewsMapper, TpNews> implements ITpNewsService {
23 23
 
24 24
     @Override
25
-    public IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status) {
25
+    public IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status,String newsTypeId) {
26 26
         QueryWrapper<TpNews> queryWrapper = new QueryWrapper<>();
27 27
         queryWrapper.eq("org_id", orgId);
28
+        queryWrapper.eq(StringUtils.isEmpty(newsTypeId),"org_id", newsTypeId);
28 29
         queryWrapper.eq(status != null, "status", status);
29 30
         queryWrapper.gt(status == null, "status", CommConstant.STATUS_DELETE);
30 31
         queryWrapper.like(!StringUtils.isEmpty(newsName), "news_name", "%" + newsName + "%");

+ 140
- 0
src/main/java/com/huiju/estateagents/service/impl/TpNewsTypeServiceImpl.java View File

@@ -0,0 +1,140 @@
1
+package com.huiju.estateagents.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.BeanTools;
9
+import com.huiju.estateagents.entity.*;
10
+import com.huiju.estateagents.entity.TpNewsType;
11
+import com.huiju.estateagents.exception.EstaException;
12
+import com.huiju.estateagents.mapper.TpNewsTypeMapper;
13
+import com.huiju.estateagents.mapper.TpNewsTypeMapper;
14
+import com.huiju.estateagents.service.*;
15
+import org.apache.commons.lang3.StringUtils;
16
+import org.springframework.beans.factory.annotation.Autowired;
17
+import org.springframework.stereotype.Service;
18
+
19
+import java.time.LocalDateTime;
20
+import java.util.List;
21
+import java.util.stream.Collectors;
22
+
23
+/**
24
+ * <p>
25
+ * 物业服务类型表  服务实现类
26
+ * </p>
27
+ *
28
+ * @author jobob
29
+ * @since 2019-07-25
30
+ */
31
+@Service
32
+public class TpNewsTypeServiceImpl extends ServiceImpl<TpNewsTypeMapper, TpNewsType> implements ITpNewsTypeService {
33
+
34
+    @Autowired
35
+    private ITaBuildingService iTaBuildingService;
36
+
37
+    @Autowired
38
+    private ITpNewsService iTpNewsService;
39
+
40
+
41
+    @Override
42
+    public ResponseBean getList(Integer pageNum, Integer pageSize, String buildingId, Integer orgId, List<TaPersonBuilding> personBuildingList) {
43
+        ResponseBean responseBean = new ResponseBean();
44
+        IPage<TpNewsType> page = new Page<>();
45
+        page.setCurrent(pageNum);
46
+        page.setSize(pageSize);
47
+
48
+        QueryWrapper<TpNewsType> taNewsQueryWrapper = new QueryWrapper<>();
49
+        taNewsQueryWrapper.eq(StringUtils.isNotBlank(buildingId),"building_id", buildingId);
50
+        taNewsQueryWrapper.eq(orgId != null,"org_id", orgId);
51
+        taNewsQueryWrapper.eq("status", 1);
52
+        taNewsQueryWrapper.in(personBuildingList.size() > 0,"building_id", personBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList()));
53
+        taNewsQueryWrapper.orderByDesc("create_date");
54
+        IPage<TpNewsType> typeIPage = this.page(page, taNewsQueryWrapper);
55
+
56
+        responseBean.addSuccess(typeIPage);
57
+        return responseBean;
58
+    }
59
+
60
+    @Override
61
+    public ResponseBean getTpNewsTypeById(Integer newsTypeId) {
62
+        ResponseBean responseBean = new ResponseBean();
63
+        if (null == newsTypeId) {
64
+            responseBean.addError("物业服务类型编号不存在!");
65
+        }
66
+        responseBean.addSuccess(this.getById(newsTypeId));
67
+        return responseBean;
68
+    }
69
+
70
+    @Override
71
+    public ResponseBean updateTpNewsType(TpNewsType TpNewsType) {
72
+        ResponseBean responseBean =  new ResponseBean();
73
+        TpNewsType oldTpNewsType = this.getById(TpNewsType.getNewsTypeId());
74
+        if (null == oldTpNewsType) {
75
+            responseBean.addError("物业服务类型不存在!");
76
+            return responseBean;
77
+        }
78
+
79
+        //-- 校验 公司,楼盘
80
+        // TODO 没有校验公司  TpNewsType.getOrgId();
81
+        check(TpNewsType);
82
+
83
+        BeanTools.copyProperties(TpNewsType, oldTpNewsType);
84
+        this.updateById(oldTpNewsType);
85
+        responseBean.addSuccess(oldTpNewsType);
86
+        return responseBean;
87
+    }
88
+
89
+    @Override
90
+    public ResponseBean addTpNewsType(TpNewsType TpNewsType, Integer orgId) {
91
+        ResponseBean responseBean = new ResponseBean();
92
+
93
+        //-- 校验 公司,楼盘
94
+        check(TpNewsType);
95
+
96
+        TpNewsType.setCreateDate(LocalDateTime.now());
97
+        TpNewsType.setStatus(1);
98
+        TpNewsType.setOrgId(orgId);
99
+        this.save(TpNewsType);
100
+        responseBean.addSuccess(TpNewsType);
101
+        return responseBean;
102
+    }
103
+
104
+    private void check(TpNewsType TpNewsType) {
105
+//        TaBuilding taBuilding = iTaBuildingService.getById(TpNewsType.getBuildingId());
106
+//        if (null == taBuilding) {
107
+//            throw new EstaException("楼盘不存在!");
108
+//        }
109
+        if (TpNewsType.getStatus() != null && TpNewsType.getStatus() == -1) {
110
+            QueryWrapper<TpNews> queryWrapper = new QueryWrapper<>();
111
+            queryWrapper.gt("status", -1);
112
+            queryWrapper.eq("news_type_id", TpNewsType.getNewsTypeId());
113
+            Integer newsCount = iTpNewsService.count(queryWrapper);
114
+            if (newsCount != null && newsCount > 0) {
115
+                throw new EstaException("有物业服务正在使用此物业服务!");
116
+            }
117
+        }
118
+
119
+    }
120
+
121
+    @Override
122
+    public ResponseBean deleteTpNewsType(Integer newsTypeId) {
123
+        ResponseBean responseBean = getTpNewsTypeById(newsTypeId);
124
+        if (1 == responseBean.getCode()) {
125
+            return responseBean;
126
+        }
127
+        TpNewsType TpNewsType = (TpNewsType) responseBean.getData();
128
+        if (null == TpNewsType) {
129
+            responseBean.addError("数据不存!");
130
+        }
131
+
132
+        // 修改状态
133
+        TpNewsType.setStatus(0);
134
+        this.updateById(TpNewsType);
135
+
136
+        responseBean.addSuccess(TpNewsType);
137
+        return responseBean;
138
+    }
139
+
140
+}

+ 5
- 0
src/main/resources/mapper/TpNewsTypeMapper.xml View File

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.mapper.TpNewsTypeMapper">
4
+
5
+</mapper>