张延森 5 年之前
父節點
當前提交
87440f9570

+ 55
- 5
src/main/java/com/huiju/estateagents/controller/TaMiniappThemeController.java 查看文件

@@ -1,15 +1,20 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3 3
 
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 6
 import com.huiju.estateagents.base.BaseController;
6 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.CommConstant;
9
+import com.huiju.estateagents.entity.TaMiniappOrgIcon;
7 10
 import com.huiju.estateagents.entity.TaMiniappTheme;
8 11
 import com.huiju.estateagents.service.ITaMiniappThemeService;
12
+import io.swagger.models.auth.In;
9 13
 import org.springframework.beans.factory.annotation.Autowired;
10 14
 import org.springframework.web.bind.annotation.*;
11 15
 
12 16
 import javax.servlet.http.HttpServletRequest;
17
+import java.time.LocalDateTime;
13 18
 
14 19
 @RestController
15 20
 @RequestMapping("/api")
@@ -30,21 +35,66 @@ public class TaMiniappThemeController extends BaseController {
30 35
         return ResponseBean.success(themeList);
31 36
     }
32 37
 
38
+    @GetMapping("/admin/miniapp-theme/{id}")
39
+    public ResponseBean getThemeById(@PathVariable Integer id) {
40
+        if (id == null || id == 0) {
41
+            ResponseBean.error("未找到主题设置", ResponseBean.ERROR_ILLEGAL_PARAMS);
42
+        }
43
+
44
+        TaMiniappTheme taMiniappTheme = iTaMiniappThemeService.getProfileById(id);
45
+        if (taMiniappTheme == null) {
46
+            ResponseBean.error("未找到主题设置", ResponseBean.ERROR_ILLEGAL_PARAMS);
47
+        }
48
+
49
+        return ResponseBean.success(taMiniappTheme);
50
+    }
51
+
33 52
     @PostMapping("/admin/miniapp-theme")
34 53
     public ResponseBean saveTheme(@RequestBody TaMiniappTheme taMiniappTheme, HttpServletRequest request) {
54
+        return this.editTheme(taMiniappTheme, request);
55
+    }
56
+
57
+    @PutMapping("/admin/miniapp-theme")
58
+    public ResponseBean updateTheme(@RequestBody TaMiniappTheme taMiniappTheme, HttpServletRequest request) {
59
+        return this.editTheme(taMiniappTheme, request);
60
+    }
61
+
62
+    private ResponseBean editTheme(TaMiniappTheme taMiniappTheme, HttpServletRequest request) {
35 63
         if (taMiniappTheme == null) {
36 64
             return ResponseBean.error("非法参数", ResponseBean.ERROR_ILLEGAL_PARAMS);
37 65
         }
38 66
 
39 67
         Integer orgId = getOrgId(request);
68
+        Integer userId = getUserId(request);
40 69
         taMiniappTheme.setOrgId(orgId);
70
+        taMiniappTheme.setModifyUser(userId);
71
+        taMiniappTheme.setModifyDate(LocalDateTime.now());
72
+
73
+        return iTaMiniappThemeService.editTheme(taMiniappTheme);
74
+    }
75
+
76
+    @DeleteMapping("/admin/miniapp-theme/{themeId}")
77
+    public ResponseBean deleteTheme(@PathVariable Integer themeId, HttpServletRequest request) {
78
+        if (themeId == null || themeId <= 0) {
79
+            return ResponseBean.error("未找到删除内容", ResponseBean.ERROR_ILLEGAL_PARAMS);
80
+        }
41 81
 
42
-        Boolean success = iTaMiniappThemeService.save(taMiniappTheme);
43
-        if (success) {
44
-            return ResponseBean.success(taMiniappTheme);
45
-        } else {
46
-            return ResponseBean.error("保存主题失败", ResponseBean.ERROR_UNAVAILABLE);
82
+        Integer orgId = getOrgId(request);
83
+        QueryWrapper<TaMiniappTheme> queryWrapper = new QueryWrapper<>();
84
+        queryWrapper.eq("theme_id", themeId);
85
+        TaMiniappTheme taMiniappTheme = iTaMiniappThemeService.getById(themeId);
86
+        if (taMiniappTheme == null || taMiniappTheme.getStatus().equals(CommConstant.STATUS_DELETE)) {
87
+            return ResponseBean.success("");
88
+        }
89
+
90
+        if (!orgId.equals(taMiniappTheme.getOrgId())) {
91
+            return ResponseBean.error("无权删除该主题", ResponseBean.ERROR_ILLEGAL_PARAMS);
47 92
         }
93
+
94
+        Integer userId = getUserId(request);
95
+        taMiniappTheme.setModifyUser(userId);
96
+
97
+        return iTaMiniappThemeService.deleteTheme(taMiniappTheme);
48 98
     }
49 99
 
50 100
 }

