张延森 il y a 5 ans
Parent
révision
de8e867d24

+ 50
- 0
src/main/java/com/huiju/estateagents/controller/TaMiniappThemeController.java Voir le fichier

@@ -0,0 +1,50 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.huiju.estateagents.base.BaseController;
6
+import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.entity.TaMiniappTheme;
8
+import com.huiju.estateagents.service.ITaMiniappThemeService;
9
+import org.springframework.beans.factory.annotation.Autowired;
10
+import org.springframework.web.bind.annotation.*;
11
+
12
+import javax.servlet.http.HttpServletRequest;
13
+
14
+@RestController
15
+@RequestMapping("/api")
16
+public class TaMiniappThemeController extends BaseController {
17
+
18
+    @Autowired
19
+    ITaMiniappThemeService iTaMiniappThemeService;
20
+
21
+    @GetMapping("/admin/miniapp-theme")
22
+    public ResponseBean getThemeListForAdmin(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
23
+                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
24
+                                             HttpServletRequest request) {
25
+        Integer orgId = getOrgId(request);
26
+
27
+        Boolean includeNotUsed = true;
28
+        IPage<TaMiniappTheme> themeList = iTaMiniappThemeService.getThemeList(orgId, includeNotUsed, pageNum, pageSize);
29
+
30
+        return ResponseBean.success(themeList);
31
+    }
32
+
33
+    @PostMapping("/admin/miniapp-theme")
34
+    public ResponseBean saveTheme(@RequestBody TaMiniappTheme taMiniappTheme, HttpServletRequest request) {
35
+        if (taMiniappTheme == null) {
36
+            return ResponseBean.error("非法参数", ResponseBean.ERROR_ILLEGAL_PARAMS);
37
+        }
38
+
39
+        Integer orgId = getOrgId(request);
40
+        taMiniappTheme.setOrgId(orgId);
41
+
42
+        Boolean success = iTaMiniappThemeService.save(taMiniappTheme);
43
+        if (success) {
44
+            return ResponseBean.success(taMiniappTheme);
45
+        } else {
46
+            return ResponseBean.error("保存主题失败", ResponseBean.ERROR_UNAVAILABLE);
47
+        }
48
+    }
49
+
50
+}

+ 1
- 1
src/main/java/com/huiju/estateagents/entity/TaMiniappOrgIcon.java Voir le fichier

@@ -70,5 +70,5 @@ public class TaMiniappOrgIcon implements Serializable {
70 70
      */
71 71
     private LocalDateTime updateDate;
72 72
 
73
-
73
+    private Integer themeId;
74 74
 }

+ 100
- 0
src/main/java/com/huiju/estateagents/entity/TaMiniappTheme.java Voir le fichier

@@ -0,0 +1,100 @@
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 yansen
20
+ * @since 2020-02-27
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+public class TaMiniappTheme implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * 主题ID
31
+     */
32
+    @TableId(value = "theme_id", type = IdType.AUTO)
33
+    private Integer themeId;
34
+
35
+    /**
36
+     * 主题名称
37
+     */
38
+    private String themeTitle;
39
+
40
+    /**
41
+     * 启用时间 格式MM-DDTHH24:MI
42
+     */
43
+    private String startTime;
44
+
45
+    /**
46
+     * 停用时间 格式MM-DDTHH24:MI
47
+     */
48
+    private String endTime;
49
+
50
+    /**
51
+     * 导航前景颜色
52
+     */
53
+    private String naviFrontColor;
54
+
55
+    /**
56
+     * 导航背景颜色
57
+     */
58
+    private String naviBackColor;
59
+
60
+    /**
61
+     * TabBar前景颜色
62
+     */
63
+    private String tabbarFrontColor;
64
+
65
+    /**
66
+     * TabBar背景颜色
67
+     */
68
+    private String tabbarBackColor;
69
+
70
+    /**
71
+     * TabBar选择色
72
+     */
73
+    private String tabbarSelectColor;
74
+
75
+    /**
76
+     * 状态
77
+     */
78
+    private Integer status;
79
+
80
+    /**
81
+     * 公司id
82
+     */
83
+    private Integer orgId;
84
+
85
+    /**
86
+     * 修改人
87
+     */
88
+    private Integer modifyUser;
89
+
90
+    /**
91
+     * 修改时间
92
+     */
93
+    private LocalDateTime modifyDate;
94
+
95
+    /**
96
+     * 导航图标列表
97
+     */
98
+    @TableField(exist = false)
99
+    private List<TaMiniappOrgIcon> iconList;
100
+}

