张延森 4 years ago
parent
commit
458a9257a4

+ 139
- 0
src/main/java/com/huiju/estateagents/controller/TpNewsController.java View File

@@ -0,0 +1,139 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
+import com.huiju.estateagents.base.BaseController;
6
+import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.common.CommConstant;
8
+import com.huiju.estateagents.entity.TpNews;
9
+import com.huiju.estateagents.service.ITpNewsService;
10
+import io.swagger.annotations.Api;
11
+import org.slf4j.Logger;
12
+import org.slf4j.LoggerFactory;
13
+import org.springframework.beans.factory.annotation.Autowired;
14
+import org.springframework.web.bind.annotation.*;
15
+
16
+import javax.servlet.http.HttpServletRequest;
17
+import java.time.LocalDateTime;
18
+
19
+
20
+/**
21
+ * <p>
22
+    * 资讯表  前端控制器
23
+    * </p>
24
+ *
25
+ * @author jobob
26
+ * @since 2019-07-25
27
+ */
28
+@RestController
29
+@RequestMapping("/api")
30
+@Api(value = "物业服务", tags = "物业服务")
31
+public class TpNewsController extends BaseController {
32
+
33
+    private final Logger logger = LoggerFactory.getLogger(TpNewsController.class);
34
+
35
+    @Autowired
36
+    ITpNewsService iTpNewsService;
37
+
38
+    /**
39
+     * 列表
40
+     * @param pageNum
41
+     * @param pageSize
42
+     * @param newsName
43
+     * @param client
44
+     * @param request
45
+     * @return
46
+     */
47
+    @GetMapping("/{client}/property-news")
48
+    public ResponseBean newsList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
49
+                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
50
+                                 @RequestParam(value = "newsName", required = false) String newsName,
51
+                                 @PathVariable String client,
52
+                                 HttpServletRequest request) {
53
+        Integer orgId = getOrgId(request);
54
+
55
+        Integer status = null;
56
+        if ("wx".equals(client)) {
57
+            status = CommConstant.IS_PUBLISH;
58
+        }
59
+
60
+        IPage<TpNews> page = new Page<>(pageNum, pageSize);
61
+        IPage<TpNews> result = iTpNewsService.getListBy(page, orgId, newsName, status);
62
+
63
+        return ResponseBean.success(result);
64
+    }
65
+
66
+    /**
67
+     * 获取详情
68
+     * @param client
69
+     * @param id
70
+     * @param request
71
+     * @return
72
+     */
73
+    @GetMapping("/{client}/property-news/{id}")
74
+    public ResponseBean getNewsByID(@PathVariable String client,
75
+                                    @PathVariable Integer id,
76
+                                    HttpServletRequest request) {
77
+        Integer orgId = getOrgId(request);
78
+
79
+        TpNews tpNews = iTpNewsService.getById(id);
80
+        if (!orgId.equals(tpNews.getOrgId()) || CommConstant.STATUS_DELETE.equals(tpNews.getStatus())) {
81
+            return ResponseBean.error("未找到对应内容", ResponseBean.ERROR_ILLEGAL_PARAMS);
82
+        }
83
+
84
+        return ResponseBean.success(tpNews);
85
+    }
86
+
87
+    @PostMapping("/admin/property-news")
88
+    public ResponseBean save(@RequestBody TpNews news, HttpServletRequest request){
89
+        news.setOrgId(getOrgId(request));
90
+        news.setCreateDate(LocalDateTime.now());
91
+
92
+        if (news.getStatus() == null) {
93
+            news.setStatus(CommConstant.NOT_PUBLISH);
94
+        }
95
+
96
+        if (!iTpNewsService.save(news)) {
97
+            return ResponseBean.error("新增内容出错", ResponseBean.ERROR_UNAVAILABLE);
98
+        }
99
+        return ResponseBean.success(news);
100
+    }
101
+
102
+    @PutMapping(value="/admin/property-news/{id}")
103
+    public ResponseBean taNewsUpdate(@PathVariable Integer id,
104
+                                     @RequestBody TpNews tpNews,
105
+                                     HttpServletRequest request){
106
+        Integer orgId = getOrgId(request);
107
+
108
+        tpNews.setNewsId(id);
109
+        if (tpNews.getOrgId() == null) {
110
+            tpNews.setOrgId(orgId);
111
+        } else if (!orgId.equals(tpNews.getOrgId())) {
112
+            return ResponseBean.error("您无权修改当前内容", ResponseBean.ERROR_UNAVAILABLE);
113
+        }
114
+
115
+        if (!iTpNewsService.updateById(tpNews)) {
116
+            return ResponseBean.error("更新内容出错", ResponseBean.ERROR_UNAVAILABLE);
117
+        }
118
+
119
+        return ResponseBean.success(tpNews);
120
+    }
121
+
122
+    @DeleteMapping("/admin/property-news/{id}")
123
+    public ResponseBean taNewsUpdate(@PathVariable Integer id,
124
+                                     HttpServletRequest request){
125
+        Integer orgId = getOrgId(request);
126
+
127
+        TpNews tpNews = iTpNewsService.getById(id);
128
+        if (!orgId.equals(tpNews.getOrgId())) {
129
+            return ResponseBean.error("您无权删除当前内容", ResponseBean.ERROR_UNAVAILABLE);
130
+        }
131
+
132
+        tpNews.setStatus(CommConstant.STATUS_DELETE);
133
+        if (!iTpNewsService.updateById(tpNews)) {
134
+            return ResponseBean.error("删除内容出错", ResponseBean.ERROR_UNAVAILABLE);
135
+        }
136
+
137
+        return ResponseBean.success("删除成功");
138
+    }
139
+}

