package com.iamberry.rst.controllers.sys;
import com.iamberry.app.tool.des.MD5;
import com.iamberry.rst.core.cm.CompanyInfo;
import com.iamberry.rst.core.cm.StoreInfo;
import com.iamberry.rst.core.order.OrderDepart;
import com.iamberry.rst.core.page.PageRequest;
import com.iamberry.rst.core.page.PagedResult;
import com.iamberry.rst.core.sys.*;
import com.iamberry.rst.faces.cm.CompanyInfoService;
import com.iamberry.rst.faces.cm.StoreInfoService;
import com.iamberry.rst.faces.order.OrderDepartService;
import com.iamberry.rst.faces.sys.DepartService;
import com.iamberry.rst.faces.sys.SysService;
import com.iamberry.rst.utils.AdminUtils;
import com.iamberry.rst.utils.StaticModelUtil;
import com.iamberry.wechat.autiXSS.XSSHandler;
import com.iamberry.wechat.tools.ResponseJson;
import com.iamberry.wechat.tools.StrUtils;
import com.iamberry.wechat.tools.ValidationResult;
import com.iamberry.wechat.tools.ValidationUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.apache.shiro.authz.annotation.RequiresUser;
import org.apache.shiro.subject.Subject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* @author 献
*
* @company 深圳爱贝源科技有限公司
* @website www.iamberry.com
* @tel 18271840547
* @date 2017/5/15
*/
@Controller
@RequestMapping("/admin/sys")
public class SysController {
@Autowired
private SysService sysService;
@Autowired
private DepartService departService;
@Autowired
private CompanyInfoService companyInfoService;
@Autowired
private StoreInfoService storeInfoService;
@Autowired
private OrderDepartService orderDepartService;
private static Logger logger = LoggerFactory.getLogger(SysController.class);
private Dept dept = new Dept();
private StrUtils strUtils = new StrUtils();
private MD5 md5;
/**
* 后台首页,自动判断来源
* @param request
* @return
*/
@RequiresUser
@RequestMapping("/_index")
public ModelAndView indexUI(HttpServletRequest request) {
Subject currentUser = SecurityUtils.getSubject();
Admin admin = (Admin) currentUser.getPrincipal();
Depart depart = departService.getDepartById(admin.getAdminDept());
// 判断来源
String userAgent = request.getHeader("User-Agent").toLowerCase();
/* if (userAgent.contains("ipad") || userAgent.contains("iphone os") || userAgent.contains("android")) {
// 来自手机端
logger.info("用户{}来源于手机端", currentUser.getPrincipal());
// 传递部门信息
return new ModelAndView("wap/wap_index")
.addObject("dept_name", depart.getDepartName())
.addObject("dept_role", admin.getAdminManager() == 2);
}*/
logger.info("用户{}来源于PC端", currentUser.getPrincipal());
// 注入数据:管理员名称、管理员部门
String dept = depart.getDepartName();
List