Commit 15daeeb0 by 邝钲钞

修改Shrio默认key,@RequestMapping访问方式限制为GET和POST

parent 0cd42e9e
......@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.mapper.Wrapper;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.bean.*;
import com.winsun.constant.Constant;
import com.winsun.constant.FilePath;
import com.winsun.constant.OrderStatus;
import com.winsun.mapper.*;
import com.winsun.outSideSystem.IntelligenceSendOrder;
......@@ -46,7 +45,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/dankuan")
@RequestMapping("/dankuan") //
public class DankuanController {
@Autowired
private ProductMapper productMapper;
......@@ -81,7 +80,7 @@ public class DankuanController {
*
* @return
*/
@RequestMapping("/data")
@RequestMapping(value = "/data", method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<Product> getdankuanData(@RequestParam("id") Integer id) {
//空,直接返回
if (id == null) {
......@@ -97,7 +96,7 @@ public class DankuanController {
return ResponseData.success(product);
}
@RequestMapping("/selectUniversity")
@RequestMapping(value = "/selectUniversity",method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<UniversityInfo> selectUniversity(@RequestParam("universityId") String universityId) {
UniversityInfo universityInfo = universityInfoMapper.selectById(universityId);
return ResponseData.success(universityInfo);
......
......@@ -32,7 +32,7 @@ import java.util.Map;
*/
@Slf4j
@RestController
@RequestMapping("/deploy")
@RequestMapping("/deploy") //
public class DeployController extends BaseController {
@Autowired
......@@ -45,60 +45,61 @@ public class DeployController extends BaseController {
private UserSchoolMapper userSchoolMapper;
//新用户选择套餐页面*
@RequestMapping(value = "/chooseArea")
@RequestMapping(value = "/chooseArea", method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public String chooseArea(String partner, RedirectAttributes attr) {
List<Map<String, Object>> areaQrCode = new ArrayList<>();
if(StringUtils.isNotBlank(partner)){
if (StringUtils.isNotBlank(partner)) {
//areaQrCode =hhrManager.findAreaQrCode(partner);
}else{
} else {
return "redirect:/customer/nocard.do";
}
if(areaQrCode.size()!=1){
if (areaQrCode.size() != 1) {
return "redirect:/customer/nocard.do";
}
return "mobilePhone/yrym_chooseArea";
}
/**
*
*/
@RequestMapping(value = "/findAreaCustomer")
@RequestMapping(value = "/findAreaCustomer",method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public ResponseData<Map<String,Object>> findAreaCustomer(@RequestParam("id")Integer id) {
public ResponseData<Map<String, Object>> findAreaCustomer(@RequestParam("id") Integer id) {
Map<String,Object> objMaps = new HashMap<>();
Map<String, Object> objMaps = new HashMap<>();
UserDeploy userDeploy = userDeployMapper.selectById(id);
List<String> schoolNameList = new ArrayList<>();
if(userDeploy != null){
userDeploy.setSubNames(userDeploy.getSubNames().substring(0,userDeploy.getSubNames().length()-1));
userDeploy.setSchoolNames(userDeploy.getSchoolNames().substring(0,userDeploy.getSchoolNames().length()-1));
userDeploy.setHhrIds(userDeploy.getHhrIds().substring(0,userDeploy.getHhrIds().length()-1));
userDeploy.setHhrNames(userDeploy.getHhrNames().substring(0,userDeploy.getHhrNames().length()-1));
Map<String,String> subMap = new HashMap<>();
if (userDeploy != null) {
userDeploy.setSubNames(userDeploy.getSubNames().substring(0, userDeploy.getSubNames().length() - 1));
userDeploy.setSchoolNames(userDeploy.getSchoolNames().substring(0, userDeploy.getSchoolNames().length() - 1));
userDeploy.setHhrIds(userDeploy.getHhrIds().substring(0, userDeploy.getHhrIds().length() - 1));
userDeploy.setHhrNames(userDeploy.getHhrNames().substring(0, userDeploy.getHhrNames().length() - 1));
Map<String, String> subMap = new HashMap<>();
String[] subNames = userDeploy.getSubNames().split(",");
for (String subName : subNames) {
subMap.put(subName,subName);
subMap.put(subName, subName);
}
String[] schoolNames = userDeploy.getSchoolNames().split(",");
for (int i=0 ; i < schoolNames.length;i++){
for (int i = 0; i < schoolNames.length; i++) {
schoolNameList.add(schoolNames[i]);
}
Wrapper<School> schoolWrapper = new EntityWrapper<>();
schoolWrapper.in("school_name",schoolNameList);
schoolWrapper.in("school_name", schoolNameList);
List<School> schoolList = schoolMapper.selectList(schoolWrapper);
for (String s : subMap.keySet()) {
List<School> school1s = new ArrayList<>();
for (School school : schoolList) {
if(school.getSubName().equals(s)){
if (school.getSubName().equals(s)) {
school1s.add(school);
}
}
objMaps.put(s,school1s);
objMaps.put(s, school1s);
}
objMaps.put("subMap",subMap);
objMaps.put("userDeploy",userDeploy);
objMaps.put("subMap", subMap);
objMaps.put("userDeploy", userDeploy);
return ResponseData.success(objMaps);
}
return ResponseData.error("没有查询相关的合伙人配置信息!!!");
......@@ -106,13 +107,14 @@ public class DeployController extends BaseController {
/**
* 初始合伙人列表
*
* @param schoolId
* @return
*/
@Permission(menuname = "获取合伙人列表", value = "getHhrs", method = RequestMethod.POST)
public ResponseData<List<SysUser>> getHhrs(@RequestParam(name = "schoolId", required = false) String schoolId){
public ResponseData<List<SysUser>> getHhrs(@RequestParam(name = "schoolId", required = false) String schoolId) {
Wrapper<UserSchool> userSchoolWrapper = new EntityWrapper<>();
userSchoolWrapper.eq(StringUtils.isNotBlank(schoolId),"school_id",schoolId);
userSchoolWrapper.eq(StringUtils.isNotBlank(schoolId), "school_id", schoolId);
List<UserSchool> userSchools = userSchoolMapper.selectList(userSchoolWrapper);
List<String> list = new ArrayList<>();
for (UserSchool userSchool : userSchools) {
......@@ -120,20 +122,22 @@ public class DeployController extends BaseController {
}
Wrapper<SysUser> sysUserWrapper = new EntityWrapper<>();
sysUserWrapper.setSqlSelect("id,name");
sysUserWrapper.in("id",list);
sysUserWrapper.in("id", list);
List<SysUser> sysUserList = sysUserMapper.selectList(sysUserWrapper);
return ResponseData.success(sysUserList);
}
/**
* 初始合伙人列表
*
* @param subName
* @return
*/
@Permission(menuname = "获取学校列表", value = "getSchools", method = RequestMethod.POST)
public ResponseData<List<School>> getSchools(@RequestParam(name = "subName", required = false) String subName){
public ResponseData<List<School>> getSchools(@RequestParam(name = "subName", required = false) String subName) {
Wrapper<School> schoolWrapper = new EntityWrapper<>();
schoolWrapper.setSqlSelect("id,school_name schoolName");
schoolWrapper.eq(StringUtils.isNotBlank(subName),"sub_name",subName);
schoolWrapper.eq(StringUtils.isNotBlank(subName), "sub_name", subName);
List<School> list = schoolMapper.selectList(schoolWrapper);
return ResponseData.success(list);
}
......
......@@ -27,7 +27,6 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.annotation.Resources;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
......@@ -35,8 +34,6 @@ import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import com.winsun.constant.FilePath;
/**
* 融合办理接口
......@@ -47,7 +44,7 @@ import com.winsun.constant.FilePath;
*/
@Slf4j
@RestController
@RequestMapping("/rongHe")
@RequestMapping("/rongHe") //
public class RongHeController {
@Autowired
private ProductMapper productMapper;
......@@ -83,7 +80,7 @@ public class RongHeController {
* @return
*/
@RequestMapping("/rhData")
@RequestMapping(value = "/rhData",method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<Map<String, Object>> getRhData(@RequestParam("hhrId") String hhrId, @RequestParam("phone") String phone) {
//空,直接返回
if (StringUtils.isEmpty(hhrId)) {
......@@ -109,7 +106,7 @@ public class RongHeController {
* 宽带下单获取产品信息
*
*/
@RequestMapping("/selectProductManage")
@RequestMapping(value = "/selectProductManage",method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<Object> selectProductManage(@RequestParam("id") String id){
Map<String,Object> map = productMapper.queryProductById(id).get(0);
if(map.size()>0){
......@@ -448,7 +445,7 @@ public class RongHeController {
}
return ResponseData.error("支付失败!若已支付请实名认证,未支付请稍后尝试支付。");
}
@RequestMapping("/selectUniversity")
@RequestMapping(value = "/selectUniversity",method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<UniversityInfo> selectUniversity(@RequestParam("universityId") String universityId) {
UniversityInfo universityInfo = universityInfoMapper.selectById(universityId);
return ResponseData.success(universityInfo);
......
......@@ -2,7 +2,6 @@ package com.winsun.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.bean.School;
import com.winsun.mapper.SchoolMapper;
......@@ -20,7 +19,7 @@ import java.util.Map;
* @author chengfengluo
* @date 2021-03-09 10:15
*/
@RequestMapping("/appSchool")
@RequestMapping("/appSchool") //
@RestController
public class SchoolController {
......
......@@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit;
* @author chengfengluo
* @date 2021-01-26 17:30:39
*/
@RequestMapping("toIntegrate")
@RequestMapping("toIntegrate") //
@RestController
@Slf4j
public class SingleBroadToIntegrateController {
......
......@@ -2,7 +2,6 @@ package com.winsun.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.bean.Order;
import com.winsun.bean.Package;
......@@ -10,7 +9,10 @@ import com.winsun.mapper.OrderMapper;
import com.winsun.mapper.PackageMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
......@@ -21,7 +23,7 @@ import java.util.Map;
* @date 2021-03-17 11:30
*/
@RestController
@RequestMapping("/supervisor")
@RequestMapping("/supervisor") //
public class SupervisorController {
@Autowired
......
......@@ -29,7 +29,7 @@ import java.util.UUID;
* @author chengfengluo
* @date 2021-02-20 9:22
*/
@RequestMapping("/sync")
@RequestMapping("/sync") //
@RestController
@Slf4j
public class SyncController {
......
......@@ -11,12 +11,16 @@ import com.winsun.mapper.YxtCouponMapper;
import com.winsun.mapper.YxtOrderDetailMapper;
import com.winsun.mapper.YxtOrderMapper;
import com.winsun.mapper.YxtSalesLimitMapper;
import com.winsun.utils.*;
import com.winsun.utils.HTTPSClient;
import com.winsun.utils.WXPayUtil;
import com.winsun.utils.WxInterfacesUtil;
import com.winsun.utils.XmlParser;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
......@@ -35,7 +39,7 @@ import java.util.concurrent.locks.ReentrantLock;
*/
@Slf4j
@RestController
@RequestMapping("/wxpay")
@RequestMapping("/wxpay") //
public class YxtWxPayController extends BaseController {
@Autowired
......@@ -53,7 +57,7 @@ public class YxtWxPayController extends BaseController {
public static Lock lock = new ReentrantLock();
// 公众号支付异步回调
@RequestMapping("/payNotify")
@RequestMapping(value = "/payNotify",method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public void payNotify(HttpServletResponse response, HttpServletRequest request){
......
......@@ -34,7 +34,7 @@ import java.util.regex.Pattern;
*/
@Slf4j
@RestController
@RequestMapping("/codesManager")
@RequestMapping("/codesManager") //
public class codeManagerController {
@Autowired
private RegularMapper regularMapper;
......
package com.winsun.item.config.web;
import com.winsun.auth.core.config.properties.WinsunProperties;
import com.winsun.item.config.SessionDaoConfig;
import com.winsun.item.config.ShiroRedisCacheManager;
import com.winsun.item.core.intercept.GunsUserFilter;
import com.winsun.item.core.shiro.MyWebSessionManager;
import com.winsun.item.core.shiro.ShiroDbRealm;
import org.apache.shiro.cache.CacheManager;
import org.apache.shiro.cache.ehcache.EhCacheManager;
import org.apache.shiro.codec.Base64;
import org.apache.shiro.spring.LifecycleBeanPostProcessor;
import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.CookieRememberMeManager;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.apache.shiro.web.servlet.Cookie;
import org.apache.shiro.web.servlet.SimpleCookie;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.config.MethodInvokingFactoryBean;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.RedisTemplate;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.servlet.Filter;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
@Configuration
@EnableAutoConfiguration
public class ShiroConfig {
public ShiroConfig() {
}
@Bean
public DefaultWebSecurityManager securityManager(CookieRememberMeManager rememberMeManager, CacheManager cacheShiroManager, RedisTemplate<Object, Object> redisTemplate, @Value("${winsun.redis-session-expire}") String expire, @Value("${winsun.spring-session-open}") boolean redisSessionOpen) {
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(this.shiroDbRealm());
securityManager.setCacheManager(cacheShiroManager);
securityManager.setRememberMeManager(rememberMeManager);
if (redisSessionOpen) {
securityManager.setSessionManager(this.servletContainerSessionManager(redisTemplate, expire));
} else {
MyWebSessionManager webSessionManager = new MyWebSessionManager();
webSessionManager.setSessionValidationInterval(900000L);
webSessionManager.setGlobalSessionTimeout(1800000L);
securityManager.setSessionManager(webSessionManager);
}
return securityManager;
}
@Bean
@ConditionalOnProperty(
prefix = "winsun",
name = {"spring-session-open"},
havingValue = "true"
)
public MyWebSessionManager servletContainerSessionManager(RedisTemplate<Object, Object> redisTemplate, String expire) {
MyWebSessionManager webSessionManager = new MyWebSessionManager();
webSessionManager.setSessionDAO(new SessionDaoConfig(redisTemplate, expire));
webSessionManager.setCacheManager(new ShiroRedisCacheManager(redisTemplate, expire));
webSessionManager.setSessionValidationInterval((long) (Integer.valueOf(expire) * 1000));
webSessionManager.setGlobalSessionTimeout((long) (Integer.valueOf(expire) * 1000));
return webSessionManager;
}
@Bean
@ConditionalOnProperty(
prefix = "winsun",
name = {"spring-session-open"},
havingValue = "false"
)
public DefaultWebSessionManager defaultWebSessionManager(CacheManager cacheShiroManager, WinsunProperties winsunProperties) {
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
sessionManager.setCacheManager(cacheShiroManager);
sessionManager.setSessionValidationInterval((long) (winsunProperties.getSessionValidationInterval() * 1000));
sessionManager.setGlobalSessionTimeout((long) (winsunProperties.getSessionInvalidateTime() * 1000));
sessionManager.setDeleteInvalidSessions(true);
sessionManager.setSessionValidationSchedulerEnabled(true);
Cookie cookie = new SimpleCookie("JSESSIONID");
cookie.setName("shiroCookie");
cookie.setHttpOnly(true);
sessionManager.setSessionIdCookie(cookie);
return sessionManager;
}
@Bean
public CacheManager getCacheShiroManager(EhCacheManagerFactoryBean ehcache) {
EhCacheManager ehCacheManager = new EhCacheManager();
ehCacheManager.setCacheManager(ehcache.getObject());
return ehCacheManager;
}
@Bean
public ShiroDbRealm shiroDbRealm() {
return new ShiroDbRealm();
}
@Bean
public CookieRememberMeManager rememberMeManager(SimpleCookie rememberMeCookie) {
KeyGenerator keygen = null;
try {
keygen = KeyGenerator.getInstance("AES");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
SecretKey deskey = keygen.generateKey();
System.out.println(">>>>"+Base64.encodeToString(deskey.getEncoded()));
CookieRememberMeManager manager = new CookieRememberMeManager();
manager.setCipherKey(Base64.decode(deskey.getEncoded()));
manager.setCookie(rememberMeCookie);
return manager;
}
@Bean
public SimpleCookie rememberMeCookie() {
SimpleCookie simpleCookie = new SimpleCookie("rememberMe");
simpleCookie.setHttpOnly(true);
simpleCookie.setMaxAge(604800);
return simpleCookie;
}
@Bean
public ShiroFilterFactoryBean shiroFilter(DefaultWebSecurityManager securityManager) {
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
shiroFilter.setSecurityManager(securityManager);
shiroFilter.setLoginUrl("/login");
shiroFilter.setSuccessUrl("/");
shiroFilter.setUnauthorizedUrl("/global/error");
HashMap<String, Filter> myFilters = new HashMap();
myFilters.put("user", new GunsUserFilter());
shiroFilter.setFilters(myFilters);
Map<String, String> hashMap = new LinkedHashMap();
String ANON = "anon";
String USER = "user";
String AUTHC = "authc";
Arrays.asList("/kaptcha", "/kaptcha/*", "/login", "/getPhoneCode", "/getPhoneCodeY", "/mgr/getU", "/acclogin", "/anonyMous", "/token", "/tourist", "/accSendSms", "/version/update", "/version/getVersion", "/forgerpw/*").forEach((data) -> {
String var10000 = (String) hashMap.put(data, "anon");
});
Arrays.asList("/**").forEach((data) -> {
String var10000 = (String) hashMap.put(data, "user");
});
shiroFilter.setFilterChainDefinitionMap(hashMap);
return shiroFilter;
}
@Bean
public MethodInvokingFactoryBean methodInvokingFactoryBean(DefaultWebSecurityManager securityManager) {
MethodInvokingFactoryBean bean = new MethodInvokingFactoryBean();
bean.setStaticMethod("org.apache.shiro.SecurityUtils.setSecurityManager");
bean.setArguments(new Object[]{securityManager});
return bean;
}
@Bean
public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
return new LifecycleBeanPostProcessor();
}
@Bean
public DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator() {
DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator();
advisorAutoProxyCreator.setProxyTargetClass(true);
return advisorAutoProxyCreator;
}
@Bean
public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(DefaultWebSecurityManager securityManager) {
AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
return authorizationAttributeSourceAdvisor;
}
}
......@@ -2,13 +2,10 @@ package com.winsun.item.modular.system.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.bean.SysUser;
import com.winsun.item.core.shiro.ShiroKit;
import com.winsun.item.core.util.ResponseEntity;
import com.winsun.mapper.AppMapper;
import com.winsun.mapper.HhrUserMapper;
import com.winsun.mapper.SysUserMapper;
......@@ -29,7 +26,7 @@ import java.util.Map;
* @Author: hsl
* @Date: 2020/4/24 9:28
*/
@RequestMapping("Personal")
@RequestMapping("Personal") //
@RestController
@Slf4j
public class PersonalController extends BaseController {
......
......@@ -21,7 +21,8 @@ public class ZuulServiceApplication {
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
final CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true); // 允许cookies跨域
config.addAllowedOrigin("*");// 允许向该服务器提交请求的URI,*表示全部允许。。这里尽量限制来源域,比如http://xxxx:8080 ,以降低安全风险。。
//config.addAllowedOrigin("*");// 允许向该服务器提交请求的URI,*表示全部允许。。这里尽量限制来源域,比如http://xxxx:8080 ,以降低安全风险。。
config.addAllowedOrigin("https://dx.dianyuanjiangli.com");// 允许向该服务器提交请求的URI,*表示全部允许。。这里尽量限制来源域,比如http://xxxx:8080 ,以降低安全风险。。
config.addAllowedHeader("*");// 允许访问的头信息,*表示全部
config.setMaxAge(18000L);// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了
config.addAllowedMethod("*");// 允许提交请求的方法,*表示全部允许,也可以单独设置GET、PUT等
......
package com.winsun.item.config.web;
import com.winsun.auth.core.config.properties.WinsunProperties;
import com.winsun.item.config.SessionDaoConfig;
import com.winsun.item.config.ShiroRedisCacheManager;
import com.winsun.item.core.intercept.GunsUserFilter;
import com.winsun.item.core.shiro.MyWebSessionManager;
import com.winsun.item.core.shiro.ShiroDbRealm;
import org.apache.shiro.cache.CacheManager;
import org.apache.shiro.cache.ehcache.EhCacheManager;
import org.apache.shiro.codec.Base64;
import org.apache.shiro.spring.LifecycleBeanPostProcessor;
import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.CookieRememberMeManager;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.apache.shiro.web.servlet.Cookie;
import org.apache.shiro.web.servlet.SimpleCookie;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.config.MethodInvokingFactoryBean;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.RedisTemplate;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.servlet.Filter;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
@Configuration
@EnableAutoConfiguration
public class ShiroConfig {
public ShiroConfig() {
}
@Bean
public DefaultWebSecurityManager securityManager(CookieRememberMeManager rememberMeManager, CacheManager cacheShiroManager, RedisTemplate<Object, Object> redisTemplate, @Value("${winsun.redis-session-expire}") String expire, @Value("${winsun.spring-session-open}") boolean redisSessionOpen) {
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(this.shiroDbRealm());
securityManager.setCacheManager(cacheShiroManager);
securityManager.setRememberMeManager(rememberMeManager);
if (redisSessionOpen) {
securityManager.setSessionManager(this.servletContainerSessionManager(redisTemplate, expire));
} else {
MyWebSessionManager webSessionManager = new MyWebSessionManager();
webSessionManager.setSessionValidationInterval(900000L);
webSessionManager.setGlobalSessionTimeout(1800000L);
securityManager.setSessionManager(webSessionManager);
}
return securityManager;
}
@Bean
@ConditionalOnProperty(
prefix = "winsun",
name = {"spring-session-open"},
havingValue = "true"
)
public MyWebSessionManager servletContainerSessionManager(RedisTemplate<Object, Object> redisTemplate, String expire) {
MyWebSessionManager webSessionManager = new MyWebSessionManager();
webSessionManager.setSessionDAO(new SessionDaoConfig(redisTemplate, expire));
webSessionManager.setCacheManager(new ShiroRedisCacheManager(redisTemplate, expire));
webSessionManager.setSessionValidationInterval((long) (Integer.valueOf(expire) * 1000));
webSessionManager.setGlobalSessionTimeout((long) (Integer.valueOf(expire) * 1000));
return webSessionManager;
}
@Bean
@ConditionalOnProperty(
prefix = "winsun",
name = {"spring-session-open"},
havingValue = "false"
)
public DefaultWebSessionManager defaultWebSessionManager(CacheManager cacheShiroManager, WinsunProperties winsunProperties) {
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
sessionManager.setCacheManager(cacheShiroManager);
sessionManager.setSessionValidationInterval((long) (winsunProperties.getSessionValidationInterval() * 1000));
sessionManager.setGlobalSessionTimeout((long) (winsunProperties.getSessionInvalidateTime() * 1000));
sessionManager.setDeleteInvalidSessions(true);
sessionManager.setSessionValidationSchedulerEnabled(true);
Cookie cookie = new SimpleCookie("JSESSIONID");
cookie.setName("shiroCookie");
cookie.setHttpOnly(true);
sessionManager.setSessionIdCookie(cookie);
return sessionManager;
}
@Bean
public CacheManager getCacheShiroManager(EhCacheManagerFactoryBean ehcache) {
EhCacheManager ehCacheManager = new EhCacheManager();
ehCacheManager.setCacheManager(ehcache.getObject());
return ehCacheManager;
}
@Bean
public ShiroDbRealm shiroDbRealm() {
return new ShiroDbRealm();
}
@Bean
public CookieRememberMeManager rememberMeManager(SimpleCookie rememberMeCookie) {
KeyGenerator keygen = null;
try {
keygen = KeyGenerator.getInstance("AES");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
SecretKey deskey = keygen.generateKey();
//System.out.println(">>>>"+Base64.encodeToString(deskey.getEncoded()));
CookieRememberMeManager manager = new CookieRememberMeManager();
manager.setCipherKey(Base64.decode(deskey.getEncoded()));
manager.setCookie(rememberMeCookie);
return manager;
}
@Bean
public SimpleCookie rememberMeCookie() {
SimpleCookie simpleCookie = new SimpleCookie("rememberMe");
simpleCookie.setHttpOnly(true);
simpleCookie.setMaxAge(604800);
return simpleCookie;
}
@Bean
public ShiroFilterFactoryBean shiroFilter(DefaultWebSecurityManager securityManager) {
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
shiroFilter.setSecurityManager(securityManager);
shiroFilter.setLoginUrl("/login");
shiroFilter.setSuccessUrl("/");
shiroFilter.setUnauthorizedUrl("/global/error");
HashMap<String, Filter> myFilters = new HashMap();
myFilters.put("user", new GunsUserFilter());
shiroFilter.setFilters(myFilters);
Map<String, String> hashMap = new LinkedHashMap();
String ANON = "anon";
String USER = "user";
String AUTHC = "authc";
Arrays.asList("/kaptcha", "/kaptcha/*", "/login", "/getPhoneCode", "/getPhoneCodeY", "/mgr/getU", "/acclogin", "/anonyMous", "/token", "/tourist", "/accSendSms", "/version/update", "/version/getVersion", "/forgerpw/*").forEach((data) -> {
String var10000 = (String) hashMap.put(data, "anon");
});
Arrays.asList("/**").forEach((data) -> {
String var10000 = (String) hashMap.put(data, "user");
});
shiroFilter.setFilterChainDefinitionMap(hashMap);
return shiroFilter;
}
@Bean
public MethodInvokingFactoryBean methodInvokingFactoryBean(DefaultWebSecurityManager securityManager) {
MethodInvokingFactoryBean bean = new MethodInvokingFactoryBean();
bean.setStaticMethod("org.apache.shiro.SecurityUtils.setSecurityManager");
bean.setArguments(new Object[]{securityManager});
return bean;
}
@Bean
public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
return new LifecycleBeanPostProcessor();
}
@Bean
public DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator() {
DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator();
advisorAutoProxyCreator.setProxyTargetClass(true);
return advisorAutoProxyCreator;
}
@Bean
public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(DefaultWebSecurityManager securityManager) {
AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
return authorizationAttributeSourceAdvisor;
}
}
\ No newline at end of file
......@@ -3,12 +3,13 @@ package com.winsun.migration.controller;
import com.winsun.migration.service.IMigrationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.security.NoSuchAlgorithmException;
@RestController
@RequestMapping("/migration")
@RequestMapping("/migration") //
public class MigrationDataController {
@Autowired
......@@ -18,7 +19,7 @@ public class MigrationDataController {
* 迁移用户数据
* @return
*/
@RequestMapping("/migrationUser")
@RequestMapping(value = "/migrationUser",method = {RequestMethod.GET, RequestMethod.POST})
public String migrationUser() {
try {
migrationService.migrationUser();
......@@ -32,7 +33,7 @@ public class MigrationDataController {
* 迁移活动数据
* @return
*/
@RequestMapping("/migrationActivity")
@RequestMapping(value = "/migrationActivity",method = {RequestMethod.GET, RequestMethod.POST})
public String migrationActivity() {
migrationService.migrationActivity();
......
......@@ -35,7 +35,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/packageNewClothes")
@RequestMapping("/packageNewClothes") //
public class PackageNewClothes {
private static String PATHTYPE="idCard";
......
......@@ -7,7 +7,6 @@ import com.winsun.bean.*;
import com.winsun.mapper.*;
import com.winsun.smsUtils.SendSmsAndMail;
import com.winsun.utils.MD5Utils;
import com.winsun.utils.MyBatisPlusUpdateUtils;
import com.winsun.utils.ProduceIdUtil;
import com.winsun.utils.RandomUtil;
import lombok.extern.slf4j.Slf4j;
......@@ -15,7 +14,6 @@ import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
......@@ -143,7 +141,7 @@ public class StartSelectController {
* 手机端主页面,带参数进入手机端主页
* 对订单进去保存和提交订单到智能平台上
*/
@RequestMapping(value = "toBYSOrderSuccessPage")
@RequestMapping(value = "toBYSOrderSuccessPage" ,method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public Map<String, Object> toBYSOrderSuccessPage(HttpServletRequest request, HttpServletResponse response) throws Exception {
Map<String, Object> map = new HashMap();
......
......@@ -8,7 +8,6 @@ import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.bean.*;
import com.winsun.mapper.*;
import com.winsun.smsUtils.SendSmsAndMail;
import com.winsun.utils.MyBatisPlusUpdateUtils;
import com.winsun.utils.RandomUtil;
import com.winsun.utils.XbkUtil;
import lombok.extern.slf4j.Slf4j;
......@@ -29,7 +28,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/choose")
@RequestMapping("/choose") //
public class ChooseController {
private static AppMapper appMapper;
......@@ -224,7 +223,7 @@ public class ChooseController {
//订单表若存在直接下一步
//若不存在就插入订单
//若hhr_check_student_list表不存在直接下一步
@RequestMapping(value = "/findStuentByIdCard")
@RequestMapping(value = "/findStuentByIdCard",method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public ResponseData<Object> findStuentByIdCard(String idcard, String hhrId) {
......
......@@ -37,7 +37,7 @@ import java.util.concurrent.TimeUnit;
*/
@Slf4j
@RestController
@RequestMapping("/packageUpgrade")
@RequestMapping("/packageUpgrade") //
public class PackageUpgradeController extends BaseController {
private static AppMapper appMapper;
......@@ -152,7 +152,7 @@ public class PackageUpgradeController extends BaseController {
/**
* 查询套餐升级信息 2021-04-15 新需求修改
*/
@RequestMapping(value = "selectPackageNew")
@RequestMapping(value = "selectPackageNew",method = {RequestMethod.GET, RequestMethod.POST})
public ResponseData<Map<String,Object>> selectPackageNew(@RequestParam("acc_nbr")String acc_nbr, @RequestParam(value = "servId", required = false) String servId){
try {
Map<String, Object> map = new HashMap<>();
......
package com.winsun.controller;
import java.util.*;
import com.winsun.bean.School;
import com.winsun.bean.activity.HhrActivityRecord;
import com.winsun.mapper.HhrUserMapper;
import com.winsun.mapper.SchoolMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
......@@ -23,10 +9,17 @@ import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.bean.School;
import com.winsun.bean.activity.HhrActivity;
import com.winsun.mapper.HhrUserMapper;
import com.winsun.mapper.SchoolMapper;
import com.winsun.mapper.activity.ActivityMapper;
import com.winsun.utils.PicturesUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
/**
* @Author: dongyp
......
package com.winsun.controller;
import java.io.IOException;
import java.util.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import com.winsun.item.core.shiro.ShiroKit;
import com.winsun.utils.PicturesUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
......@@ -30,6 +13,7 @@ import com.winsun.bean.School;
import com.winsun.bean.SysUser;
import com.winsun.bean.activity.HhrActivity;
import com.winsun.bean.activity.HhrActivityRecord;
import com.winsun.item.core.shiro.ShiroKit;
import com.winsun.mapper.OrderViewMapper;
import com.winsun.mapper.PartnerMapper;
import com.winsun.mapper.SchoolMapper;
......@@ -38,8 +22,17 @@ import com.winsun.mapper.activity.ActivityMapper;
import com.winsun.mapper.activity.ActivityRecordMapper;
import com.winsun.utils.ExcelDealUtils;
import com.winsun.utils.MapUtil;
import com.winsun.utils.PicturesUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
/**
* 活动参与记录 controller
......
......@@ -10,17 +10,11 @@ import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.bean.AppConfig;
import com.winsun.mapper.AppConfigMapper;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.RowBounds;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 应用配置
......@@ -28,7 +22,7 @@ import java.util.Map;
* @date 2021-02-20 10:45
*/
@RestController
@RequestMapping("/appConfig")
@RequestMapping("/appConfig") //
public class AppConfigController extends BaseController {
@Autowired
......@@ -104,7 +98,7 @@ public class AppConfigController extends BaseController {
* 获取配置信息
* @return
*/
@RequestMapping("/getConfigInfo")
@GetMapping("/getConfigInfo")
public ResponseData<AppConfig> getConfigInfo (Integer id) {
AppConfig appConfig = appConfigMapper.selectById(id);
......@@ -118,7 +112,7 @@ public class AppConfigController extends BaseController {
* @param pageSize
* @return
*/
@RequestMapping("/list")
@GetMapping("/list")
public ResponseData<Page<AppConfig>> list(@RequestParam(value = "appName", required = false) String appName,
@RequestParam(name = "pageNo", required = false) Integer pageIndex,
@RequestParam(name = "pageSize", required = false) Integer pageSize) {
......
......@@ -11,16 +11,14 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.Pattern;
import java.util.List;
import java.util.Map;
/**
* @Author: chenhaojian
* @Date: 2021/1/14
*/
@RestController
@RequestMapping("/authCode")
@RequestMapping("/authCode") //
public class AuthCodeController extends BaseController {
private static AuthCodeMapper authCodeMapper;
......
......@@ -50,7 +50,7 @@ import java.util.Map;
*/
@Slf4j
@RestController
@RequestMapping("/bill")
@RequestMapping("/bill") //
public class BillController extends BaseController{
private static BillMapper billMapper;
......
......@@ -43,7 +43,7 @@ import java.util.concurrent.locks.ReentrantLock;
*/
@Slf4j
@RestController
@RequestMapping("/bonus")
@RequestMapping("/bonus") //
public class BonusController extends BaseController {
private static BonusMapper bonusMapper;
......
......@@ -33,7 +33,7 @@ import java.util.List;
*/
@Slf4j
@RestController
@RequestMapping("/exportExcel")
@RequestMapping("/exportExcel") //
public class ExportExcelController extends BaseController {
private static ExportExcelMapper exportExcelMapper;
......
......@@ -28,7 +28,7 @@ import java.util.List;
*/
@RestController
@Slf4j
@RequestMapping("salesOrder")
@RequestMapping("salesOrder") //
public class HhrSalesOrderController {
private static SalesListMapper salesOrderMapper;
......
......@@ -12,11 +12,11 @@ import com.winsun.mapper.OrderMapper;
import com.winsun.mapper.OrderViewMapper;
import com.winsun.smsUtils.SendSmsAndMail;
import com.winsun.utils.MyBatisPlusUpdateUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
......@@ -57,7 +57,7 @@ public class IntelligentPlatformPushController {
* 单宽带 dkd
* 融合 rh
*/
@RequestMapping(value = "/IntelligentPlatformPush/{dataType}/IntelligentPlatform")
@RequestMapping(value = "/IntelligentPlatformPush/{dataType}/IntelligentPlatform",method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public Map<String, Object> IntelligentPlatform(String sign, String type, String content) {
Map<String, Object> signMap = (Map<String, Object>) JSON.parse(content);
......
......@@ -8,7 +8,6 @@ import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.bean.KdyList;
import com.winsun.bean.Order;
import com.winsun.mapper.KdyListMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......
......@@ -29,7 +29,7 @@ import java.util.Map;
*/
@Slf4j
@RestController
@RequestMapping("/kpiScore")
@RequestMapping("/kpiScore") //
public class KpiScoreController extends BaseController {
@Autowired
......
......@@ -42,7 +42,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/lzKpi")
@RequestMapping("/lzKpi") //
public class LzKpiController extends BaseController {
/**
* 导入
......
......@@ -41,7 +41,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/lzWage")
@RequestMapping("/lzWage") //
public class LzSalaryController extends BaseController {
/**
* 导入
......
......@@ -42,7 +42,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/managerKpi")
@RequestMapping("/managerKpi") //
public class ManagerKpiController extends BaseController {
/**
* 导入
......
......@@ -7,10 +7,7 @@ import com.baomidou.mybatisplus.plugins.Page;
import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.bean.AuthCode;
import com.winsun.bean.KdyList;
import com.winsun.bean.MultimediaAccount;
import com.winsun.mapper.AuthCodeMapper;
import com.winsun.mapper.MultimediaAccountMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -28,7 +25,7 @@ import java.util.Map;
* @Date: 2021/1/14
*/
@RestController
@RequestMapping("/multimediaAccount")
@RequestMapping("/multimediaAccount") //
public class MultimediaAccountController extends BaseController {
private static MultimediaAccountMapper multimediaAccountMapper;
......
package com.winsun.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.util.DateUtils;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
......@@ -34,10 +29,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
/**
......@@ -46,7 +38,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/networkPlace")
@RequestMapping("/networkPlace") //
public class NetworkPlaceController extends BaseController {
/**
* 导入
......
......@@ -33,7 +33,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/newUser")
@RequestMapping("/newUser") //
public class NewUserController extends BaseController {
@Autowired
......
......@@ -29,7 +29,6 @@ import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpPost;
......@@ -70,7 +69,7 @@ import java.util.concurrent.Executors;
*/
@Slf4j
@RestController
@RequestMapping("/order")
@RequestMapping("/order") //
public class OrderController extends BaseController {
private final String GATEWAY = "http://localhost:10001/";
......
......@@ -31,7 +31,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/orderConversion")
@RequestMapping("/orderConversion") //
public class OrderConversionController extends BaseController {
@Autowired
......
......@@ -29,6 +29,7 @@ import java.util.Map;
/**
* 宽带订单管理
*
* @Author: chancy
* @Date: 2020/2/12 17:26
*/
......@@ -45,24 +46,23 @@ public class OrderViewController extends BaseController {
}
/**
*
* @param startTime 开始时间
* @param endTime 结束时间
* @param orderseq 订单号码
* @param startTime 开始时间
* @param endTime 结束时间
* @param orderseq 订单号码
* @param orderUniversityName 学校
* @param status 状态
* @param ordername 姓名
* @param status 状态
* @param ordername 姓名
* @param pageIndex
* @param pageSize
* @return
*/
@Permission(menuname = "查询宽带订单(列表)", value = "list", method = RequestMethod.POST)
public ResponseData<Page<OrderView>> listOrderView(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime,
@RequestParam("orderseq") String orderseq, @RequestParam("orderUniversityName") String orderUniversityName,
@RequestParam("status") String status, @RequestParam("ordername") String ordername,
@RequestParam(name = "pageNo") int pageIndex, @RequestParam(name = "pageSize") int pageSize) {
@RequestParam("orderseq") String orderseq, @RequestParam("orderUniversityName") String orderUniversityName,
@RequestParam("status") String status, @RequestParam("ordername") String ordername,
@RequestParam(name = "pageNo") int pageIndex, @RequestParam(name = "pageSize") int pageSize) {
ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员","县分管理员(订单)", "修改身份证"))) {
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员", "县分管理员(订单)", "修改身份证"))) {
return ResponseData.error("无数据权限");
}
String dateFormat = "YYYY-MM-DD";
......@@ -73,17 +73,17 @@ public class OrderViewController extends BaseController {
startTime = null;
endTime = null;
}
String state=null;
if(StringUtils.isNotBlank(status)){
String state = null;
if (StringUtils.isNotBlank(status)) {
state = OrderStatus.findById(status).getId();
}
Wrapper<OrderView> wrapper = new EntityWrapper();
wrapper.like(StringUtils.isNotBlank(orderseq), "orderSeq", orderseq, SqlLike.DEFAULT);
wrapper.like(StringUtils.isNotBlank(ordername), "orderName", ordername, SqlLike.DEFAULT);
wrapper.like(StringUtils.isNotBlank(orderUniversityName), "order_university_name", orderUniversityName, SqlLike.DEFAULT);
wrapper.eq(StringUtils.isNotBlank(status), "status",state);
wrapper.ge(StringUtils.isNotBlank(startTime),"orderDate",startTime);
wrapper.le(StringUtils.isNotBlank(endTime),"orderDate",endTime);
wrapper.eq(StringUtils.isNotBlank(status), "status", state);
wrapper.ge(StringUtils.isNotBlank(startTime), "orderDate", startTime);
wrapper.le(StringUtils.isNotBlank(endTime), "orderDate", endTime);
Page<OrderView> page = new Page<>(pageIndex, pageSize);
List<OrderView> OrderViews = orderViewMapper.selectPage(page, wrapper);
page.setRecords(OrderViews);
......@@ -92,8 +92,8 @@ public class OrderViewController extends BaseController {
@Permission(menuname = "导出宽带订单", value = "download", method = RequestMethod.POST)
public void downloadOrderView(@RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime,
@RequestParam("orderseq") String orderseq, @RequestParam("orderUniversityName") String orderUniversityName,
@RequestParam("status") String status, @RequestParam("ordername") String ordername) {
@RequestParam("orderseq") String orderseq, @RequestParam("orderUniversityName") String orderUniversityName,
@RequestParam("status") String status, @RequestParam("ordername") String ordername) {
String dateFormat = "YYYY-MM-DD";
if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
startTime = startTime.substring(0, dateFormat.length()) + " 00:00:00";
......@@ -102,19 +102,19 @@ public class OrderViewController extends BaseController {
startTime = null;
endTime = null;
}
String state=null;
if(StringUtils.isNotBlank(status)){
String state = null;
if (StringUtils.isNotBlank(status)) {
state = OrderStatus.findById(status).getId();
}
Wrapper<OrderView> wrapper = new EntityWrapper();
wrapper.like(StringUtils.isNotBlank(orderseq), "orderSeq", orderseq, SqlLike.DEFAULT);
wrapper.like(StringUtils.isNotBlank(ordername), "orderName", ordername, SqlLike.DEFAULT);
wrapper.like(StringUtils.isNotBlank(orderUniversityName), "order_university_name", orderUniversityName, SqlLike.DEFAULT);
wrapper.eq(StringUtils.isNotBlank(status), "status",state);
wrapper.ge(StringUtils.isNotBlank(startTime),"orderDate",startTime);
wrapper.le(StringUtils.isNotBlank(endTime),"orderDate",endTime);
wrapper.eq(StringUtils.isNotBlank(status), "status", state);
wrapper.ge(StringUtils.isNotBlank(startTime), "orderDate", startTime);
wrapper.le(StringUtils.isNotBlank(endTime), "orderDate", endTime);
List<Map<String, Object>> OrderViews = orderViewMapper.downloadOrderView(wrapper);
List<String> tops = new ArrayList<>();
List<String> tops = new ArrayList<>();
tops.add("订单id");
tops.add("订单编号");
tops.add("产品名称");
......@@ -179,7 +179,7 @@ public class OrderViewController extends BaseController {
});
//数据
int rowIndex = row.getRowNum();
for (Map<String, Object> maps: OrderViews) {
for (Map<String, Object> maps : OrderViews) {
final XSSFRow rowdata = sheet.createRow(++rowIndex);
for (String column : columns) {
XSSFCell cell = rowdata.createCell(Math.max(rowdata.getLastCellNum(), 0));
......
......@@ -35,7 +35,7 @@ import java.util.regex.Pattern;
*/
@Slf4j
@RestController
@RequestMapping("/packageManagement/package")
@RequestMapping("/packageManagement/package") //
public class PackageController extends BaseController {
private static PackageMapper packageMapper;
......
......@@ -30,7 +30,7 @@ import java.util.concurrent.TimeUnit;
* @Author: hsl
* @Date: 2020/4/23 10:54
*/
@RequestMapping("PersonalCenter")
@RequestMapping("PersonalCenter") //
@RestController
@Slf4j
public class PersonalCenterController extends BaseController {
......
......@@ -30,7 +30,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/product")
@RequestMapping("/product") //
public class ProductController extends BaseController {
@Autowired
private ProductMapper productMapper;
......
package com.winsun.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
......@@ -10,7 +8,6 @@ import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.bean.QRCode;
import com.winsun.bean.SysUser;
import com.winsun.mapper.QRCodeMapper;
import com.winsun.mapper.SysUserMapper;
import com.winsun.utils.MyBatisPlusUpdateUtils;
......@@ -20,8 +17,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.*;
/**
......@@ -31,7 +26,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("QRCpde")
@RequestMapping("QRCpde") //
public class QRCodeController extends BaseController {
private static String PATHTYPE="poster";
......
......@@ -26,7 +26,7 @@ import java.util.Date;
* @author chengfengluo
* @date 2021-03-08 15:15
*/
@RequestMapping("recordNumber")
@RequestMapping("recordNumber") //
@RestController
public class RecordNumberController extends BaseController {
......
......@@ -28,7 +28,7 @@ import java.util.Map;
*/
@Slf4j
@RestController
@RequestMapping("/regular")
@RequestMapping("/regular") //
public class RegularController extends BaseController {
@Autowired
private RegularMapper regularMapper;
......
......@@ -6,11 +6,7 @@ import com.baomidou.mybatisplus.plugins.Page;
import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.bean.AuthCode;
import com.winsun.bean.KdyList;
import com.winsun.bean.MultimediaAccount;
import com.winsun.bean.RhPhone;
import com.winsun.mapper.AuthCodeMapper;
import com.winsun.mapper.RhPhoneMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -28,7 +24,7 @@ import java.util.Map;
* @Date: 2021/1/14
*/
@RestController
@RequestMapping("/rhPhone")
@RequestMapping("/rhPhone") //
public class RhPhoneController extends BaseController {
private static RhPhoneMapper rhPhoneMapper;
......
......@@ -38,7 +38,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/saleCensus")
@RequestMapping("/saleCensus") //
public class SaleCensusController extends BaseController{
/**
......
......@@ -29,7 +29,7 @@ import java.util.Map;
*/
@Slf4j
@RestController
@RequestMapping("/salesAlert")
@RequestMapping("/salesAlert") //
public class SalesAlertController extends BaseController {
@Autowired
......
......@@ -10,7 +10,6 @@ import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.auth.core.util.IOUtils;
import com.winsun.bean.NetworkInfo;
import com.winsun.bean.SalesList;
import com.winsun.bean.School;
import com.winsun.bean.SysUser;
import com.winsun.constant.OrderType;
import com.winsun.mapper.NetworkInfoMapper;
......@@ -48,7 +47,7 @@ import java.util.concurrent.TimeUnit;
*/
@Slf4j
@RestController
@RequestMapping("/salesList")
@RequestMapping("/salesList") //
public class SalesListController extends BaseController{
/**
......
......@@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit;
*/
@Slf4j
@RestController
@RequestMapping("/mobile/salesList")
@RequestMapping("/mobile/salesList") //
public class SalesListMobileController extends BaseController {
// 登记验证码标识
......
......@@ -44,7 +44,7 @@ import java.util.*;
*/
@Slf4j
@RestController
@RequestMapping("/salesOrder")
@RequestMapping("/salesOrder") //
public class SalesOrderController extends BaseController{
/**
......
......@@ -25,8 +25,7 @@ import com.winsun.utils.MyBatisPlusUpdateUtils;
import io.lettuce.core.dynamic.annotation.Param;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -39,7 +38,6 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.*;
......
package com.winsun.controller;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Controller
public class WeixinAuthController {
@RequestMapping("/MP_verify_oYaGTxvtIJXLOkXB.txt")
public void auth(HttpServletResponse response) throws IOException {
response.getWriter().print("oYaGTxvtIJXLOkXB");
}
@RequestMapping(value = "/MP_verify_oYaGTxvtIJXLOkXB.txt",method = {RequestMethod.GET, RequestMethod.POST})
public void auth(HttpServletResponse response) throws IOException {
response.getWriter().print("oYaGTxvtIJXLOkXB");
}
}
package com.winsun.item.config.web;
import com.winsun.auth.core.config.properties.WinsunProperties;
import com.winsun.item.config.SessionDaoConfig;
import com.winsun.item.config.ShiroRedisCacheManager;
import com.winsun.item.core.intercept.GunsUserFilter;
import com.winsun.item.core.shiro.MyWebSessionManager;
import com.winsun.item.core.shiro.ShiroDbRealm;
import org.apache.shiro.cache.CacheManager;
import org.apache.shiro.cache.ehcache.EhCacheManager;
import org.apache.shiro.codec.Base64;
import org.apache.shiro.spring.LifecycleBeanPostProcessor;
import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.CookieRememberMeManager;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.apache.shiro.web.servlet.Cookie;
import org.apache.shiro.web.servlet.SimpleCookie;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.config.MethodInvokingFactoryBean;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.RedisTemplate;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.servlet.Filter;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
@Configuration
@EnableAutoConfiguration
public class ShiroConfig {
public ShiroConfig() {
}
@Bean
public DefaultWebSecurityManager securityManager(CookieRememberMeManager rememberMeManager, CacheManager cacheShiroManager, RedisTemplate<Object, Object> redisTemplate, @Value("${winsun.redis-session-expire}") String expire, @Value("${winsun.spring-session-open}") boolean redisSessionOpen) {
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(this.shiroDbRealm());
securityManager.setCacheManager(cacheShiroManager);
securityManager.setRememberMeManager(rememberMeManager);
if (redisSessionOpen) {
securityManager.setSessionManager(this.servletContainerSessionManager(redisTemplate, expire));
} else {
MyWebSessionManager webSessionManager = new MyWebSessionManager();
webSessionManager.setSessionValidationInterval(900000L);
webSessionManager.setGlobalSessionTimeout(1800000L);
securityManager.setSessionManager(webSessionManager);
}
return securityManager;
}
@Bean
@ConditionalOnProperty(
prefix = "winsun",
name = {"spring-session-open"},
havingValue = "true"
)
public MyWebSessionManager servletContainerSessionManager(RedisTemplate<Object, Object> redisTemplate, String expire) {
MyWebSessionManager webSessionManager = new MyWebSessionManager();
webSessionManager.setSessionDAO(new SessionDaoConfig(redisTemplate, expire));
webSessionManager.setCacheManager(new ShiroRedisCacheManager(redisTemplate, expire));
webSessionManager.setSessionValidationInterval((long) (Integer.valueOf(expire) * 1000));
webSessionManager.setGlobalSessionTimeout((long) (Integer.valueOf(expire) * 1000));
return webSessionManager;
}
@Bean
@ConditionalOnProperty(
prefix = "winsun",
name = {"spring-session-open"},
havingValue = "false"
)
public DefaultWebSessionManager defaultWebSessionManager(CacheManager cacheShiroManager, WinsunProperties winsunProperties) {
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
sessionManager.setCacheManager(cacheShiroManager);
sessionManager.setSessionValidationInterval((long) (winsunProperties.getSessionValidationInterval() * 1000));
sessionManager.setGlobalSessionTimeout((long) (winsunProperties.getSessionInvalidateTime() * 1000));
sessionManager.setDeleteInvalidSessions(true);
sessionManager.setSessionValidationSchedulerEnabled(true);
Cookie cookie = new SimpleCookie("JSESSIONID");
cookie.setName("shiroCookie");
cookie.setHttpOnly(true);
sessionManager.setSessionIdCookie(cookie);
return sessionManager;
}
@Bean
public CacheManager getCacheShiroManager(EhCacheManagerFactoryBean ehcache) {
EhCacheManager ehCacheManager = new EhCacheManager();
ehCacheManager.setCacheManager(ehcache.getObject());
return ehCacheManager;
}
@Bean
public ShiroDbRealm shiroDbRealm() {
return new ShiroDbRealm();
}
@Bean
public CookieRememberMeManager rememberMeManager(SimpleCookie rememberMeCookie) {
KeyGenerator keygen = null;
try {
keygen = KeyGenerator.getInstance("AES");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
SecretKey deskey = keygen.generateKey();
//System.out.println(">>>>"+Base64.encodeToString(deskey.getEncoded()));
CookieRememberMeManager manager = new CookieRememberMeManager();
manager.setCipherKey(Base64.decode(deskey.getEncoded()));
manager.setCookie(rememberMeCookie);
return manager;
}
@Bean
public SimpleCookie rememberMeCookie() {
SimpleCookie simpleCookie = new SimpleCookie("rememberMe");
simpleCookie.setHttpOnly(true);
simpleCookie.setMaxAge(604800);
return simpleCookie;
}
@Bean
public ShiroFilterFactoryBean shiroFilter(DefaultWebSecurityManager securityManager) {
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
shiroFilter.setSecurityManager(securityManager);
shiroFilter.setLoginUrl("/login");
shiroFilter.setSuccessUrl("/");
shiroFilter.setUnauthorizedUrl("/global/error");
HashMap<String, Filter> myFilters = new HashMap();
myFilters.put("user", new GunsUserFilter());
shiroFilter.setFilters(myFilters);
Map<String, String> hashMap = new LinkedHashMap();
String ANON = "anon";
String USER = "user";
String AUTHC = "authc";
Arrays.asList("/kaptcha", "/kaptcha/*", "/login", "/getPhoneCode", "/getPhoneCodeY", "/mgr/getU", "/acclogin", "/anonyMous", "/token", "/tourist", "/accSendSms", "/version/update", "/version/getVersion", "/forgerpw/*").forEach((data) -> {
String var10000 = (String) hashMap.put(data, "anon");
});
Arrays.asList("/**").forEach((data) -> {
String var10000 = (String) hashMap.put(data, "user");
});
shiroFilter.setFilterChainDefinitionMap(hashMap);
return shiroFilter;
}
@Bean
public MethodInvokingFactoryBean methodInvokingFactoryBean(DefaultWebSecurityManager securityManager) {
MethodInvokingFactoryBean bean = new MethodInvokingFactoryBean();
bean.setStaticMethod("org.apache.shiro.SecurityUtils.setSecurityManager");
bean.setArguments(new Object[]{securityManager});
return bean;
}
@Bean
public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
return new LifecycleBeanPostProcessor();
}
@Bean
public DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator() {
DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator();
advisorAutoProxyCreator.setProxyTargetClass(true);
return advisorAutoProxyCreator;
}
@Bean
public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(DefaultWebSecurityManager securityManager) {
AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
return authorizationAttributeSourceAdvisor;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment