张延森 4 年前
父节点
当前提交
d7cf907353
共有 37 个文件被更改,包括 914 次插入52 次删除
  1. 2
    0
      src/main/java/com/yunzhi/liyuanhui/LiyuanhuiApplication.java
  2. 18
    1
      src/main/java/com/yunzhi/liyuanhui/common/BaseController.java
  3. 2
    1
      src/main/java/com/yunzhi/liyuanhui/common/JWTUtils.java
  4. 1
    1
      src/main/java/com/yunzhi/liyuanhui/common/WxUtils.java
  5. 43
    1
      src/main/java/com/yunzhi/liyuanhui/controller/LoginController.java
  6. 3
    2
      src/main/java/com/yunzhi/liyuanhui/controller/SysModuleController.java
  7. 10
    5
      src/main/java/com/yunzhi/liyuanhui/controller/TaActivityController.java
  8. 14
    3
      src/main/java/com/yunzhi/liyuanhui/controller/TaActivityEnrollController.java
  9. 39
    7
      src/main/java/com/yunzhi/liyuanhui/controller/TaActivityVoteController.java
  10. 122
    0
      src/main/java/com/yunzhi/liyuanhui/controller/TaAdvertController.java
  11. 9
    4
      src/main/java/com/yunzhi/liyuanhui/controller/TaGalleryController.java
  12. 41
    9
      src/main/java/com/yunzhi/liyuanhui/controller/TaPersonController.java
  13. 6
    3
      src/main/java/com/yunzhi/liyuanhui/controller/TdActivityTypeController.java
  14. 112
    0
      src/main/java/com/yunzhi/liyuanhui/controller/TdGalleryTypeController.java
  15. 12
    0
      src/main/java/com/yunzhi/liyuanhui/entity/TaActivity.java
  16. 13
    8
      src/main/java/com/yunzhi/liyuanhui/entity/TaActivityEnroll.java
  17. 78
    0
      src/main/java/com/yunzhi/liyuanhui/entity/TaAdvert.java
  18. 8
    1
      src/main/java/com/yunzhi/liyuanhui/entity/TaGallery.java
  19. 40
    0
      src/main/java/com/yunzhi/liyuanhui/entity/TdGalleryType.java
  20. 5
    3
      src/main/java/com/yunzhi/liyuanhui/interceptor/PermissionInterceptor.java
  21. 18
    0
      src/main/java/com/yunzhi/liyuanhui/mapper/TaAdvertMapper.java
  22. 18
    0
      src/main/java/com/yunzhi/liyuanhui/mapper/TdGalleryTypeMapper.java
  23. 2
    0
      src/main/java/com/yunzhi/liyuanhui/service/ITaActivityEnrollService.java
  24. 1
    0
      src/main/java/com/yunzhi/liyuanhui/service/ITaActivityService.java
  25. 4
    0
      src/main/java/com/yunzhi/liyuanhui/service/ITaActivityVoteService.java
  26. 16
    0
      src/main/java/com/yunzhi/liyuanhui/service/ITaAdvertService.java
  27. 16
    0
      src/main/java/com/yunzhi/liyuanhui/service/ITaPersonService.java
  28. 16
    0
      src/main/java/com/yunzhi/liyuanhui/service/ITdGalleryTypeService.java
  29. 68
    0
      src/main/java/com/yunzhi/liyuanhui/service/impl/TaActivityEnrollServiceImpl.java
  30. 20
    0
      src/main/java/com/yunzhi/liyuanhui/service/impl/TaActivityServiceImpl.java
  31. 74
    0
      src/main/java/com/yunzhi/liyuanhui/service/impl/TaActivityVoteServiceImpl.java
  32. 20
    0
      src/main/java/com/yunzhi/liyuanhui/service/impl/TaAdvertServiceImpl.java
  33. 30
    0
      src/main/java/com/yunzhi/liyuanhui/service/impl/TaPersonServiceImpl.java
  34. 20
    0
      src/main/java/com/yunzhi/liyuanhui/service/impl/TdGalleryTypeServiceImpl.java
  35. 3
    3
      src/main/resources/application.yml
  36. 5
    0
      src/main/resources/mapper/TaAdvertMapper.xml
  37. 5
    0
      src/main/resources/mapper/TdGalleryTypeMapper.xml

+ 2
- 0
src/main/java/com/yunzhi/liyuanhui/LiyuanhuiApplication.java 查看文件

@@ -2,7 +2,9 @@ package com.yunzhi.liyuanhui;
2 2
 
3 3
 import org.springframework.boot.SpringApplication;
4 4
 import org.springframework.boot.autoconfigure.SpringBootApplication;
5
+import org.springframework.transaction.annotation.EnableTransactionManagement;
5 6
 
7
+@EnableTransactionManagement
6 8
 @SpringBootApplication
