傅行帆 3 anni fa
parent
commit
3ba60138e3

+ 30
- 1
src/main/java/com/yunzhi/marketing/controller/TaLiveActivityController.java Vedi File

@@ -224,6 +224,34 @@ public class TaLiveActivityController extends BaseController {
224 224
         return responseBean;
225 225
     }
226 226
 
227
+    /**
228
+     * 推首页
229
+     *
230
+     * @param id             实体ID
231
+     * @return
232
+     */
233
+    @RequestMapping(value = "/admin/home/live/{id}", method = RequestMethod.PUT)
234
+    public ResponseBean taLiveActivityHome(@PathVariable Integer id,HttpServletRequest request) {
235
+        ResponseBean responseBean = new ResponseBean();
236
+        try {
237
+            TaLiveActivity taLiveActivity = iTaLiveActivityService.getById(id);
238
+            if (CommConstant.NOT_PUBLISH.equals(taLiveActivity.getIsHome())) {
239
+                taLiveActivity.setIsHome(CommConstant.IS_PUBLISH);
240
+            }else if (CommConstant.IS_PUBLISH.equals(taLiveActivity.getIsHome())) {
241
+                taLiveActivity.setIsHome(CommConstant.NOT_PUBLISH);
242
+            }
243
+            taLiveActivity.setUpdateDate(LocalDateTime.now());
244
+            taLiveActivity.setUpdateUser(getUserId(request).toString());
245
+            iTaLiveActivityService.updateById(taLiveActivity);
246
+            responseBean.addSuccess(taLiveActivity);
247
+        } catch (Exception e) {
248
+            e.printStackTrace();
249
+            logger.error("taLiveActivityUpdate -=- {}", e.toString());
250
+            responseBean.addError(e.getMessage());
251
+        }
252
+        return responseBean;
253
+    }
254
+
227 255
     /**
228 256
      * 根据id查询对象
229 257
      *
@@ -306,6 +334,7 @@ public class TaLiveActivityController extends BaseController {
306 334
                                                      @RequestParam(value = "name", required = false) String name,
307 335
                                                      @RequestParam(value = "process", required = false) Integer process,
308 336
                                                      @RequestParam(value = "newHouse", required = false) Boolean newHouse,
337
+                                                     @RequestParam(value = "isHome", required = false) Integer isHome,
309 338
                                                      HttpServletRequest request) {
310 339
         if (process != null) {
311 340
             return getPureLiveActivity(pageNum, pageSize, cityId, buildingId, name, process, request);
@@ -315,7 +344,7 @@ public class TaLiveActivityController extends BaseController {
315 344
         try {
316 345
             Integer orgId = getOrgId(request);
317 346
             IPage<LiveAndVideoVO> pg = new Page<>(pageNum, pageSize);
318
-            IPage<LiveAndVideoVO> result = iTaLiveActivityService.getWxLiveActivityAndVideo(pg, orgId, cityId, buildingId, name, newHouse);
347
+            IPage<LiveAndVideoVO> result = iTaLiveActivityService.getWxLiveActivityAndVideo(pg, orgId, cityId, buildingId, name, newHouse, isHome);
319 348
             responseBean.addSuccess(result);
320 349
 
321 350
         } catch (Exception e) {

+ 6
- 0
src/main/java/com/yunzhi/marketing/entity/TaLiveActivity.java Vedi File

@@ -96,6 +96,12 @@ public class TaLiveActivity implements Serializable {
96 96
 
97 97
     private Integer status;
98 98
 
99
+    /**
100
+     * 是否首页
101
+     */
102
+
103
+    private Integer isHome;
104
+
99 105
     /**
100 106
      * 二维码
101 107
      */

+ 265
- 265
src/main/java/com/yunzhi/marketing/interceptor/AccessInterceptor.java Vedi File