+ 117
- 0
src/main/java/com/huiju/estateagents/entity/TpNews.java View File

@@ -0,0 +1,117 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+import java.io.Serializable;
11
+import java.time.LocalDateTime;
12
+import java.util.List;
13
+
14
+/**
15
+ * <p>
16
+ * 资讯表 
17
+ * </p>
18
+ *
19
+ * @author jobob
20
+ * @since 2019-07-25
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+public class TpNews implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * 咨询ID
31
+     */
32
+    @TableId(value = "news_id", type = IdType.AUTO)
33
+    private Integer newsId;
34
+
35
+    /**
36
+     * 公司id
37
+     */
38
+    private Integer orgId;
39
+
40
+    /**
41
+     * 楼盘id
42
+     */
43
+    private String buildingId;
44
+
45
+    /**
46
+     * 资讯图片
47
+     */
48
+    private String newsImg;
49
+
50
+    /**
51
+     * 分享图片
52
+     */
53
+    private String shareImg;
54
+
55
+    /**
56
+     * 资讯标题
57
+     */
58
+    private String newsName;
59
+
60
+    /**
61
+     * 资讯类型id
62
+     */
63
+    private Integer newsTypeId;
64
+
65
+    /**
66
+     * 资讯详情类型 0是链接1是自定义
67
+     */
68
+    private String newsDetailType;
69
+
70
+    /**
71
+     * 资讯详情 0的情况下存链接,1的情况下存富文本
72
+     */
73
+    private String newsDetail;
74
+
75
+    /**
76
+     * 资讯状态 0是已发布1是未发布
77
+     */
78
+    private Integer newsStatus;
79
+
80
+    /**
81
+     * 状态
82
+     */
83
+    private Integer status;
84
+
85
+    /**
86
+     * 创建时间
87
+     */
88
+    private LocalDateTime createDate;
89
+
90
+    /**
91
+     * 阅读量
92
+     */
93
+    private Integer pvNum;
94
+
95
+    /**
96
+     * 点赞量
97
+     */
98
+    private Integer favorNum;
99
+
100
+    /**
101
+     * 收藏量
102
+     */
103
+    private Integer saveNum;
104
+
105
+    /**
106
+     * 分享数量
107
+     */
108
+    private Integer shareNum;
109
+
110
+    /**
111
+     * 权重
112
+     */
113
+    private Integer weight;
114
+
115
+    private Integer cityId;
116
+
117
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/mapper/TpNewsMapper.java View File

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