7 9
 public class LiyuanhuiApplication {
8 10
 

+ 18
- 1
src/main/java/com/yunzhi/liyuanhui/common/BaseController.java 查看文件

@@ -1,7 +1,9 @@
1 1
 package com.yunzhi.liyuanhui.common;
2 2
 
3 3
 import com.yunzhi.liyuanhui.entity.SysUser;
4
+import com.yunzhi.liyuanhui.entity.TaPerson;
4 5
 import com.yunzhi.liyuanhui.service.ISysUserService;
6
+import com.yunzhi.liyuanhui.service.ITaPersonService;
5 7
 import lombok.extern.slf4j.Slf4j;
6 8
 import org.springframework.beans.factory.annotation.Autowired;
7 9
 
@@ -14,10 +16,13 @@ public class BaseController {
14 16
     @Autowired
15 17
     ISysUserService iSysUserService;
16 18
 
19
+    @Autowired
20
+    ITaPersonService iTaPersonService;
21
+
17 22
     protected SysUser getUser(HttpServletRequest request) {
18 23
         try {
19 24
             Map<String, Object> params = JWTUtils.decode(JWTUtils.getToken(request));
20
-            Integer userId = Integer.valueOf(params.get("userId").toString());
25
+            Integer userId = Integer.valueOf(params.get("id").toString());
21 26
             return iSysUserService.getById(userId);
22 27
         } catch (Exception e) {
23 28
 //            e.printStackTrace();
@@ -25,4 +30,16 @@ public class BaseController {
25 30
             return null;
26 31
         }
27 32
     }
33
+
34
+    protected TaPerson getPerson(HttpServletRequest request) {
35
+        try {
36
+            Map<String, Object> params = JWTUtils.decode(JWTUtils.getToken(request));
37
+            Integer personId = Integer.valueOf(params.get("id").toString());
38
+            return iTaPersonService.getById(personId);
39
+        } catch (Exception e) {
40
+//            e.printStackTrace();
41
+            log.error("解析客户失败: {}", e.getMessage());
42
+            return null;
43
+        }
44
+    }
28 45
 }

+ 2
- 1
src/main/java/com/yunzhi/liyuanhui/common/JWTUtils.java 查看文件

@@ -42,7 +42,8 @@ public class JWTUtils {
42 42
         Date iat = datePair[0];
43 43
         Date exp = datePair[1];
44 44
 
45
-        return Jwts.builder().setIssuer(claims.get("userId").toString()).setIssuedAt(iat).setExpiration(exp).addClaims(claims).signWith(SECRET_KEY).compact();
45
+        // addClaims 放到前面不会覆盖 其余字段
46
+        return Jwts.builder().addClaims(claims).setIssuer(claims.get("id").toString()).setIssuedAt(iat).setExpiration(exp).signWith(SECRET_KEY).compact();
46 47
     }
47 48
 
48 49
     public static Map<String, Object> decode(String token) throws Exception {

+ 1
- 1
src/main/java/com/yunzhi/liyuanhui/common/WxUtils.java 查看文件

@@ -24,7 +24,7 @@ public class WxUtils {
24 24
         conf.setAesKey(config.getMiniapp().getAesKey());
25 25
         conf.setMsgDataFormat(config.getMiniapp().getMsgDataFormat());
26 26
 
27
-        WxMaService service = new WxMaServiceImpl();
27
+        service = new WxMaServiceImpl();
28 28
         service.setWxMaConfig(conf);
29 29
     }
30 30
 

+ 43
- 1
src/main/java/com/yunzhi/liyuanhui/controller/LoginController.java 查看文件

@@ -1,11 +1,15 @@
1 1
 package com.yunzhi.liyuanhui.controller;
2 2
 
3
+import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
3 4
 import com.yunzhi.liyuanhui.common.*;
4 5
 import com.yunzhi.liyuanhui.entity.SysUser;
6
+import com.yunzhi.liyuanhui.entity.TaPerson;
5 7
 import com.yunzhi.liyuanhui.service.ISysUserService;
8
+import com.yunzhi.liyuanhui.service.ITaPersonService;
6 9
 import org.springframework.beans.factory.annotation.Autowired;
7 10
 import org.springframework.web.bind.annotation.PostMapping;
8 11
 import org.springframework.web.bind.annotation.RequestBody;
12
+import org.springframework.web.bind.annotation.RequestParam;
9 13
 import org.springframework.web.bind.annotation.RestController;
10 14
 
11 15
 import javax.servlet.http.HttpServletResponse;
@@ -18,6 +22,12 @@ public class LoginController extends BaseController {
18 22
     @Autowired
19 23
     ISysUserService iSysUserService;
20 24
 
25
+    @Autowired
26
+    ITaPersonService iTaPersonService;
27
+    
28
+    @Autowired
29
+    WxUtils wxUtils;
30
+
21 31
     @PostMapping("/login")
22 32
     public ResponseBean login(@RequestBody Map<String, String> loginParam, HttpServletResponse response) throws Exception {
23 33
         if (null == loginParam) {
@@ -46,7 +56,7 @@ public class LoginController extends BaseController {
46 56
 
47 57
         // 生成 token
48 58
         Map<String, Object> claims = new HashMap<String, Object>(){{
49
-            put("userId", sysUser.getUserId());
59
+            put("id", sysUser.getUserId());
50 60
         }};
51 61
         String jws = JWTUtils.encode(claims);
52 62
         response.addHeader(JWTUtils.AUTH_HEADER, jws);
@@ -63,4 +73,36 @@ public class LoginController extends BaseController {
63 73
     public ResponseBean logout() {
64 74
         return ResponseBean.success(null);
65 75
     }
76
+
77
+    /**
78
+     * 微信登录
79
+     * @param code
80
+     * @return
81
+     * @throws Exception
82
+     */
83
+    @PostMapping("/wx/login")
84
+    public ResponseBean wxLogin(@RequestParam(value = "code") String code, HttpServletResponse response) throws Exception{
85
+        WxMaJscode2SessionResult sessionInfo = wxUtils.getService().getUserService().getSessionInfo(code);
86
+
87
+        // 获取个人信息
88
+        TaPerson taPerson = iTaPersonService.getOrSavePerson(sessionInfo.getOpenid());
89
+
90
+        // 其余信息
91
+        Map<String, Object> extraInfo = new HashMap<>();
92
+        extraInfo.put("sessionKey", sessionInfo.getSessionKey());
93
+
94
+        //
95
+        Map<String, Object> result = new HashMap<>();
96
+        result.put("person", taPerson);
97
+        result.put("extraInfo", extraInfo);
98
+
99
+
100
+        // 生成 token
101
+        Map<String, Object> claims = new HashMap<String, Object>(){{
102
+            put("id", taPerson.getPersonId());
103
+        }};
104
+        response.addHeader(JWTUtils.AUTH_HEADER, JWTUtils.encode(claims));
105
+
106
+        return ResponseBean.success(result);
107
+    }
66 108
 }

+ 3
- 2
src/main/java/com/yunzhi/liyuanhui/controller/SysModuleController.java 查看文件

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.yunzhi.liyuanhui.common.BaseController;
7 7
 import com.yunzhi.liyuanhui.common.ResponseBean;
8
+import com.yunzhi.liyuanhui.enums.StatusEnum;
8 9
 import org.slf4j.Logger;
9 10
 import org.slf4j.LoggerFactory;
10 11
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,13 +43,13 @@ public class SysModuleController extends BaseController {
42 43
      * @param pageSize
43 44
      * @return
44 45
      */
45
-    @RequestMapping(value="/sysModule",method= RequestMethod.GET)
46
+    @RequestMapping(value="/admin/sysModule",method= RequestMethod.GET)
46 47
     public ResponseBean sysModuleList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
47 48
                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
48 49
 
49 50
         IPage<SysModule> pg = new Page<>(pageNum, pageSize);
50 51
         QueryWrapper<SysModule> queryWrapper = new QueryWrapper<>();
51
-        queryWrapper.orderByDesc("create_date");
52
+        queryWrapper.eq("status", StatusEnum.NORMAL.getCode());
52 53
 
53 54
         IPage<SysModule> result = iSysModuleService.page(pg, queryWrapper);
54 55
         return ResponseBean.success(result);

+ 10
- 5
src/main/java/com/yunzhi/liyuanhui/controller/TaActivityController.java 查看文件

@@ -43,16 +43,19 @@ public class TaActivityController extends BaseController {
43 43
      * @param pageSize
44 44
      * @return
45 45
      */
46
-    @RequestMapping(value="/admin/activity",method= RequestMethod.GET)
46
+    @RequestMapping(value="/{client}/activity",method= RequestMethod.GET)
47 47
     public ResponseBean taActivityList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48 48
                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
49 49
                                        @RequestParam(value ="typeId", required = false) Integer typeId,
50
+                                       @RequestParam(value ="toIndex", defaultValue = "false") Boolean toIndex,
50 51
                                        @RequestParam(value ="name", required = false) String name,
51
-                                       @RequestParam(value ="status", required = false) Integer status) throws Exception{
52
+                                       @RequestParam(value ="status", required = false) Integer status,
53
+                                       @PathVariable String client) throws Exception{
52 54
 
53 55
         IPage<TaActivity> pg = new Page<>(pageNum, pageSize);
54 56
         QueryWrapper<TaActivity> queryWrapper = new QueryWrapper<>();
55 57
         queryWrapper.eq(null != typeId, "type_id", typeId);
58
+        queryWrapper.eq(toIndex, "to_index", toIndex);
56 59
         queryWrapper.like(!StringUtils.isEmpty(name), "name", name);
57 60
         queryWrapper.eq(null != status, "status", status);
58 61
         queryWrapper.orderByDesc("weight, create_date");
@@ -112,8 +115,10 @@ public class TaActivityController extends BaseController {
112 115
      * 根据id查询对象
113 116
      * @param id  实体ID
114 117
      */
115
-    @RequestMapping(value="/admin/activity/{id}",method= RequestMethod.GET)
116
-    public ResponseBean taActivityGet(@PathVariable Integer id) throws Exception{
117
-        return ResponseBean.success(iTaActivityService.getById(id));
118
+    @RequestMapping(value="/{client}/activity/{id}",method= RequestMethod.GET)
119
+    public ResponseBean taActivityGet(@PathVariable String client,
120
+                                      @PathVariable Integer id) throws Exception{
121
+        TaActivity result = iTaActivityService.getActivityProfile(id);
122
+        return ResponseBean.success(result);
118 123
     }
119 124
 }

+ 14
- 3
src/main/java/com/yunzhi/liyuanhui/controller/TaActivityEnrollController.java 查看文件

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.yunzhi.liyuanhui.common.BaseController;
7 7
 import com.yunzhi.liyuanhui.common.ResponseBean;
8
+import com.yunzhi.liyuanhui.entity.TaPerson;
8 9
 import org.slf4j.Logger;
9 10
 import org.slf4j.LoggerFactory;
10 11
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +19,8 @@ import com.yunzhi.liyuanhui.service.ITaActivityEnrollService;
18 19
 import com.yunzhi.liyuanhui.entity.TaActivityEnroll;
19 20
 import org.springframework.web.bind.annotation.RestController;
20 21
 
22
+import javax.servlet.http.HttpServletRequest;
23
+
21 24
 /**
22 25
  * <p>
23 26
     * 活动报名 前端控制器
@@ -61,10 +64,18 @@ public class TaActivityEnrollController extends BaseController {
61 64
      * @param taActivityEnroll 实体对象
62 65
      * @return
63 66
      */
64
-    @RequestMapping(value="/taActivityEnroll",method= RequestMethod.POST)
65
-    public ResponseBean taActivityEnrollAdd(@RequestBody TaActivityEnroll taActivityEnroll) throws Exception{
67
+    @RequestMapping(value="/wx/activity/{activityId}/enroll",method= RequestMethod.POST)
68
+    public ResponseBean taActivityEnrollAdd(@PathVariable Integer activityId,
69
+                                            @RequestBody TaActivityEnroll taActivityEnroll,
70
+                                            HttpServletRequest request) throws Exception{
71
+        if (null == taActivityEnroll) {
72
+            return ResponseBean.error("请填写报名信息", ResponseBean.ERROR_MISSING_PARAMS);
73
+        } else {
74
+            taActivityEnroll.setActivityId(activityId);
75
+        }
66 76
 
67
-        if (iTaActivityEnrollService.save(taActivityEnroll)){
77
+        TaPerson taPerson = getPerson(request);
78
+        if (iTaActivityEnrollService.enroll(taActivityEnroll, taPerson)){
68 79
             return ResponseBean.success(taActivityEnroll);
69 80
         }else {
70 81
             return ResponseBean.error("保存失败", ResponseBean.ERROR_UNAVAILABLE);

+ 39
- 7
src/main/java/com/yunzhi/liyuanhui/controller/TaActivityVoteController.java 查看文件

@@ -6,6 +6,12 @@ import com.baomidou.mybatisplus.extension.api.R;
6 6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 7
 import com.yunzhi.liyuanhui.common.BaseController;
8 8
 import com.yunzhi.liyuanhui.common.ResponseBean;
9
+import com.yunzhi.liyuanhui.entity.TaActivity;
10
+import com.yunzhi.liyuanhui.entity.TaActivityVoteItem;
11
+import com.yunzhi.liyuanhui.entity.TaPerson;
12
+import com.yunzhi.liyuanhui.enums.StatusEnum;
13
+import com.yunzhi.liyuanhui.service.ITaActivityService;
14
+import com.yunzhi.liyuanhui.service.ITaActivityVoteItemService;
9 15
 import org.slf4j.Logger;
10 16
 import org.slf4j.LoggerFactory;
11 17
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +25,9 @@ import com.yunzhi.liyuanhui.service.ITaActivityVoteService;
19 25
 import com.yunzhi.liyuanhui.entity.TaActivityVote;
20 26
 import org.springframework.web.bind.annotation.RestController;
21 27
 
28
+import javax.servlet.http.HttpServletRequest;
29
+import java.util.Map;
30
+
22 31
 /**
23 32
  * <p>
24 33
     * 活动投票 前端控制器
@@ -36,6 +45,12 @@ public class TaActivityVoteController extends BaseController {
36 45
     @Autowired
37 46
     public ITaActivityVoteService iTaActivityVoteService;
38 47
 
48
+    @Autowired
49
+    private ITaActivityService iTaActivityService;
50
+
51
+    @Autowired
52
+    private ITaActivityVoteItemService iTaActivityVoteItemService;
53
+
39 54
 
40 55
     /**
41 56
      * 分页查询列表
@@ -58,17 +73,34 @@ public class TaActivityVoteController extends BaseController {
58 73
     }
59 74
 
60 75
     /**
61
-     * 保存对象
62
-     * @param taActivityVote 实体对象
76
+     * 活动投票
77
+     * @param activityId
78
+     * @param params
79
+     * @param request
63 80
      * @return
81
+     * @throws Exception
64 82
      */
65
-    @RequestMapping(value="/taActivityVote",method= RequestMethod.POST)
66
-    public ResponseBean taActivityVoteAdd(@RequestBody TaActivityVote taActivityVote) throws Exception{
83
+    @RequestMapping(value="/wx/activity/{activityId}/vote",method= RequestMethod.POST)
84
+    public ResponseBean taActivityVoteAdd(@PathVariable Integer activityId,
85
+                                          @RequestBody Map<String, Object> params,
86
+                                          HttpServletRequest request) throws Exception{
87
+        if (null == params) {
88
+            return ResponseBean.error("投票失败, 请设置投票内容", ResponseBean.ERROR_MISSING_PARAMS);
89
+        }
67 90
 
68
-        if (iTaActivityVoteService.save(taActivityVote)){
69
-            return ResponseBean.success(taActivityVote);
91
+        Object itemId = params.get("itemId");
92
+        if (null == itemId) {
93
+            return ResponseBean.error("投票失败, 请选择设置投票项目", ResponseBean.ERROR_MISSING_PARAMS);
94
+        }
95
+
96
+        TaActivity taActivity = iTaActivityService.getById(activityId);
97
+        TaPerson taPerson = getPerson(request);
98
+        TaActivityVoteItem taActivityVoteItem = iTaActivityVoteItemService.getById(Integer.valueOf(itemId.toString()));
99
+
100
+        if (iTaActivityVoteService.vote(taActivity, taActivityVoteItem, taPerson)){
101
+            return ResponseBean.success("投票成功");
70 102
         }else {
71
-            return ResponseBean.error("保存失败", ResponseBean.ERROR_UNAVAILABLE);
103
+            return ResponseBean.error("投票失败", ResponseBean.ERROR_UNAVAILABLE);
72 104
         }
73 105
     }
74 106
 

+ 122
- 0
src/main/java/com/yunzhi/liyuanhui/controller/TaAdvertController.java 查看文件

@@ -0,0 +1,122 @@
1
+package com.yunzhi.liyuanhui.controller;
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.yunzhi.liyuanhui.common.BaseController;
7
+import com.yunzhi.liyuanhui.common.ResponseBean;
8
+import com.yunzhi.liyuanhui.common.StringUtils;
9
+import com.yunzhi.liyuanhui.enums.StatusEnum;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.PathVariable;
14
+import org.springframework.web.bind.annotation.RequestBody;
15
+import org.springframework.web.bind.annotation.RequestMapping;
16
+import org.springframework.web.bind.annotation.RequestMethod;
17
+import org.springframework.web.bind.annotation.RequestParam;
18
+import org.springframework.web.bind.annotation.ResponseBody;
19
+import com.yunzhi.liyuanhui.service.ITaAdvertService;
20
+import com.yunzhi.liyuanhui.entity.TaAdvert;
21
+import org.springframework.web.bind.annotation.RestController;
22
+
23
+/**
24
+ * <p>
25
+    * 广告位  前端控制器
26
+    * </p>
27
+ *
28
+ * @author yansen
29
+ * @since 2020-08-13
30
+ */
31
+@RestController
32
+@RequestMapping("/")
33
+public class TaAdvertController extends BaseController {
34
+
35
+    private final Logger logger = LoggerFactory.getLogger(TaAdvertController.class);
36
+
37
+    @Autowired
38
+    public ITaAdvertService iTaAdvertService;
39
+
40
+    /**
41
+     * 分页查询列表
42
+     * @param pageNum
43
+     * @param pageSize
44
+     * @return
45
+     */
46
+    @RequestMapping(value="/{client}/advert",method= RequestMethod.GET)
47
+    public ResponseBean taAdvertList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48
+                                     @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
49
+                                     @RequestParam(value ="title", required = false) String title,
50
+                                     @RequestParam(value ="position", required = false) String position,
51
+                                     @RequestParam(value ="status", required = false) Integer status,
52
+                                     @PathVariable String client) throws Exception{
53
+
54
+        IPage<TaAdvert> pg = new Page<>(pageNum, pageSize);
55
+        QueryWrapper<TaAdvert> queryWrapper = new QueryWrapper<>();
56
+        queryWrapper.like(!StringUtils.isEmpty(title), "title", title);
57
+        queryWrapper.eq(!StringUtils.isEmpty(position), "position", position);
58
+        queryWrapper.eq(status != null, "status", status);
59
+        queryWrapper.orderByDesc("sort_no");
60
+        queryWrapper.orderByDesc("create_date");
61
+
62
+        IPage<TaAdvert> result = iTaAdvertService.page(pg, queryWrapper);
63
+        return ResponseBean.success(result);
64
+    }
65
+
66
+    /**
67
+     * 保存对象
68
+     * @param taAdvert 实体对象
69
+     * @return
70
+     */
71
+    @RequestMapping(value="/admin/advert",method= RequestMethod.POST)
72
+    public ResponseBean taAdvertAdd(@RequestBody TaAdvert taAdvert) throws Exception{
73
+
74
+        if (iTaAdvertService.save(taAdvert)){
75
+            return ResponseBean.success(taAdvert);
76
+        }else {
77
+            return ResponseBean.error("保存失败", ResponseBean.ERROR_UNAVAILABLE);
78
+        }
79
+    }
80
+
81
+    /**
82
+     * 根据id删除对象
83
+     * @param id  实体ID
84
+     */
85
+    @ResponseBody
86
+    @RequestMapping(value="/taAdvert/{id}", method= RequestMethod.DELETE)
87
+    public ResponseBean taAdvertDelete(@PathVariable Integer id) throws Exception{
88
+
89
+        if(iTaAdvertService.removeById(id)){
90
+            return ResponseBean.success("success");
91
+        }else {
92
+            return ResponseBean.error("删除失败", ResponseBean.ERROR_UNAVAILABLE);
93
+        }
94
+    }
95
+
96
+    /**
97
+     * 修改对象
98
+     * @param id  实体ID
99
+     * @param taAdvert 实体对象
100
+     * @return
101
+     */
102
+    @RequestMapping(value="/admin/advert/{id}",method= RequestMethod.PUT)
103
+    public ResponseBean taAdvertUpdate(@PathVariable Integer id,
104
+                                        @RequestBody TaAdvert taAdvert) throws Exception{
105
+
106
+        if (iTaAdvertService.updateById(taAdvert)){
107
+            return ResponseBean.success(taAdvert);
108
+        }else {
109
+            return ResponseBean.error("修改失败", ResponseBean.ERROR_UNAVAILABLE);
110
+        }
111
+    }
112
+
113
+    /**
114
+     * 根据id查询对象
115
+     * @param id  实体ID
116
+     */
117
+    @RequestMapping(value="/admin/advert/{id}",method= RequestMethod.GET)
118
+    public ResponseBean taAdvertGet(@PathVariable Integer id) throws Exception{
119
+
120
+        return ResponseBean.success(iTaAdvertService.getById(id));
121
+    }
122
+}

+ 9
- 4
src/main/java/com/yunzhi/liyuanhui/controller/TaGalleryController.java 查看文件

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.yunzhi.liyuanhui.common.BaseController;
7 7
 import com.yunzhi.liyuanhui.common.ResponseBean;
8
+import com.yunzhi.liyuanhui.common.StringUtils;
9
+import com.yunzhi.liyuanhui.enums.StatusEnum;
8 10
 import org.slf4j.Logger;
9 11
 import org.slf4j.LoggerFactory;
10 12
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,13 +44,16 @@ public class TaGalleryController extends BaseController {
42 44
      * @param pageSize
43 45
      * @return
44 46
      */
45
-    @RequestMapping(value="/taGallery",method= RequestMethod.GET)
47
+    @RequestMapping(value="/{client}/gallery",method= RequestMethod.GET)
46 48
     public ResponseBean taGalleryList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
47
-                                      @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
49
+                                      @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
50
+                                      @RequestParam(value = "typeId", required = false) String typeId) throws Exception{
48 51
 
49 52
         IPage<TaGallery> pg = new Page<>(pageNum, pageSize);
50 53
         QueryWrapper<TaGallery> queryWrapper = new QueryWrapper<>();
51
-        queryWrapper.orderByDesc("create_date");
54
+        queryWrapper.eq(!StringUtils.isEmpty(typeId), "type_id", typeId);
55
+        queryWrapper.eq("status", StatusEnum.NORMAL.getCode());
56
+        queryWrapper.orderByAsc("create_date");
52 57
 
53 58
         IPage<TaGallery> result = iTaGalleryService.page(pg, queryWrapper);
54 59
         return ResponseBean.success(result);
@@ -59,7 +64,7 @@ public class TaGalleryController extends BaseController {
59 64
      * @param taGallery 实体对象
60 65
      * @return
61 66
      */
62
-    @RequestMapping(value="/taGallery",method= RequestMethod.POST)
67
+    @RequestMapping(value="/admin/gallery",method= RequestMethod.POST)
63 68
     public ResponseBean taGalleryAdd(@RequestBody TaGallery taGallery) throws Exception{
64 69
 
65 70
         if (iTaGalleryService.save(taGallery)){

+ 41
- 9
src/main/java/com/yunzhi/liyuanhui/controller/TaPersonController.java 查看文件

@@ -1,24 +1,22 @@
1 1
 package com.yunzhi.liyuanhui.controller;
2 2
 
3
+import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
3 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 7
 import com.yunzhi.liyuanhui.common.BaseController;
7 8
 import com.yunzhi.liyuanhui.common.ResponseBean;
8 9
 import com.yunzhi.liyuanhui.common.StringUtils;
10
+import com.yunzhi.liyuanhui.common.WxUtils;
9 11
 import com.yunzhi.liyuanhui.enums.StatusEnum;
10 12
 import org.slf4j.Logger;
11 13
 import org.slf4j.LoggerFactory;
12 14
 import org.springframework.beans.factory.annotation.Autowired;
13
-import org.springframework.web.bind.annotation.PathVariable;
14
-import org.springframework.web.bind.annotation.RequestBody;
15
-import org.springframework.web.bind.annotation.RequestMapping;
16
-import org.springframework.web.bind.annotation.RequestMethod;
17
-import org.springframework.web.bind.annotation.RequestParam;
18
-import org.springframework.web.bind.annotation.ResponseBody;
15
+import org.springframework.web.bind.annotation.*;
19 16
 import com.yunzhi.liyuanhui.service.ITaPersonService;
20 17
 import com.yunzhi.liyuanhui.entity.TaPerson;
21
-import org.springframework.web.bind.annotation.RestController;
18
+
19
+import java.util.Map;
22 20
 
23 21
 /**
24 22
  * <p>
@@ -37,6 +35,9 @@ public class TaPersonController extends BaseController {
37 35
     @Autowired
38 36
     public ITaPersonService iTaPersonService;
39 37
 
38
+    @Autowired
39
+    WxUtils wxUtils;
40
+
40 41
 
41 42
     /**
42 43
      * 分页查询列表
@@ -99,7 +100,7 @@ public class TaPersonController extends BaseController {
99 100
      * @param taPerson 实体对象
100 101
      * @return
101 102
      */
102
-    @RequestMapping(value="/taPerson/{id}",method= RequestMethod.PUT)
103
+    @RequestMapping(value="/wx/person/{id}",method= RequestMethod.POST)
103 104
     public ResponseBean taPersonUpdate(@PathVariable Integer id,
104 105
                                         @RequestBody TaPerson taPerson) throws Exception{
105 106
 
@@ -114,8 +115,39 @@ public class TaPersonController extends BaseController {
114 115
      * 根据id查询对象
115 116
      * @param id  实体ID
116 117
      */
117
-    @RequestMapping(value="/taPerson/{id}",method= RequestMethod.GET)
118
+    @RequestMapping(value="/wx/person/{id}",method= RequestMethod.GET)
118 119
     public ResponseBean taPersonGet(@PathVariable Integer id) throws Exception{
119 120
         return ResponseBean.success(iTaPersonService.getById(id));
120 121
     }
122
+
123
+    /**
124
+     * 获取并更新客户手机
125
+     * @param personId
126
+     * @param params
127
+     * @return
128
+     * @throws Exception
129
+     */
130
+    @PostMapping("/wx/person/{personId}/phone")
131
+    public ResponseBean updatePhone(@PathVariable Integer personId, @RequestBody Map<String, String> params) throws Exception{
132
+        if (null == params) {
133
+            return ResponseBean.error("未获取足够参数", ResponseBean.ERROR_MISSING_PARAMS);
134
+        }
135
+
136
+        String sessionKey = params.get("sessionKey");
137
+        String encryptedData = params.get("encryptedData");
138
+        String iv = params.get("iv");
139
+
140
+        if (StringUtils.isEmpty(sessionKey) || StringUtils.isEmpty(encryptedData) || StringUtils.isEmpty(iv)) {
141
+            return ResponseBean.error("未获取足够参数", ResponseBean.ERROR_MISSING_PARAMS);
142
+        }
143
+
144
+        WxMaPhoneNumberInfo phoneNoInfo = wxUtils.getService().getUserService().getPhoneNoInfo(sessionKey, encryptedData, iv);
145
+        String phone = phoneNoInfo.getPurePhoneNumber();
146
+        if (StringUtils.isEmpty(phone)) {
147
+            return ResponseBean.error("获取手机号失败", ResponseBean.ERROR_UNAVAILABLE);
148
+        }
149
+
150
+        TaPerson taPerson = iTaPersonService.updatePersonPhone(personId, phone);
151
+        return ResponseBean.success(taPerson);
152
+    }
121 153
 }

+ 6
- 3
src/main/java/com/yunzhi/liyuanhui/controller/TdActivityTypeController.java 查看文件

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.yunzhi.liyuanhui.common.BaseController;
7 7
 import com.yunzhi.liyuanhui.common.ResponseBean;
8
+import com.yunzhi.liyuanhui.enums.StatusEnum;
8 9
 import org.slf4j.Logger;
9 10
 import org.slf4j.LoggerFactory;
10 11
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,13 +43,15 @@ public class TdActivityTypeController extends BaseController {
42 43
      * @param pageSize
43 44
      * @return
44 45
      */
45
-    @RequestMapping(value="/tdActivityType",method= RequestMethod.GET)
46
+    @RequestMapping(value="/{client}/activityType",method= RequestMethod.GET)
46 47
     public ResponseBean tdActivityTypeList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
47
-                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
48
+                                           @RequestParam(value ="pageSize",defaultValue = "100") Integer pageSize,
49
+                                           @PathVariable String client) throws Exception{
48 50
 
49 51
         IPage<TdActivityType> pg = new Page<>(pageNum, pageSize);
50 52
         QueryWrapper<TdActivityType> queryWrapper = new QueryWrapper<>();
51
-        queryWrapper.orderByDesc("create_date");
53
+        queryWrapper.eq("status", StatusEnum.NORMAL.getCode());
54
+        queryWrapper.orderByDesc("sort_no");
52 55
 
53 56
         IPage<TdActivityType> result = iTdActivityTypeService.page(pg, queryWrapper);
54 57
         return ResponseBean.success(result);

+ 112
- 0
src/main/java/com/yunzhi/liyuanhui/controller/TdGalleryTypeController.java 查看文件

@@ -0,0 +1,112 @@
1
+package com.yunzhi.liyuanhui.controller;
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.yunzhi.liyuanhui.common.BaseController;
7
+import com.yunzhi.liyuanhui.common.ResponseBean;
8
+import org.slf4j.Logger;
9
+import org.slf4j.LoggerFactory;
10
+import org.springframework.beans.factory.annotation.Autowired;
11
+import org.springframework.web.bind.annotation.PathVariable;
12
+import org.springframework.web.bind.annotation.RequestBody;
13
+import org.springframework.web.bind.annotation.RequestMapping;
14
+import org.springframework.web.bind.annotation.RequestMethod;
15
+import org.springframework.web.bind.annotation.RequestParam;
16
+import org.springframework.web.bind.annotation.ResponseBody;
17
+import com.yunzhi.liyuanhui.service.ITdGalleryTypeService;
18
+import com.yunzhi.liyuanhui.entity.TdGalleryType;
19
+import org.springframework.web.bind.annotation.RestController;
20
+
21
+/**
22
+ * <p>
23
+    * 照片墙分类 生成照片墙的时候自动写入 前端控制器
24
+    * </p>
25
+ *
26
+ * @author yansen
27
+ * @since 2020-08-14
28
+ */
29
+@RestController
30
+@RequestMapping("/")
31
+public class TdGalleryTypeController extends BaseController {
32
+
33
+    private final Logger logger = LoggerFactory.getLogger(TdGalleryTypeController.class);
34
+
35
+    @Autowired
36
+    public ITdGalleryTypeService iTdGalleryTypeService;
37
+
38
+
39
+    /**
40
+     * 分页查询列表
41
+     * @param pageNum
42
+     * @param pageSize
43
+     * @return
44
+     */
45
+    @RequestMapping(value="/admin/galleryType",method= RequestMethod.GET)
46
+    public ResponseBean tdGalleryTypeList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
47
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
48
+
49
+        IPage<TdGalleryType> pg = new Page<>(pageNum, pageSize);
50
+        QueryWrapper<TdGalleryType> queryWrapper = new QueryWrapper<>();
51
+        queryWrapper.orderByDesc("type_id");
52
+
53
+        IPage<TdGalleryType> result = iTdGalleryTypeService.page(pg, queryWrapper);
54
+        return ResponseBean.success(result);
55
+    }
56
+
57
+    /**
58
+     * 保存对象
59
+     * @param tdGalleryType 实体对象
60
+     * @return
61
+     */
62
+    @RequestMapping(value="/tdGalleryType",method= RequestMethod.POST)
63
+    public ResponseBean tdGalleryTypeAdd(@RequestBody TdGalleryType tdGalleryType) throws Exception{
64
+
65
+        if (iTdGalleryTypeService.save(tdGalleryType)){
66
+            return ResponseBean.success(tdGalleryType);
67
+        }else {
68
+            return ResponseBean.error("保存失败", ResponseBean.ERROR_UNAVAILABLE);
69
+        }
70
+    }
71
+
72
+    /**
73
+     * 根据id删除对象
74
+     * @param id  实体ID
75
+     */
76
+    @ResponseBody
77
+    @RequestMapping(value="/tdGalleryType/{id}", method= RequestMethod.DELETE)
78
+    public ResponseBean tdGalleryTypeDelete(@PathVariable Integer id) throws Exception{
79
+
80
+        if(iTdGalleryTypeService.removeById(id)){
81
+            return ResponseBean.success("success");
82
+        }else {
83
+            return ResponseBean.error("删除失败", ResponseBean.ERROR_UNAVAILABLE);
84
+        }
85
+    }
86
+
87
+    /**
88
+     * 修改对象
89
+     * @param id  实体ID
90
+     * @param tdGalleryType 实体对象
91
+     * @return
92
+     */
93
+    @RequestMapping(value="/tdGalleryType/{id}",method= RequestMethod.PUT)
94
+    public ResponseBean tdGalleryTypeUpdate(@PathVariable Integer id,
95
+                                        @RequestBody TdGalleryType tdGalleryType) throws Exception{
96
+
97
+        if (iTdGalleryTypeService.updateById(tdGalleryType)){
98
+            return ResponseBean.success(tdGalleryType);
99
+        }else {
100
+            return ResponseBean.error("更新失败", ResponseBean.ERROR_UNAVAILABLE);
101
+        }
102
+    }
103
+
104
+    /**
105
+     * 根据id查询对象
106
+     * @param id  实体ID
107
+     */
108
+    @RequestMapping(value="/tdGalleryType/{id}",method= RequestMethod.GET)
109
+    public ResponseBean tdGalleryTypeGet(@PathVariable Integer id) throws Exception{
110
+        return ResponseBean.success(iTdGalleryTypeService.getById(id));
111
+    }
112
+}

+ 12
- 0
src/main/java/com/yunzhi/liyuanhui/entity/TaActivity.java 查看文件

@@ -1,9 +1,12 @@
1 1
 package com.yunzhi.liyuanhui.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
8
+import java.util.List;
9
+
7 10
 import lombok.Data;
8 11
 import lombok.EqualsAndHashCode;
9 12
 import lombok.experimental.Accessors;
@@ -144,5 +147,14 @@ public class TaActivity implements Serializable {
144 147
      */
145 148
     private Integer weight;
146 149
 
150
+    /**
151
+     * 推荐到首页
152
+     */
153
+    private Boolean toIndex;
147 154
 
155
+    /**
156
+     * 投票列表
157
+     */
158
+    @TableField(exist = false)
159
+    List<TaActivityVoteItem> voteItemList;
148 160
 }

+ 13
- 8
src/main/java/com/yunzhi/liyuanhui/entity/TaActivityEnroll.java 查看文件

@@ -55,29 +55,34 @@ public class TaActivityEnroll implements Serializable {
55 55
     private String activityTypeName;
56 56
 
57 57
     /**
58
-     * 报名
58
+     * 操作
59 59
      */
60 60
     private Integer personId;
61 61
 
62 62
     /**
63
-     * 名称
63
+     * 操作人名称
64 64
      */
65 65
     private String personName;
66 66
 
67 67
     /**
68
-     * 昵称
68
+     * 操作人手机号
69
+     */
70
+    private String personPhone;
71
+
72
+    /**
73
+     * 报名人
69 74
      */
70
-    private String personNickname;
75
+    private String enrollName;
71 76
 
72 77
     /**
73
-     * 头像
78
+     * 报名手机号
74 79
      */
75
-    private String personAvatar;
80
+    private String enrollPhone;
76 81
 
77 82
     /**
78
-     * 手机号
83
+     * 报名手机号
79 84
      */
80
-    private String phone;
85
+    private Integer enrollNum;
81 86
 
82 87
     /**
83 88
      * 报名时间

+ 78
- 0
src/main/java/com/yunzhi/liyuanhui/entity/TaAdvert.java 查看文件

@@ -0,0 +1,78 @@
1
+package com.yunzhi.liyuanhui.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import java.time.LocalDateTime;
6
+import java.io.Serializable;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+/**
12
+ * <p>
13
+ * 广告位 
14
+ * </p>
15
+ *
16
+ * @author yansen
17
+ * @since 2020-08-13
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+public class TaAdvert implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 广告ID
28
+     */
29
+    @TableId(value = "adv_id", type = IdType.AUTO)
30
+    private Integer advId;
31
+
32
+    /**
33
+     * 广告类型 冗余扩展
34
+     */
35
+    private String advType;
36
+
37
+    /**
38
+     * 标题
39
+     */
40
+    private String title;
41
+
42
+    /**
43
+     * 图片
44
+     */
45
+    private String image;
46
+
47
+    /**
48
+     * 投放位置
49
+     */
50
+    private String position;
51
+
52
+    /**
53
+     * 资源类型
54
+     */
55
+    private String srcType;
56
+
57
+    /**
58
+     * 资源ID 没有ID说明不需要链接
59
+     */
60
+    private String srcId;
61
+
62
+    /**
63
+     * 状态
64
+     */
65
+    private Integer status;
66
+
67
+    /**
68
+     * 排序
69
+     */
70
+    private Integer sortNo;
71
+
72
+    /**
73
+     * 创建时间
74
+     */
75
+    private LocalDateTime createDate;
76
+
77
+
78
+}

+ 8
- 1
src/main/java/com/yunzhi/liyuanhui/entity/TaGallery.java 查看文件

@@ -1,6 +1,7 @@
1 1
 package com.yunzhi.liyuanhui.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
@@ -29,9 +30,15 @@ public class TaGallery implements Serializable {
29 30
     @TableId(value = "img_id", type = IdType.AUTO)
30 31
     private Integer imgId;
31 32
 
33
+    /**
34
+     * 照片地址
35
+     */
36
+    private String imgUrl;
37
+
32 38
     /**
33 39
      * 描述
34 40
      */
41
+    @TableField("`desc`")
35 42
     private String desc;
36 43
 
37 44
     /**
@@ -42,7 +49,7 @@ public class TaGallery implements Serializable {
42 49
     /**
43 50
      * 分类
44 51
      */
45
-    private String imgType;
52
+    private String typeId;
46 53
 
47 54
     /**
48 55
      * 排序

+ 40
- 0
src/main/java/com/yunzhi/liyuanhui/entity/TdGalleryType.java 查看文件

@@ -0,0 +1,40 @@
1
+package com.yunzhi.liyuanhui.entity;
2
+
3
+import java.time.LocalDateTime;
4
+import java.io.Serializable;
5
+import lombok.Data;
6
+import lombok.EqualsAndHashCode;
7
+import lombok.experimental.Accessors;
8
+
9
+/**
10
+ * <p>
11
+ * 照片墙分类 生成照片墙的时候自动写入
12
+ * </p>
13
+ *
14
+ * @author yansen
15
+ * @since 2020-08-14
16
+ */
17
+@Data
18
+@EqualsAndHashCode(callSuper = false)
19
+@Accessors(chain = true)
20
+public class TdGalleryType implements Serializable {
21
+
22
+    private static final long serialVersionUID = 1L;
23
+
24
+    /**
25
+     * 分类ID
26
+     */
27
+    private String typeId;
28
+
29
+    /**
30
+     * 分类名称
31
+     */
32
+    private String name;
33
+
34
+    /**
35
+     * 创建时间
36
+     */
37
+    private LocalDateTime createDate;
38
+
39
+
40
+}

+ 5
- 3
src/main/java/com/yunzhi/liyuanhui/interceptor/PermissionInterceptor.java 查看文件

@@ -37,14 +37,16 @@ public class PermissionInterceptor implements HandlerInterceptor {
37 37
             return false;
38 38
         }
39 39
 
40
+        // 刷新 TOKEN
41
+        String newTk = JWTUtils.getToken(request);
42
+        JWTUtils.refresh(newTk, response);
43
+
40 44
         return true;
41 45
     }
42 46
 
43 47
     @Override
44 48
     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mv) throws Exception {
45
-        // 刷新 TOKEN
46
-        String jws = JWTUtils.getToken(request);
47
-        JWTUtils.refresh(jws, response);
49
+        // TODO
48 50
     }
49 51
 
50 52
     private void responseTokenError(HttpServletResponse response, String error) throws IOException {

+ 18
- 0
src/main/java/com/yunzhi/liyuanhui/mapper/TaAdvertMapper.java 查看文件

@@ -0,0 +1,18 @@
1
+package com.yunzhi.liyuanhui.mapper;
2
+
3
+import com.yunzhi.liyuanhui.entity.TaAdvert;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 广告位  Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author yansen
13
+ * @since 2020-08-13
14
+ */
15
+@Mapper
16
+public interface TaAdvertMapper extends BaseMapper<TaAdvert> {
17
+
18
+}

+ 18
- 0
src/main/java/com/yunzhi/liyuanhui/mapper/TdGalleryTypeMapper.java 查看文件

@@ -0,0 +1,18 @@
1
+package com.yunzhi.liyuanhui.mapper;
2
+
3
+import com.yunzhi.liyuanhui.entity.TdGalleryType;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 照片墙分类 生成照片墙的时候自动写入 Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author yansen
13
+ * @since 2020-08-14
14
+ */
15
+@Mapper
16
+public interface TdGalleryTypeMapper extends BaseMapper<TdGalleryType> {
17
+
18
+}

+ 2
- 0
src/main/java/com/yunzhi/liyuanhui/service/ITaActivityEnrollService.java 查看文件

@@ -2,6 +2,7 @@ package com.yunzhi.liyuanhui.service;
2 2
 
3 3
 import com.yunzhi.liyuanhui.entity.TaActivityEnroll;
4 4
 import com.baomidou.mybatisplus.extension.service.IService;
5
+import com.yunzhi.liyuanhui.entity.TaPerson;
5 6
 
6 7
 /**
7 8
  * <p>
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 14
  */
14 15
 public interface ITaActivityEnrollService extends IService<TaActivityEnroll> {
15 16
 
17
+    boolean enroll(TaActivityEnroll taActivityEnroll, TaPerson taPerson) throws Exception;
16 18
 }

+ 1
- 0
src/main/java/com/yunzhi/liyuanhui/service/ITaActivityService.java 查看文件

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 13
  */
14 14
 public interface ITaActivityService extends IService<TaActivity> {
15 15
 
16
+    TaActivity getActivityProfile(Integer id) throws Exception;
16 17
 }

+ 4
- 0
src/main/java/com/yunzhi/liyuanhui/service/ITaActivityVoteService.java 查看文件

@@ -1,7 +1,10 @@
1 1
 package com.yunzhi.liyuanhui.service;
2 2
 
3
+import com.yunzhi.liyuanhui.entity.TaActivity;
3 4
 import com.yunzhi.liyuanhui.entity.TaActivityVote;
4 5
 import com.baomidou.mybatisplus.extension.service.IService;
6
+import com.yunzhi.liyuanhui.entity.TaActivityVoteItem;
7
+import com.yunzhi.liyuanhui.entity.TaPerson;
5 8
 
6 9
 /**
7 10
  * <p>
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 16
  */
14 17
 public interface ITaActivityVoteService extends IService<TaActivityVote> {
15 18
 
19
+    boolean vote(TaActivity taActivity, TaActivityVoteItem taActivityVoteItem, TaPerson taPerson) throws Exception;
16 20
 }

+ 16
- 0
src/main/java/com/yunzhi/liyuanhui/service/ITaAdvertService.java 查看文件

@@ -0,0 +1,16 @@
1
+package com.yunzhi.liyuanhui.service;
2
+
3
+import com.yunzhi.liyuanhui.entity.TaAdvert;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 广告位  服务类
9
+ * </p>
10
+ *
11
+ * @author yansen
12
+ * @since 2020-08-13
13
+ */
14
+public interface ITaAdvertService extends IService<TaAdvert> {
15
+
16
+}

+ 16
- 0
src/main/java/com/yunzhi/liyuanhui/service/ITaPersonService.java 查看文件

@@ -13,4 +13,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 13
  */
14 14
 public interface ITaPersonService extends IService<TaPerson> {
15 15
 
16
+    /**
17
+     * 获取客户信息, 没有则新建一个
18
+     * @param openid
19
+     * @return
20
+     * @throws Exception
21
+     */
22
+    TaPerson getOrSavePerson(String openid) throws Exception;
23
+
24
+    /**
25
+     * 更新用户手机号
26
+     * @param personId
27
+     * @param phone
28
+     * @return
29
+     * @throws Exception
30
+     */
31
+    TaPerson updatePersonPhone(Integer personId, String phone) throws Exception;
16 32
 }

+ 16
- 0
src/main/java/com/yunzhi/liyuanhui/service/ITdGalleryTypeService.java 查看文件

@@ -0,0 +1,16 @@
1
+package com.yunzhi.liyuanhui.service;
2
+
3
+import com.yunzhi.liyuanhui.entity.TdGalleryType;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 照片墙分类 生成照片墙的时候自动写入 服务类
9
+ * </p>
10
+ *
11
+ * @author yansen
12
+ * @since 2020-08-14
13
+ */
14
+public interface ITdGalleryTypeService extends IService<TdGalleryType> {
15
+
16
+}

+ 68
- 0
src/main/java/com/yunzhi/liyuanhui/service/impl/TaActivityEnrollServiceImpl.java 查看文件

@@ -1,10 +1,19 @@
1 1
 package com.yunzhi.liyuanhui.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
5
+import com.yunzhi.liyuanhui.common.StringUtils;
6
+import com.yunzhi.liyuanhui.entity.TaActivity;
3 7
 import com.yunzhi.liyuanhui.entity.TaActivityEnroll;
8
+import com.yunzhi.liyuanhui.entity.TaPerson;
9
+import com.yunzhi.liyuanhui.enums.StatusEnum;
4 10
 import com.yunzhi.liyuanhui.mapper.TaActivityEnrollMapper;
5 11
 import com.yunzhi.liyuanhui.service.ITaActivityEnrollService;
6 12
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
13
+import com.yunzhi.liyuanhui.service.ITaActivityService;
14
+import org.springframework.beans.factory.annotation.Autowired;
7 15
 import org.springframework.stereotype.Service;
16
+import org.springframework.transaction.annotation.Transactional;
8 17
 
9 18
 /**
10 19
  * <p>
@@ -17,4 +26,63 @@ import org.springframework.stereotype.Service;
17 26
 @Service
18 27
 public class TaActivityEnrollServiceImpl extends ServiceImpl<TaActivityEnrollMapper, TaActivityEnroll> implements ITaActivityEnrollService {
19 28
 
29
+    @Autowired
30
+    ITaActivityService iTaActivityService;
31
+
32
+    @Transactional
33
+    @Override
34
+    public boolean enroll(TaActivityEnroll taActivityEnroll, TaPerson taPerson) throws Exception {
35
+        TaActivity taActivity = iTaActivityService.getById(taActivityEnroll.getActivityId());
36
+
37
+        if (null == taActivity || !StatusEnum.NORMAL.getCode().equals(taActivity.getStatus()) || !taActivity.getIsEnroll()) {
38
+            throw new Exception("当前活动暂不支持报名");
39
+        }
40
+
41
+        if (StringUtils.isEmpty(taPerson.getPhone())) {
42
+            throw new Exception("请先进行授权手机号操作");
43
+        }
44
+
45
+        if (StringUtils.isEmpty(taActivityEnroll.getEnrollName()) || StringUtils.isEmpty(taActivityEnroll.getEnrollPhone())) {
46
+            throw new Exception("报名人或者手机号不能为空");
47
+        }
48
+
49
+        if (null == taActivityEnroll.getEnrollNum() || 0 >= taActivityEnroll.getEnrollNum()) {
50
+            taActivityEnroll.setEnrollNum(1);
51
+        }
52
+
53
+        // 判断当前手机号是否已经报名
54
+        QueryWrapper<TaActivityEnroll> queryWrapper = new QueryWrapper<>();
55
+        queryWrapper.nested(q -> q.eq("person_phone", taPerson.getPhone())
56
+                .or().eq("person_phone", taActivityEnroll.getEnrollPhone())
57
+                .or().eq("enroll_phone", taPerson.getPhone())
58
+                .or().eq("enroll_phone", taActivityEnroll.getEnrollPhone()));
59
+        int count = this.count(queryWrapper);
60
+        if (count > 0) {
61
+            throw new Exception("当前人员或所填手机号已经报名");
62
+        }
63
+
64
+        taActivityEnroll.setActivityName(taActivity.getName());
65
+        taActivityEnroll.setActivityThumb(taActivity.getThumb());
66
+        taActivityEnroll.setActivityTypeId(taActivity.getTypeId());
67
+        taActivityEnroll.setActivityTypeName(taActivity.getTypeName());
68
+        taActivityEnroll.setPersonId(taPerson.getPersonId());
69
+        taActivityEnroll.setPersonName(StringUtils.ifNull(taPerson.getName(), taPerson.getNickname()));
70
+        taActivityEnroll.setPersonPhone(taPerson.getPhone());
71
+
72
+        if(!save(taActivityEnroll)) {
73
+            throw new RuntimeException("报名失败, 请重试");
74
+        }
75
+
76
+        // 更新投票人数
77
+        UpdateWrapper<TaActivity> updateWrapper = new UpdateWrapper<>();
78
+        updateWrapper.set("enroll_num", taActivity.getEnrollNum() + 1);
79
+        updateWrapper.eq("activity_id", taActivity.getActivityId());
80
+        updateWrapper.eq("enroll_num", taActivity.getEnrollNum());
81
+        boolean update = iTaActivityService.update(updateWrapper);
82
+        if (!update) {
83
+            throw new RuntimeException("报名失败, 请重试");
84
+        }
85
+
86
+        return true;
87
+    }
20 88
 }

+ 20
- 0
src/main/java/com/yunzhi/liyuanhui/service/impl/TaActivityServiceImpl.java 查看文件

@@ -1,9 +1,14 @@
1 1
 package com.yunzhi.liyuanhui.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.yunzhi.liyuanhui.entity.TaActivity;
5
+import com.yunzhi.liyuanhui.entity.TaActivityVoteItem;
6
+import com.yunzhi.liyuanhui.enums.StatusEnum;
4 7
 import com.yunzhi.liyuanhui.mapper.TaActivityMapper;
5 8
 import com.yunzhi.liyuanhui.service.ITaActivityService;
6 9
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
10
+import com.yunzhi.liyuanhui.service.ITaActivityVoteItemService;
11
+import org.springframework.beans.factory.annotation.Autowired;
7 12
 import org.springframework.stereotype.Service;
8 13
 
9 14
 /**
@@ -17,4 +22,19 @@ import org.springframework.stereotype.Service;
17 22
 @Service
18 23
 public class TaActivityServiceImpl extends ServiceImpl<TaActivityMapper, TaActivity> implements ITaActivityService {
19 24
 
25
+    @Autowired
26
+    ITaActivityVoteItemService iTaActivityVoteItemService;
27
+
28
+    @Override
29
+    public TaActivity getActivityProfile(Integer id) throws Exception {
30
+        TaActivity taActivity = getById(id);
31
+
32
+        QueryWrapper<TaActivityVoteItem> queryWrapper = new QueryWrapper<>();
33
+        queryWrapper.eq("activity_id", id);
34
+        queryWrapper.eq("status", StatusEnum.NORMAL.getCode());
35
+        queryWrapper.orderByAsc("sort_no");
36
+
37
+        taActivity.setVoteItemList(iTaActivityVoteItemService.list(queryWrapper));
38
+        return taActivity;
39
+    }
20 40
 }

+ 74
- 0
src/main/java/com/yunzhi/liyuanhui/service/impl/TaActivityVoteServiceImpl.java 查看文件

@@ -1,10 +1,21 @@
1 1
 package com.yunzhi.liyuanhui.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
5
+import com.yunzhi.liyuanhui.common.StringUtils;
6
+import com.yunzhi.liyuanhui.entity.TaActivity;
3 7
 import com.yunzhi.liyuanhui.entity.TaActivityVote;
8
+import com.yunzhi.liyuanhui.entity.TaActivityVoteItem;
9
+import com.yunzhi.liyuanhui.entity.TaPerson;
10
+import com.yunzhi.liyuanhui.enums.StatusEnum;
11
+import com.yunzhi.liyuanhui.mapper.TaActivityVoteItemMapper;
4 12
 import com.yunzhi.liyuanhui.mapper.TaActivityVoteMapper;
13
+import com.yunzhi.liyuanhui.service.ITaActivityVoteItemService;
5 14
 import com.yunzhi.liyuanhui.service.ITaActivityVoteService;
6 15
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
16
+import org.springframework.beans.factory.annotation.Autowired;
7 17
 import org.springframework.stereotype.Service;
18
+import org.springframework.transaction.annotation.Transactional;
8 19
 
9 20
 /**
10 21
  * <p>
@@ -17,4 +28,67 @@ import org.springframework.stereotype.Service;
17 28
 @Service
18 29
 public class TaActivityVoteServiceImpl extends ServiceImpl<TaActivityVoteMapper, TaActivityVote> implements ITaActivityVoteService {
19 30
 
31
+    @Autowired
32
+    TaActivityVoteMapper taActivityVoteMapper;
33
+
34
+    @Autowired
35
+    ITaActivityVoteItemService iTaActivityVoteItemService;
36
+
37
+    @Transactional
38
+    @Override
39
+    public boolean vote(TaActivity taActivity, TaActivityVoteItem taActivityVoteItem, TaPerson taPerson) throws Exception {
40
+        if (null == taActivity || null == taActivityVoteItem || null == taPerson) {
41
+            throw new Exception("参数错误");
42
+        }
43
+
44
+        if (StringUtils.isEmpty(taPerson.getPhone())) {
45
+            throw new Exception("请先进行授权手机号操作");
46
+        }
47
+
48
+        if (!taActivity.getIsVote() || !StatusEnum.NORMAL.getCode().equals(taActivity.getStatus()) || !taActivity.getIsVote()) {
49
+            throw new Exception("当前活动暂不支持投票");
50
+        }
51
+
52
+        if (!taActivity.getActivityId().equals(taActivityVoteItem.getActivityId())) {
53
+            throw new Exception("投票内容与活动不符");
54
+        }
55
+
56
+        // 当前人员是否已经进行过投票
57
+        QueryWrapper<TaActivityVote> queryWrapper = new QueryWrapper<>();
58
+        queryWrapper.eq("activity_id", taActivity.getActivityId());
59
+        queryWrapper.eq("item_id", taActivityVoteItem.getItemId());
60
+        queryWrapper.eq("person_id", taPerson.getPersonId());
61
+        int peronVoted = this.count(queryWrapper);
62
+        if (peronVoted > 0) {
63
+            throw new Exception("当前人员已经投过票");
64
+        }
65
+
66
+        // 投票
67
+        TaActivityVote taActivityVote = new TaActivityVote();
68
+        taActivityVote.setActivityId(taActivity.getActivityId());
69
+        taActivityVote.setActivityName(taActivity.getName());
70
+        taActivityVote.setActivityThumb(taActivity.getThumb());
71
+        taActivityVote.setItemId(taActivityVoteItem.getItemId());
72
+        taActivityVote.setItemName(taActivityVoteItem.getName());
73
+        taActivityVote.setPersonId(taPerson.getPersonId());
74
+        taActivityVote.setPersonName(StringUtils.ifNull(taPerson.getName(), taPerson.getNickname()));
75
+        taActivityVote.setPersonAvatar(taPerson.getAvatar());
76
+        taActivityVote.setPhone(taPerson.getPhone());
77
+
78
+        if (!save(taActivityVote)) {
79
+            throw new RuntimeException("投票失败, 请重试");
80
+        }
81
+
82
+        // 更新票数
83
+        UpdateWrapper<TaActivityVoteItem> updateWrapper = new UpdateWrapper<>();
84
+        updateWrapper.set("vote_num", taActivityVoteItem.getVoteNum() + 1);
85
+        updateWrapper.eq("item_id", taActivityVoteItem.getItemId());
86
+        updateWrapper.eq("vote_num", taActivityVoteItem.getVoteNum());
87
+        boolean update = iTaActivityVoteItemService.update(updateWrapper);
88
+        if (!update) {
89
+            throw new RuntimeException("投票失败, 请重试");
90
+        }
91
+
92
+        return true;
93
+    }
20 94
 }

+ 20
- 0
src/main/java/com/yunzhi/liyuanhui/service/impl/TaAdvertServiceImpl.java 查看文件

@@ -0,0 +1,20 @@
1
+package com.yunzhi.liyuanhui.service.impl;
2
+
3
+import com.yunzhi.liyuanhui.entity.TaAdvert;
4
+import com.yunzhi.liyuanhui.mapper.TaAdvertMapper;
5
+import com.yunzhi.liyuanhui.service.ITaAdvertService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 广告位  服务实现类
12
+ * </p>
13
+ *
14
+ * @author yansen
15
+ * @since 2020-08-13
16
+ */
17
+@Service
18
+public class TaAdvertServiceImpl extends ServiceImpl<TaAdvertMapper, TaAdvert> implements ITaAdvertService {
19
+
20
+}

+ 30
- 0
src/main/java/com/yunzhi/liyuanhui/service/impl/TaPersonServiceImpl.java 查看文件

@@ -1,5 +1,6 @@
1 1
 package com.yunzhi.liyuanhui.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.yunzhi.liyuanhui.entity.TaPerson;
4 5
 import com.yunzhi.liyuanhui.mapper.TaPersonMapper;
5 6
 import com.yunzhi.liyuanhui.service.ITaPersonService;
@@ -17,4 +18,33 @@ import org.springframework.stereotype.Service;
17 18
 @Service
18 19
 public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> implements ITaPersonService {
19 20
 
21
+    @Override
22
+    public TaPerson getOrSavePerson(String openid) throws Exception {
23
+        QueryWrapper<TaPerson> queryWrapper = new QueryWrapper<>();
24
+        queryWrapper.eq("openid", openid);
25
+        TaPerson person = this.getOne(queryWrapper);
26
+
27
+        // 如果找不到则新建一个
28
+        if (null == person) {
29
+            person = new TaPerson();
30
+            person.setOpenid(openid);
31
+            save(person);
32
+            // 返回最新内容
33
+            return this.getOne(queryWrapper);
34
+        }
35
+
36
+        return person;
37
+    }
38
+
39
+    @Override
40
+    public TaPerson updatePersonPhone(Integer personId, String phone) throws Exception {
41
+        TaPerson taPerson = this.getById(personId);
42
+        if (null == taPerson) {
43
+            throw new Exception("当前人员信息不存在");
44
+        }
45
+
46
+        taPerson.setPhone(phone);
47
+        updateById(taPerson);
48
+        return taPerson;
49
+    }
20 50
 }

+ 20
- 0
src/main/java/com/yunzhi/liyuanhui/service/impl/TdGalleryTypeServiceImpl.java 查看文件

@@ -0,0 +1,20 @@
1
+package com.yunzhi.liyuanhui.service.impl;
2
+
3
+import com.yunzhi.liyuanhui.entity.TdGalleryType;
4
+import com.yunzhi.liyuanhui.mapper.TdGalleryTypeMapper;
5
+import com.yunzhi.liyuanhui.service.ITdGalleryTypeService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 照片墙分类 生成照片墙的时候自动写入 服务实现类
12
+ * </p>
13
+ *
14
+ * @author yansen
15
+ * @since 2020-08-14
16
+ */
17
+@Service
18
+public class TdGalleryTypeServiceImpl extends ServiceImpl<TdGalleryTypeMapper, TdGalleryType> implements ITdGalleryTypeService {
19
+
20
+}

+ 3
- 3
src/main/resources/application.yml 查看文件

@@ -9,7 +9,7 @@ interceptor:
9 9
   permission:
10 10
     enable: true
11 11
     include-paths: /**
12
-    exclude-paths: /login
12
+    exclude-paths: /login,/logout,/wx/login
13 13
 
14 14
 ###
15 15
 mybatis-plus:
@@ -30,8 +30,8 @@ aliyun:
30 30
 ###
31 31
 weixin:
32 32
   miniapp:
33
-    appid: wxd6f47a9bb3052175
34
-    secret: 28f33b6bbc0f778c11a0bb234a7d6d4e
33
+    appid: wxd9ee3a9480a4e544
34
+    secret: db947ddc5f6498b5963d7a43b84a8718
35 35
     token:
36 36
     aesKey:
37 37
     msgDataFormat: JSON

+ 5
- 0
src/main/resources/mapper/TaAdvertMapper.xml 查看文件

@@ -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.yunzhi.liyuanhui.mapper.TaAdvertMapper">
4
+
5
+</mapper>

+ 5
- 0
src/main/resources/mapper/TdGalleryTypeMapper.xml 查看文件

@@ -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.yunzhi.liyuanhui.mapper.TdGalleryTypeMapper">
4
+
5
+</mapper>