@@ -1,265 +1,265 @@
1
-package com.yunzhi.marketing.interceptor;
2
-
3
-import com.alibaba.fastjson.JSONObject;
4
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
-import com.yunzhi.marketing.base.ResponseBean;
6
-import com.yunzhi.marketing.center.sysUser.entity.SysToken;
7
-import com.yunzhi.marketing.center.sysUser.service.ISysTokenService;
8
-import com.yunzhi.marketing.center.taUser.entity.TaButtonUriMap;
9
-import com.yunzhi.marketing.center.taUser.entity.TaUserRole;
10
-import com.yunzhi.marketing.center.taUser.service.ITaButtonUriMapService;
11
-import com.yunzhi.marketing.center.taUser.service.ITaUserRoleService;
12
-import com.yunzhi.marketing.common.JWTUtils;
13
-import com.yunzhi.marketing.common.StringUtils;
14
-import com.yunzhi.marketing.entity.SysButtonInMenu;
15
-import com.yunzhi.marketing.entity.TaRoleButton;
16
-import com.yunzhi.marketing.service.ISysButtonInMenuService;
17
-import com.yunzhi.marketing.service.ITaRoleButtonService;
18
-import com.yunzhi.marketing.third.service.ITaThirdPartyMiniappConfigService;
19
-import io.jsonwebtoken.*;
20
-import lombok.extern.slf4j.Slf4j;
21
-import org.springframework.beans.factory.annotation.Autowired;
22
-import org.springframework.stereotype.Component;
23
-import org.springframework.web.servlet.HandlerInterceptor;
24
-import org.springframework.web.servlet.ModelAndView;
25
-
26
-import javax.servlet.http.HttpServletRequest;
27
-import javax.servlet.http.HttpServletResponse;
28
-import java.util.List;
29
-import java.util.Map;
30
-
31
-@Slf4j
32
-@Component
33
-public class AccessInterceptor implements HandlerInterceptor {
34
-    
35
-    @Autowired
36
-    private ISysTokenService sysTokenService;
37
-    
38
-    @Autowired
39
-    private ITaUserRoleService taUserRoleService;
40
-    
41
-    @Autowired
42
-    private ITaRoleButtonService taRoleButtonService;
43
-    
44
-    @Autowired
45
-    private ISysButtonInMenuService sysButtonInMenuService;
46
-    
47
-    @Autowired
48
-    private ITaButtonUriMapService taButtonUriMapService;
49
-    
50
-    @Autowired
51
-    private ITaThirdPartyMiniappConfigService taThirdPartyMiniappConfigService;
52
-    
53
-    private String[] whiteList = {
54
-            "/wx/chat", // 聊天暂时不鉴权
55
-            "/api/wx/login",
56
-            "/api/wx/tdCity",
57
-            "/api/wx/preload",
58
-            "/api/admin/signin",
59
-            "/api/taCheckin/activity",
60
-            "/api/wx/qrcode/scene",
61
-		    "/api/center/signin",
62
-            "/api/channel/signin",
63
-		    "/api/admin/taUser/signin",
64
-            "/swagger-resources/configuration/ui",
65
-            "/swagger-resources",
66
-            "/v2/api-docs",
67
-            "/swagger-resources/configuration",
68
-            "/swagger-ui.html",
69
-            "/webjars",
70
-            "/webjars/springfox-swagger-ui",
71
-            "/webjars/springfox-swagger-ui/css/typography.css",
72
-            "/clean/menurole",
73
-            "/clean/buttonrole",
74
-            "/api/admin/taPersonFromRecord",
75
-            "/api/notify",//微信支付所有回调放过
76
-            "/api/refund/",//微信退款所有回调放过
77
-            "/api/fadd/",//所有的法大大回调放过
78
-            "/api/third",
79
-            "/api/third/redirect/",
80
-            "/file/",
81
-            "/api/official/" // 官网接口
82
-    };
83
-
84
-    /*
85
-     * 视图渲染之后的操作
86
-     */
87
-    @Override
88
-    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
89
-            throws Exception {
90
-
91
-    }
92
-
93
-    /*
94
-     * 处理请求完成后视图渲染之前的处理操作
95
-     */
96
-    @Override
97
-    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
98
-            throws Exception {
99
-
100
-    }
101
-
102
-    @Override
103
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
104
-        log.info("接口请求路径是{}",request.getRequestURI());
105
-        //第三方权限校验
106
-        String tokenHeader = request.getHeader("x-token");
107
-        if (!StringUtils.isEmpty(tokenHeader)){
108
-            String appidHeader = request.getHeader("x-appid");
109
-            String nowHeader = request.getHeader("x-time");
110
-            String thirdState = taThirdPartyMiniappConfigService.checkToken(tokenHeader,appidHeader,nowHeader);
111
-            if (thirdState.equals("success")){
112
-                return true;
113
-            }
114
-    
115
-            ResponseBean resp = ResponseBean.error(thirdState , ResponseBean.ERROR_AUTH_FAIL);
116
-            response.addHeader("Content-type", "application/json");
117
-            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
118
-            return false;
119
-        }
120
-
121
-        // 白名单跳过
122
-        if (inWhiteList(request)) {
123
-            return true;
124
-        }
125
-
126
-        // 微信头必须对
127
-        if (!checkMiniApp(request)) {
128
-            ResponseBean resp = ResponseBean.error("请使用微信请求接口", ResponseBean.ERROR_ILLEGAL_PARAMS);
129
-
130
-            response.addHeader("Content-type", "application/json");
131
-            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
132
-            return false;
133
-        }
134
-
135
-        // 消息头必须包含 authorization 字段
136
-        String jwtHeader = request.getHeader("authorization");
137
-        if (null == jwtHeader || "".equals(jwtHeader)) {
138
-            ResponseBean resp = ResponseBean.error("请先进行系统登录操作", ResponseBean.ERROR_AUTH_FAIL);
139
-
140
-            response.addHeader("Content-type", "application/json");
141
-            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
142
-            return false;
143
-        }
144
-
145
-        String[] jwtAuths = jwtHeader.split("Bearer ");
146
-        if (null == jwtAuths || jwtAuths.length < 2 || StringUtils.isEmpty(jwtAuths[1])) {
147
-            ResponseBean resp = ResponseBean.error("权限验证非法, 数据格式不正确", ResponseBean.ERROR_AUTH_FAIL);
148
-
149
-            response.addHeader("Content-type", "application/json");
150
-            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
151
-            return false;
152
-        }
153
-
154
-        try {
155
-            // 只尝试去解析
156
-            Jwts.parser().setSigningKey(JWTUtils.key).parseClaimsJws(jwtAuths[1]);
157
-        } catch (ExpiredJwtException e) {
158
-            ResponseBean resp = ResponseBean.error("权限验证非法, 身份信息已过期", ResponseBean.ERROR_AUTH_EXPIRED);
159
-            response.addHeader("Content-type", "application/json");
160
-            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
161
-            return false;
162
-
163
-        } catch (JwtException e) {
164
-            ResponseBean resp = ResponseBean.error("权限验证非法, " + e.getMessage(), ResponseBean.ERROR_AUTH_FAIL);
165
-
166
-
167
-            response.addHeader("Content-type", "application/json");
168
-            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
169
-            return false;
170
-        }
171
-
172
-        //添加如果执行了登出操作提示先进行登录
173
-        SysToken sysToken = sysTokenService.getById(jwtAuths[1]);
174
-        if (null == sysToken){
175
-            ResponseBean resp = ResponseBean.error("请先进行系统登录操作", ResponseBean.ERROR_AUTH_FAIL);
176
-
177
-            response.addHeader("Content-type", "application/json");
178
-            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
179
-            return false;
180
-        }
181
-
182
-//        按钮权限校验
183
-//        boolean state = checkButtonRole(request);
184
-//        if (!state){
185
-//            ResponseBean resp = ResponseBean.error("权限验证非法" , ResponseBean.ERROR_AUTH_FAIL);
186
-//
187
-//            response.addHeader("Content-type", "application/json");
188
-//            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
189
-//            return false;
190
-//        }
191
-        
192
-        return true;
193
-    }
194
-    
195
-    //检验按钮权限
196
-    private boolean checkButtonRole(HttpServletRequest request) {
197
-        String action = request.getHeader("x-action");
198
-        if(StringUtils.isEmpty(action)){
199
-            return false;
200
-        }
201
-        //根据路径匹配code 一致继续 否则无权限
202
-        String requestURI = request.getRequestURI();
203
-        String method = request.getMethod();
204
-        TaButtonUriMap taButtonUriMap = taButtonUriMapService.getByURI(requestURI+":"+method);
205
-        if (null == taButtonUriMap){
206
-            return true;
207
-        }
208
-    
209
-        
210
-        if (!taButtonUriMap.getButtonCode().equals(action)){
211
-            return false;
212
-        }
213
-        
214
-        //根据code查询按钮权限
215
-        Map map = JWTUtils.getUserIdAndOrgId(request);
216
-        QueryWrapper<SysButtonInMenu> sysButtonInMenuQueryWrapper = new QueryWrapper<>();
217
-        sysButtonInMenuQueryWrapper.eq("code",action);
218
-        SysButtonInMenu sysButtonInMenu = sysButtonInMenuService.getOne(sysButtonInMenuQueryWrapper);
219
-        if (null == sysButtonInMenu){
220
-            return false;
221
-        }
222
-        //查询角色
223
-        QueryWrapper<TaRoleButton> taRoleButtonQueryWrapper = new QueryWrapper<>();
224
-        taRoleButtonQueryWrapper.eq("btn_id",sysButtonInMenu.getBtnId());
225
-        List<TaRoleButton> taRoleButtonList = taRoleButtonService.list(taRoleButtonQueryWrapper);
226
-        if (taRoleButtonList.size() < 1){
227
-            return true;
228
-        }
229
-        //查询用户
230
-        QueryWrapper<TaUserRole> taUserRoleQueryWrapper = new QueryWrapper<>();
231
-        taUserRoleQueryWrapper.eq("user_id",map.get("userId"));
232
-        TaUserRole taUserRole = taUserRoleService.getOne(taUserRoleQueryWrapper);
233
-        for (TaRoleButton taRoleButton : taRoleButtonList){
234
-            if (taRoleButton.getRoleId().equals(taUserRole.getRoleId())){
235
-                return true;
236
-            }
237
-        }
238
-        
239
-        return false;
240
-    }
241
-    
242
-    private boolean checkMiniApp(HttpServletRequest request) {
243
-        String requestURI = request.getRequestURI();
244
-
245
-        // 非微信请求
246
-        if (!requestURI.startsWith("/api/wx")) {
247
-            return true;
248
-        }
249
-
250
-        String ua = request.getHeader("user-agent");
251
-        return ua.contains("micromessenger") || ua.contains("MicroMessenger");
252
-    }
253
-
254
-    private boolean inWhiteList(HttpServletRequest request) {
255
-        String requestURI = request.getRequestURI();
256
-
257
-        for (String it : whiteList) {
258
-            if (requestURI.startsWith(it)) {
259
-                return true;
260
-            }
261
-        }
262
-
263
-        return false;
264
-    }
265
-}
1
+package com.yunzhi.marketing.interceptor;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.yunzhi.marketing.base.ResponseBean;
6
+import com.yunzhi.marketing.center.sysUser.entity.SysToken;
7
+import com.yunzhi.marketing.center.sysUser.service.ISysTokenService;
8
+import com.yunzhi.marketing.center.taUser.entity.TaButtonUriMap;
9
+import com.yunzhi.marketing.center.taUser.entity.TaUserRole;
10
+import com.yunzhi.marketing.center.taUser.service.ITaButtonUriMapService;
11
+import com.yunzhi.marketing.center.taUser.service.ITaUserRoleService;
12
+import com.yunzhi.marketing.common.JWTUtils;
13
+import com.yunzhi.marketing.common.StringUtils;
14
+import com.yunzhi.marketing.entity.SysButtonInMenu;
15
+import com.yunzhi.marketing.entity.TaRoleButton;
16
+import com.yunzhi.marketing.service.ISysButtonInMenuService;
17
+import com.yunzhi.marketing.service.ITaRoleButtonService;
18
+import com.yunzhi.marketing.third.service.ITaThirdPartyMiniappConfigService;
19
+import io.jsonwebtoken.*;
20
+import lombok.extern.slf4j.Slf4j;
21
+import org.springframework.beans.factory.annotation.Autowired;
22
+import org.springframework.stereotype.Component;
23
+import org.springframework.web.servlet.HandlerInterceptor;
24
+import org.springframework.web.servlet.ModelAndView;
25
+
26
+import javax.servlet.http.HttpServletRequest;
27
+import javax.servlet.http.HttpServletResponse;
28
+import java.util.List;
29
+import java.util.Map;
30
+
31
+@Slf4j
32
+@Component
33
+public class AccessInterceptor implements HandlerInterceptor {
34
+    
35
+    @Autowired
36
+    private ISysTokenService sysTokenService;
37
+    
38
+    @Autowired
39
+    private ITaUserRoleService taUserRoleService;
40
+    
41
+    @Autowired
42
+    private ITaRoleButtonService taRoleButtonService;
43
+    
44
+    @Autowired
45
+    private ISysButtonInMenuService sysButtonInMenuService;
46
+    
47
+    @Autowired
48
+    private ITaButtonUriMapService taButtonUriMapService;
49
+    
50
+    @Autowired
51
+    private ITaThirdPartyMiniappConfigService taThirdPartyMiniappConfigService;
52
+    
53
+    private String[] whiteList = {
54
+            "/wx/chat", // 聊天暂时不鉴权
55
+            "/api/wx/login",
56
+            "/api/wx/tdCity",
57
+            "/api/wx/preload",
58
+            "/api/admin/signin",
59
+            "/api/taCheckin/activity",
60
+            "/api/wx/qrcode/scene",
61
+		    "/api/center/signin",
62
+            "/api/channel/signin",
63
+		    "/api/admin/taUser/signin",
64
+            "/swagger-resources/configuration/ui",
65
+            "/swagger-resources",
66
+            "/v2/api-docs",
67
+            "/swagger-resources/configuration",
68
+            "/swagger-ui.html",
69
+            "/webjars",
70
+            "/webjars/springfox-swagger-ui",
71
+            "/webjars/springfox-swagger-ui/css/typography.css",
72
+            "/clean/menurole",
73
+            "/clean/buttonrole",
74
+            "/api/admin/taPersonFromRecord",
75
+            "/api/notify",//微信支付所有回调放过
76
+            "/api/refund/",//微信退款所有回调放过
77
+            "/api/fadd/",//所有的法大大回调放过
78
+            "/api/third",
79
+            "/api/third/redirect/",
80
+            "/file/",
81
+            "/api/official/" // 官网接口
82
+    };
83
+
84
+    /*
85
+     * 视图渲染之后的操作
86
+     */
87
+    @Override
88
+    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
89
+            throws Exception {
90
+
91
+    }
92
+
93
+    /*
94
+     * 处理请求完成后视图渲染之前的处理操作
95
+     */
96
+    @Override
97
+    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
98
+            throws Exception {
99
+
100
+    }
101
+
102
+    @Override
103
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
104
+        log.info("接口请求路径是{}",request.getRequestURI());
105
+        //第三方权限校验
106
+        String tokenHeader = request.getHeader("x-token");
107
+        if (!StringUtils.isEmpty(tokenHeader)){
108
+            String appidHeader = request.getHeader("x-appid");
109
+            String nowHeader = request.getHeader("x-time");
110
+            String thirdState = taThirdPartyMiniappConfigService.checkToken(tokenHeader,appidHeader,nowHeader);
111
+            if (thirdState.equals("success")){
112
+                return true;
113
+            }
114
+    
115
+            ResponseBean resp = ResponseBean.error(thirdState , ResponseBean.ERROR_AUTH_FAIL);
116
+            response.addHeader("Content-type", "application/json");
117
+            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
118
+            return false;
119
+        }
120
+
121
+        // 白名单跳过
122
+        if (inWhiteList(request)) {
123
+            return true;
124
+        }
125
+
126
+        // 微信头必须对
127
+        if (!checkMiniApp(request)) {
128
+            ResponseBean resp = ResponseBean.error("请使用微信请求接口", ResponseBean.ERROR_ILLEGAL_PARAMS);
129
+
130
+            response.addHeader("Content-type", "application/json");
131
+            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
132
+            return false;
133
+        }
134
+
135
+        // 消息头必须包含 authorization 字段
136
+        String jwtHeader = request.getHeader("authorization");
137
+        if (null == jwtHeader || "".equals(jwtHeader)) {
138
+            ResponseBean resp = ResponseBean.error("请先进行系统登录操作", ResponseBean.ERROR_AUTH_FAIL);
139
+
140
+            response.addHeader("Content-type", "application/json");
141
+            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
142
+            return false;
143
+        }
144
+
145
+        String[] jwtAuths = jwtHeader.split("Bearer ");
146
+        if (null == jwtAuths || jwtAuths.length < 2 || StringUtils.isEmpty(jwtAuths[1])) {
147
+            ResponseBean resp = ResponseBean.error("权限验证非法, 数据格式不正确", ResponseBean.ERROR_AUTH_FAIL);
148
+
149
+            response.addHeader("Content-type", "application/json");
150
+            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
151
+            return false;
152
+        }
153
+
154
+        try {
155
+            // 只尝试去解析
156
+            Jwts.parser().setSigningKey(JWTUtils.key).parseClaimsJws(jwtAuths[1]);
157
+        } catch (ExpiredJwtException e) {
158
+            ResponseBean resp = ResponseBean.error("身份信息已过期,请刷新网页重新登录", ResponseBean.ERROR_AUTH_EXPIRED);
159
+            response.addHeader("Content-type", "application/json");
160
+            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
161
+            return false;
162
+
163
+        } catch (JwtException e) {
164
+            ResponseBean resp = ResponseBean.error("权限验证非法, " + e.getMessage(), ResponseBean.ERROR_AUTH_FAIL);
165
+
166
+
167
+            response.addHeader("Content-type", "application/json");
168
+            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
169
+            return false;
170
+        }
171
+
172
+        //添加如果执行了登出操作提示先进行登录
173
+        SysToken sysToken = sysTokenService.getById(jwtAuths[1]);
174
+        if (null == sysToken){
175
+            ResponseBean resp = ResponseBean.error("请先进行系统登录操作", ResponseBean.ERROR_AUTH_FAIL);
176
+
177
+            response.addHeader("Content-type", "application/json");
178
+            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
179
+            return false;
180
+        }
181
+
182
+//        按钮权限校验
183
+//        boolean state = checkButtonRole(request);
184
+//        if (!state){
185
+//            ResponseBean resp = ResponseBean.error("权限验证非法" , ResponseBean.ERROR_AUTH_FAIL);
186
+//
187
+//            response.addHeader("Content-type", "application/json");
188
+//            response.getOutputStream().write(JSONObject.toJSONBytes(resp));
189
+//            return false;
190
+//        }
191
+        
192
+        return true;
193
+    }
194
+    
195
+    //检验按钮权限
196
+    private boolean checkButtonRole(HttpServletRequest request) {
197
+        String action = request.getHeader("x-action");
198
+        if(StringUtils.isEmpty(action)){
199
+            return false;
200
+        }
201
+        //根据路径匹配code 一致继续 否则无权限
202
+        String requestURI = request.getRequestURI();
203
+        String method = request.getMethod();
204
+        TaButtonUriMap taButtonUriMap = taButtonUriMapService.getByURI(requestURI+":"+method);
205
+        if (null == taButtonUriMap){
206
+            return true;
207
+        }
208
+    
209
+        
210
+        if (!taButtonUriMap.getButtonCode().equals(action)){
211
+            return false;
212
+        }
213
+        
214
+        //根据code查询按钮权限
215
+        Map map = JWTUtils.getUserIdAndOrgId(request);
216
+        QueryWrapper<SysButtonInMenu> sysButtonInMenuQueryWrapper = new QueryWrapper<>();
217
+        sysButtonInMenuQueryWrapper.eq("code",action);
218
+        SysButtonInMenu sysButtonInMenu = sysButtonInMenuService.getOne(sysButtonInMenuQueryWrapper);
219
+        if (null == sysButtonInMenu){
220
+            return false;
221
+        }
222
+        //查询角色
223
+        QueryWrapper<TaRoleButton> taRoleButtonQueryWrapper = new QueryWrapper<>();
224
+        taRoleButtonQueryWrapper.eq("btn_id",sysButtonInMenu.getBtnId());
225
+        List<TaRoleButton> taRoleButtonList = taRoleButtonService.list(taRoleButtonQueryWrapper);
226
+        if (taRoleButtonList.size() < 1){
227
+            return true;
228
+        }
229
+        //查询用户
230
+        QueryWrapper<TaUserRole> taUserRoleQueryWrapper = new QueryWrapper<>();
231
+        taUserRoleQueryWrapper.eq("user_id",map.get("userId"));
232
+        TaUserRole taUserRole = taUserRoleService.getOne(taUserRoleQueryWrapper);
233
+        for (TaRoleButton taRoleButton : taRoleButtonList){
234
+            if (taRoleButton.getRoleId().equals(taUserRole.getRoleId())){
235
+                return true;
236
+            }
237
+        }
238
+        
239
+        return false;
240
+    }
241
+    
242
+    private boolean checkMiniApp(HttpServletRequest request) {
243
+        String requestURI = request.getRequestURI();
244
+
245
+        // 非微信请求
246
+        if (!requestURI.startsWith("/api/wx")) {
247
+            return true;
248
+        }
249
+
250
+        String ua = request.getHeader("user-agent");
251
+        return ua.contains("micromessenger") || ua.contains("MicroMessenger");
252
+    }
253
+
254
+    private boolean inWhiteList(HttpServletRequest request) {
255
+        String requestURI = request.getRequestURI();
256
+
257
+        for (String it : whiteList) {
258
+            if (requestURI.startsWith(it)) {
259
+                return true;
260
+            }
261
+        }
262
+
263
+        return false;
264
+    }
265
+}