+ 5
- 0
src/main/java/com/huiju/estateagents/mapper/TaMiniappIconMapper.java Voir le fichier

@@ -2,7 +2,11 @@ package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.huiju.estateagents.entity.TaMiniappIcon;
5
+import com.huiju.estateagents.entity.TaMiniappOrgIcon;
5 6
 import org.apache.ibatis.annotations.Mapper;
7
+import org.apache.ibatis.annotations.Param;
8
+
9
+import java.util.List;
6 10
 
7 11
 /**
8 12
  * <p>
@@ -15,4 +19,5 @@ import org.apache.ibatis.annotations.Mapper;
15 19
 @Mapper
16 20
 public interface TaMiniappIconMapper extends BaseMapper<TaMiniappIcon> {
17 21
 
22
+    List<TaMiniappOrgIcon> getListByTheme(@Param("themeId") Integer themeId);
18 23
 }

+ 9
- 0
src/main/java/com/huiju/estateagents/mapper/TaMiniappThemeMapper.java Voir le fichier

@@ -0,0 +1,9 @@
1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.entity.TaMiniappTheme;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+@Mapper
8
+public interface TaMiniappThemeMapper extends BaseMapper<TaMiniappTheme> {
9
+}

+ 10
- 0
src/main/java/com/huiju/estateagents/service/ITaMiniappThemeService.java Voir le fichier

@@ -0,0 +1,10 @@
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.TaMiniappTheme;
6
+
7
+public interface ITaMiniappThemeService extends IService<TaMiniappTheme> {
8
+
9
+    IPage<TaMiniappTheme> getThemeList(Integer orgId, Boolean includeNotUsed, Integer pageNum, Integer pageSize);
10
+}

+ 44
- 0
src/main/java/com/huiju/estateagents/service/impl/TaMiniappThemeServiceImpl.java Voir le fichier

@@ -0,0 +1,44 @@
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.common.CommConstant;
8
+import com.huiju.estateagents.entity.TaMiniappTheme;
9
+import com.huiju.estateagents.mapper.TaMiniappIconMapper;
10
+import com.huiju.estateagents.mapper.TaMiniappThemeMapper;
11
+import com.huiju.estateagents.service.ITaMiniappThemeService;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.stereotype.Service;
14
+
15
+
16
+@Service
17
+public class TaMiniappThemeServiceImpl extends ServiceImpl<TaMiniappThemeMapper, TaMiniappTheme> implements ITaMiniappThemeService {
18
+    @Autowired
19
+    TaMiniappThemeMapper taMiniappThemeMapper;
20
+
21
+    @Autowired
22
+    TaMiniappIconMapper taMiniappIconMapper;
23
+
24
+    @Override
25
+    public IPage<TaMiniappTheme> getThemeList(Integer orgId, Boolean includeNotUsed, Integer pageNum, Integer pageSize) {
26
+        QueryWrapper<TaMiniappTheme> queryTheme = new QueryWrapper<>();
27
+        queryTheme.eq("org_id", orgId);
28
+
29
+        if (includeNotUsed) {
30
+            queryTheme.gt("status", CommConstant.STATUS_DELETE);
31
+        } else {
32
+            queryTheme.eq("status", CommConstant.STATUS_NORMAL);
33
+        }
34
+
35
+        IPage<TaMiniappTheme> result = this.page(new Page<>(pageNum, pageSize), queryTheme);
36
+        if (result.getSize() > 0) {
37
+            for (TaMiniappTheme theme: result.getRecords()) {
38
+                theme.setIconList(taMiniappIconMapper.getListByTheme(theme.getThemeId()));
39
+            }
40
+        }
41
+
42
+        return result;
43
+    }
44
+}

+ 11
- 0
src/main/resources/mapper/TaMiniappIconMapper.xml Voir le fichier

@@ -2,4 +2,15 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.huiju.estateagents.mapper.TaMiniappIconMapper">
4 4
 
5
+    <select id="getListByTheme" resultType="com.huiju.estateagents.entity.TaMiniappOrgIcon">
6
+        SELECT
7
+            *
8
+        FROM
9
+            ta_miniapp_org_icon t
10
+        WHERE
11
+            t.theme_id = #{themeId}
12
+            AND t.`status` = 1
13
+        ORDER BY
14
+            t.sort DESC
15
+    </select>
5 16
 </mapper>

+ 5
- 0
src/main/resources/mapper/TaMiniappTheme.xml Voir le fichier

@@ -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.entity.TaMiniappTheme">
4
+
5
+</mapper>