+ 12
- 0
src/main/java/com/huiju/estateagents/controller/TaRaiseController.java 查看文件

@@ -11,6 +11,7 @@ import com.huiju.estateagents.entity.TaPersonBuilding;
11 11
 import com.huiju.estateagents.entity.TaRaise;
12 12
 import com.huiju.estateagents.service.ITaRaiseService;
13 13
 import com.huiju.estateagents.service.ITdCityService;
14
+import io.swagger.models.auth.In;
14 15
 import org.slf4j.Logger;
15 16
 import org.slf4j.LoggerFactory;
16 17
 import org.springframework.beans.factory.annotation.Autowired;
@@ -234,4 +235,15 @@ public class TaRaiseController extends BaseController {
234 235
         }
235 236
         return responseBean;
236 237
     }
238
+
239
+
240
+    @GetMapping("/wx/taRaise")
241
+    public ResponseBean getRaiseProfile(@RequestParam(required = false) Integer salesBatchId,
242
+                                        @RequestParam(required = false) Integer raiseId,
243
+                                        @RequestParam(required = false) String personId,
244
+                                        HttpServletRequest request) {
245
+        TaRaise taRaise = iTaRaiseService.getRaiseProfile(raiseId, salesBatchId, personId);
246
+        return ResponseBean.success(taRaise);
247
+    }
248
+
237 249
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaRaise.java 查看文件