+ 2
- 1
src/main/java/com/yunzhi/marketing/mapper/TaLiveActivityMapper.java Vedi File

@@ -56,7 +56,8 @@ public interface TaLiveActivityMapper extends BaseMapper<TaLiveActivity> {
56 56
                                                     @Param("buildingId") String buildingId,
57 57
                                                     @Param("orgId") Integer orgId,
58 58
                                                     @Param("name") String name,
59
-                                                    @Param("newHouse") Boolean newHouse);
59
+                                                    @Param("newHouse") Boolean newHouse,
60
+                                                    @Param("isHome") Integer isHome);
60 61
 
61 62
     IPage<TaLiveActivity> getWxPureLiveActivityList(IPage<TaLiveActivity> pg,
62 63
                                                     @Param("cityId") Integer cityId,

+ 1
- 1
src/main/java/com/yunzhi/marketing/service/ITaLiveActivityService.java Vedi File

@@ -73,7 +73,7 @@ public interface ITaLiveActivityService extends IService<TaLiveActivity> {
73 73
      * @param name
74 74
      * @return
75 75
      */
76
-    IPage<LiveAndVideoVO> getWxLiveActivityAndVideo(IPage<LiveAndVideoVO> pg, Integer orgId, Integer cityId, String buildingId, String name, Boolean newHouse);
76
+    IPage<LiveAndVideoVO> getWxLiveActivityAndVideo(IPage<LiveAndVideoVO> pg, Integer orgId, Integer cityId, String buildingId, String name, Boolean newHouse,Integer isHome);
77 77
 
78 78
     IPage<TaLiveActivity> getWxPureLiveActivityList(IPage<TaLiveActivity> pg, Integer orgId, Integer cityId, String buildingId, String name, Integer process);
79 79
 }

+ 2
- 2
src/main/java/com/yunzhi/marketing/service/impl/TaLiveActivityServiceImpl.java Vedi File

@@ -210,8 +210,8 @@ public class TaLiveActivityServiceImpl extends ServiceImpl<TaLiveActivityMapper,
210 210
      * @return
211 211
      */
212 212
     @Override
213
-    public IPage<LiveAndVideoVO> getWxLiveActivityAndVideo(IPage<LiveAndVideoVO> pg, Integer orgId, Integer cityId, String buildingId, String name, Boolean newHouse) {
214
-        IPage<LiveAndVideoVO> wxLiveActivityAndVideo = taLiveActivityMapper.getWxLiveActivityAndVideo(pg, cityId, buildingId, orgId, name, newHouse);
213
+    public IPage<LiveAndVideoVO> getWxLiveActivityAndVideo(IPage<LiveAndVideoVO> pg, Integer orgId, Integer cityId, String buildingId, String name, Boolean newHouse,Integer isHome) {
214
+        IPage<LiveAndVideoVO> wxLiveActivityAndVideo = taLiveActivityMapper.getWxLiveActivityAndVideo(pg, cityId, buildingId, orgId, name, newHouse, isHome);
215 215
         return wxLiveActivityAndVideo;
216 216
     }
217 217
 

+ 30
- 0
src/main/java/com/yunzhi/marketing/xlk/controller/VideoController.java Vedi File

@@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
6 6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 7
 import com.yunzhi.marketing.base.BaseController;
8 8
 import com.yunzhi.marketing.base.ResponseBean;
9
+import com.yunzhi.marketing.common.CommConstant;
9 10
 import com.yunzhi.marketing.common.StringUtils;
10 11
 import com.yunzhi.marketing.entity.TaBuilding;
12
+import com.yunzhi.marketing.entity.TaLiveActivity;
11 13
 import com.yunzhi.marketing.entity.TaPerson;
12 14
 import com.yunzhi.marketing.service.ITaBuildingService;
13 15
 import com.yunzhi.marketing.xlk.dto.SearchHouseDTO;
@@ -178,6 +180,34 @@ public class VideoController extends BaseController {
178 180
         return responseBean;
179 181
     }
180 182
 
183
+    /**
184
+     * 推首页
185
+     *
186
+     * @param id             实体ID
187
+     * @return
188
+     */
189
+    @RequestMapping(value = "/admin/home/video/{id}", method = RequestMethod.PUT)
190
+    public ResponseBean taLiveActivityHome(@PathVariable String id,HttpServletRequest request) {
191
+        ResponseBean responseBean = new ResponseBean();
192
+        try {
193
+            Video video = iVideoService.getById(id);
194
+            if (CommConstant.NOT_PUBLISH.equals(video.getIsHome())) {
195
+                video.setIsHome(CommConstant.IS_PUBLISH);
196
+            }else if (CommConstant.IS_PUBLISH.equals(video.getIsHome())) {
197
+                video.setIsHome(CommConstant.NOT_PUBLISH);
198
+            }
199
+            video.setUpdatedTime(LocalDateTime.now());
200
+            video.setUpdatedBy(getUserId(request).toString());
201
+            iVideoService.updateById(video);
202
+            responseBean.addSuccess(video);
203
+        } catch (Exception e) {
204
+            e.printStackTrace();
205
+            logger.error("taLiveActivityUpdate -=- {}", e.toString());
206
+            responseBean.addError(e.getMessage());
207
+        }
208
+        return responseBean;
209
+    }
210
+
181 211
     /**
182 212
      * 根据id查询对象
183 213
      * @param id  实体ID

+ 5
- 0
src/main/java/com/yunzhi/marketing/xlk/entity/Video.java Vedi File

@@ -97,6 +97,11 @@ public class Video implements Serializable {
97 97
      */
98 98
     private String remark;
99 99
 
100
+    /**
101
+     * 是否推首页
102
+     */
103
+    private Integer isHome;
104
+
100 105
     /**
101 106
      * 视频地址
102 107
      */

+ 6
- 0
src/main/resources/mapper/TaLiveActivityMapper.xml Vedi File

@@ -106,6 +106,9 @@
106 106
         <if test="newHouse">
107 107
             and t.is_new_house = #{newHouse}
108 108
         </if>
109
+        <if test="isHome != null">
110
+            and t.is_home = #{isHome}
111
+        </if>
109 112
     UNION
110 113
         SELECT
111 114
             t.video_id as id,
@@ -134,6 +137,9 @@
134 137
         <if test="newHouse">
135 138
             and t.is_new_house = #{newHouse}
136 139
         </if>
140
+        <if test="isHome != null">
141
+            and t.is_home = #{isHome}
142
+        </if>
137 143
     </select>
138 144
     <select id="getWxPureLiveActivityList" resultType="com.yunzhi.marketing.entity.TaLiveActivity">
139 145
         SELECT

+ 1
- 0
src/main/resources/mapper/xlk/SceneLogMapper.xml Vedi File

@@ -24,5 +24,6 @@
24 24
                 #{personBuilding.buildingId}
25 25
             </foreach>
26 26
         </if>
27
+        order by t.update_time desc
27 28
     </select>
28 29
 </mapper>