+ 1
- 1
src/main/java/com/huiju/estateagents/property/controller/TpTicketController.java View File

@@ -58,7 +58,7 @@ public class TpTicketController extends BaseController {
58 58
             @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter",value = "id:工单编号")
59 59
     })
60 60
 
61
-    @RequestMapping(value = "/ticketDetails", method = RequestMethod.POST)
61
+    @RequestMapping(value = "/admin/ticketDetails", method = RequestMethod.POST)
62 62
     public ResponseBean ticketDetails(@RequestBody String parameter, HttpServletRequest request){
63 63
         TaUser userElement = getTaUser(request);
64 64
         ResponseBean  responseBean = tpTicketService.ticketDetails(parameter,userElement.getUserId(),userElement.getOrgId());

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

@@ -0,0 +1,19 @@
1
+package com.huiju.estateagents.service;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+import com.huiju.estateagents.entity.TpNews;
6
+
7
+
8
+/**
9
+ * <p>
10
+ * 资讯表  服务类
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-07-25
15
+ */
16
+public interface ITpNewsService extends IService<TpNews> {
17
+
18
+    IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status);
19
+}

+ 36
- 0
src/main/java/com/huiju/estateagents/service/impl/TpNewsServiceImpl.java View File

@@ -0,0 +1,36 @@
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.service.impl.ServiceImpl;
6
+import com.huiju.estateagents.common.CommConstant;
7
+import com.huiju.estateagents.common.StringUtils;
8
+import com.huiju.estateagents.entity.*;
9
+import com.huiju.estateagents.mapper.TpNewsMapper;
10
+import com.huiju.estateagents.service.*;
11
+import org.springframework.stereotype.Service;
12
+
13
+/**
14
+ * <p>
15
+ * 资讯表  服务实现类
16
+ * </p>
17
+ *
18
+ * @author jobob
19
+ * @since 2019-07-25
20
+ */
21
+@Service
22
+public class TpNewsServiceImpl extends ServiceImpl<TpNewsMapper, TpNews> implements ITpNewsService {
23
+
24
+    @Override
25
+    public IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status) {
26
+        QueryWrapper<TpNews> queryWrapper = new QueryWrapper<>();
27
+        queryWrapper.eq("org_id", orgId);
28
+        queryWrapper.eq(status != null, "status", status);
29
+        queryWrapper.gt(status == null, "status", CommConstant.STATUS_DELETE);
30
+        queryWrapper.like(!StringUtils.isEmpty(newsName), "news_name", "%" + newsName + "%");
31
+        queryWrapper.orderByDesc("weight");
32
+        queryWrapper.orderByDesc("create_date");
33
+
34
+        return page(page, queryWrapper);
35
+    }
36
+}

+ 4
- 4
src/main/resources/application-dev.yml View File

@@ -41,12 +41,12 @@ wx:
41 41
     id: WiBYjqkE9KvwDv1WSq5vniGU4P0gvwlat-5ENYKpfxg
42 42
     keywords: 6
43 43
 ali:
44
-  accessKeyId: LTAI4FdMQNh1xUoiqqbKJ15J
45
-  accessKeySecret: F7vmuXBu8IrhouQYYhFMLRhIRivIzb
44
+  accessKeyId: LTAIGQtIi28MfXms
45
+  accessKeySecret: b6maakcdzEywmkhcK15rStx54hOiIA
46 46
   oss:
47 47
     endpoint: oss-cn-shanghai.aliyuncs.com
48
-    bucketName: njcj
49
-    bucketURL: https://njcj.oss-cn-shanghai.aliyuncs.com
48
+    bucketName: zhiyun-image
49
+    bucketURL: https://zhiyun-image.oss-accelerate.aliyuncs.com
50 50
 
51 51
 # 手机短信服务
52 52
 sms:

+ 5
- 0
src/main/resources/mapper/TpNewsMapper.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.TpNewsMapper">
4
+
5
+</mapper>