@@ -150,4 +150,10 @@ public class TaRaise implements Serializable {
150 150
      */
151 151
     @TableField(exist = false)
152 152
     private Integer salesNumber;
153
+
154
+    /**
155
+     * 个人认筹单
156
+     */
157
+    @TableField(exist = false)
158
+    private TaRaiseRecord record;
153 159
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/service/ITaMiniappThemeService.java 查看文件

@@ -2,9 +2,16 @@ package com.huiju.estateagents.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.baomidou.mybatisplus.extension.service.IService;
5
+import com.huiju.estateagents.base.ResponseBean;
5 6
 import com.huiju.estateagents.entity.TaMiniappTheme;
6 7
 
7 8
 public interface ITaMiniappThemeService extends IService<TaMiniappTheme> {
8 9
 
9 10
     IPage<TaMiniappTheme> getThemeList(Integer orgId, Boolean includeNotUsed, Integer pageNum, Integer pageSize);
11
+
12
+    ResponseBean editTheme(TaMiniappTheme taMiniappTheme);
13
+
14
+    ResponseBean deleteTheme(TaMiniappTheme taMiniappTheme);
15
+
16
+    TaMiniappTheme getProfileById(Integer id);
10 17
 }

+ 9
- 0
src/main/java/com/huiju/estateagents/service/ITaRaiseService.java 查看文件

@@ -47,4 +47,13 @@ public interface ITaRaiseService extends IService<TaRaise> {
47 47
      * @return
48 48
      */
49 49
     ResponseBean getRaiseById(Integer id, Integer orgId);
50
+
51
+    /**
52
+     *
53
+     * @param raiseId
54
+     * @param salesBatchId
55
+     * @param personId
56
+     * @return
57
+     */
58
+    TaRaise getRaiseProfile(Integer raiseId, Integer salesBatchId, String personId);
50 59
 }

+ 137
- 0
src/main/java/com/huiju/estateagents/service/impl/TaMiniappThemeServiceImpl.java 查看文件

@@ -1,17 +1,26 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
3 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
4 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import com.huiju.estateagents.base.ResponseBean;
7 10
 import com.huiju.estateagents.common.CommConstant;
11
+import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.entity.TaMiniappOrgIcon;
8 13
 import com.huiju.estateagents.entity.TaMiniappTheme;
9 14
 import com.huiju.estateagents.mapper.TaMiniappIconMapper;
15
+import com.huiju.estateagents.mapper.TaMiniappOrgIconMapper;
10 16
 import com.huiju.estateagents.mapper.TaMiniappThemeMapper;
11 17
 import com.huiju.estateagents.service.ITaMiniappThemeService;
12 18
 import org.springframework.beans.factory.annotation.Autowired;
13 19
 import org.springframework.stereotype.Service;
14 20
 
21
+import java.time.LocalDateTime;
22
+import java.util.List;
23
+
15 24
 
16 25
 @Service
17 26
 public class TaMiniappThemeServiceImpl extends ServiceImpl<TaMiniappThemeMapper, TaMiniappTheme> implements ITaMiniappThemeService {
@@ -21,6 +30,9 @@ public class TaMiniappThemeServiceImpl extends ServiceImpl<TaMiniappThemeMapper,
21 30
     @Autowired
22 31
     TaMiniappIconMapper taMiniappIconMapper;
23 32
 
33
+    @Autowired
34
+    TaMiniappOrgIconMapper taMiniappOrgIconMapper;
35
+
24 36
     @Override
25 37
     public IPage<TaMiniappTheme> getThemeList(Integer orgId, Boolean includeNotUsed, Integer pageNum, Integer pageSize) {
26 38
         QueryWrapper<TaMiniappTheme> queryTheme = new QueryWrapper<>();
@@ -41,4 +53,129 @@ public class TaMiniappThemeServiceImpl extends ServiceImpl<TaMiniappThemeMapper,
41 53
 
42 54
         return result;
43 55
     }
56
+
57
+    @Override
58
+    public ResponseBean editTheme(TaMiniappTheme taMiniappTheme) {
59
+        if (taMiniappTheme == null) {
60
+            return ResponseBean.error("没有需要保存的内容", ResponseBean.ERROR_ILLEGAL_PARAMS);
61
+        }
62
+
63
+        if (StringUtils.isEmpty(taMiniappTheme.getThemeTitle())) {
64
+            return ResponseBean.error("主题名称不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
65
+        }
66
+
67
+        if (StringUtils.isEmpty(taMiniappTheme.getNaviFrontColor()) || StringUtils.isEmpty(taMiniappTheme.getNaviBackColor())) {
68
+            return ResponseBean.error("导航栏前景或者背景色不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
69
+        }
70
+
71
+        if (StringUtils.isEmpty(taMiniappTheme.getTabbarFrontColor()) || StringUtils.isEmpty(taMiniappTheme.getTabbarBackColor())) {
72
+            return ResponseBean.error("TabBar前景或者背景色不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
73
+        }
74
+
75
+        if (StringUtils.isEmpty(taMiniappTheme.getTabbarSelectColor())) {
76
+            return ResponseBean.error("TabBar选择色不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
77
+        }
78
+
79
+        if (taMiniappTheme.getStatus() == null) {
80
+            taMiniappTheme.setStatus(CommConstant.STATUS_NORMAL);
81
+        }
82
+
83
+        Integer themeId = taMiniappTheme.getThemeId();
84
+        if (themeId != null && themeId > 0) {
85
+            // 先删除所有图标
86
+            QueryWrapper<TaMiniappOrgIcon> wrapper = new QueryWrapper<>();
87
+            wrapper.eq("org_id", taMiniappTheme.getOrgId());
88
+            wrapper.eq("theme_id", themeId);
89
+
90
+            taMiniappOrgIconMapper.delete(wrapper);
91
+        }
92
+
93
+        // 先主表
94
+        if (themeId != null && themeId > 0) {
95
+            if (!this.updateById(taMiniappTheme)) {
96
+                return ResponseBean.error("更新主题内容失败", ResponseBean.ERROR_UNAVAILABLE);
97
+            }
98
+        } else {
99
+            if (!this.save(taMiniappTheme)) {
100
+                return ResponseBean.error("保存主题内容失败", ResponseBean.ERROR_UNAVAILABLE);
101
+            }
102
+        }
103
+
104
+        // 再子表
105
+        List<TaMiniappOrgIcon> iconList = taMiniappTheme.getIconList();
106
+        Integer orgId = taMiniappTheme.getOrgId();
107
+        if (iconList != null) {
108
+            Integer size = iconList.size();
109
+            LocalDateTime now = LocalDateTime.now();
110
+            Integer successd = 0;
111
+
112
+            for (int i = size - 1; i >= 0; i --) {
113
+                TaMiniappOrgIcon icon = iconList.get(i);
114
+                icon.setOrgId(orgId);
115
+                icon.setThemeId(themeId);
116
+                icon.setStatus(CommConstant.STATUS_NORMAL);
117
+                icon.setSort(i + 1);
118
+                icon.setCreateDate(now);
119
+                icon.setUpdateDate(now);
120
+                successd += taMiniappOrgIconMapper.insert(icon);
121
+            }
122
+
123
+            if (!size.equals(successd)) {
124
+                return ResponseBean.error("保存主题图标内容失败", ResponseBean.ERROR_UNAVAILABLE);
125
+            }
126
+        }
127
+
128
+        return ResponseBean.success(taMiniappTheme);
129
+    }
130
+
131
+    @Override
132
+    public ResponseBean deleteTheme(TaMiniappTheme taMiniappTheme) {
133
+        LocalDateTime now = LocalDateTime.now();
134
+
135
+        // 先处理子表
136
+        TaMiniappOrgIcon icon = new TaMiniappOrgIcon();
137
+        icon.setStatus(CommConstant.STATUS_DELETE);
138
+        icon.setUpdateDate(now);
139
+        icon.setOrgId(taMiniappTheme.getOrgId());
140
+        icon.setThemeId(taMiniappTheme.getThemeId());
141
+
142
+        UpdateWrapper<TaMiniappOrgIcon> wrapper = new UpdateWrapper<>();
143
+        wrapper.set("status", CommConstant.STATUS_DELETE);
144
+        wrapper.set("update_date", LocalDateTime.now());
145
+        wrapper.eq("org_id", taMiniappTheme.getOrgId());
146
+        wrapper.eq("theme_id", taMiniappTheme.getThemeId());
147
+
148
+        taMiniappOrgIconMapper.update(icon, wrapper);
149
+
150
+        // 再处理主表
151
+        taMiniappTheme.setStatus(CommConstant.STATUS_DELETE);
152
+        taMiniappTheme.setModifyDate(now);
153
+//        taMiniappTheme.setModifyUser();
154
+
155
+        if (this.updateById(taMiniappTheme)) {
156
+            return ResponseBean.success("");
157
+        } else {
158
+            return ResponseBean.error("删除主题内容失败", ResponseBean.ERROR_UNAVAILABLE);
159
+        }
160
+    }
161
+
162
+    @Override
163
+    public TaMiniappTheme getProfileById(Integer id) {
164
+        if (id == null || id < 1) return null;
165
+
166
+        TaMiniappTheme taMiniappTheme = this.getById(id);
167
+        if (taMiniappTheme.getStatus().equals(CommConstant.STATUS_DELETE)) {
168
+            return null;
169
+        }
170
+
171
+        QueryWrapper<TaMiniappOrgIcon> queryWrapper = new QueryWrapper<>();
172
+        queryWrapper.eq("org_id", taMiniappTheme.getOrgId());
173
+        queryWrapper.eq("theme_id", taMiniappTheme.getThemeId());
174
+        queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
175
+        queryWrapper.orderByDesc("sort");
176
+
177
+        taMiniappTheme.setIconList(taMiniappOrgIconMapper.selectList(queryWrapper));
178
+
179
+        return taMiniappTheme;
180
+    }
44 181
 }

+ 33
- 0
src/main/java/com/huiju/estateagents/service/impl/TaRaiseServiceImpl.java 查看文件

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
6 6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8 8
 import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.common.StringUtils;
9 11
 import com.huiju.estateagents.entity.TaPersonBuilding;
10 12
 import com.huiju.estateagents.entity.TaRaise;
11 13
 import com.huiju.estateagents.entity.TaRaiseRecord;
@@ -14,6 +16,7 @@ import com.huiju.estateagents.mapper.TaRaiseMapper;
14 16
 import com.huiju.estateagents.mapper.TaRaiseRecordMapper;
15 17
 import com.huiju.estateagents.service.ITaRaiseService;
16 18
 import org.apache.commons.collections.CollectionUtils;
19
+import org.apache.commons.collections4.QueueUtils;
17 20
 import org.slf4j.Logger;
18 21
 import org.slf4j.LoggerFactory;
19 22
 import org.springframework.beans.factory.annotation.Autowired;
@@ -96,4 +99,34 @@ public class TaRaiseServiceImpl extends ServiceImpl<TaRaiseMapper, TaRaise> impl
96 99
         responseBean.addSuccess(taRaiseMapper.getRaiseById(id, orgId));
97 100
         return responseBean;
98 101
     }
102
+
103
+    @Override
104
+    public TaRaise getRaiseProfile(Integer raiseId, Integer salesBatchId, String personId) {
105
+        if (raiseId == null && salesBatchId == null) return null;
106
+
107
+        TaRaise taRaise;
108
+        if (raiseId != null) {
109
+            taRaise = this.getById(raiseId);
110
+        } else {
111
+            QueryWrapper<TaRaise> queryWrapper = new QueryWrapper<>();
112
+            queryWrapper.eq("sales_batch_id", salesBatchId);
113
+            queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
114
+            queryWrapper.last(" limit 1");
115
+            taRaise = this.getOne(queryWrapper);
116
+        }
117
+
118
+        if (taRaise == null) return null;
119
+
120
+        if (!StringUtils.isEmpty(personId)) {
121
+            QueryWrapper<TaRaiseRecord> wrapper = new QueryWrapper<>();
122
+            wrapper.eq("raise_id", taRaise.getRaiseId());
123
+            wrapper.eq("person_id", personId);
124
+            wrapper.eq("status", CommConstant.STATUS_NORMAL);
125
+            wrapper.last("limit 1");
126
+            TaRaiseRecord  taRaiseRecord = taRaiseRecordMapper.selectOne(wrapper);
127
+            taRaise.setRecord(taRaiseRecord);
128
+        }
129
+
130
+        return taRaise;
131
+    }
99 132
 }