|
@@ -1,9 +1,15 @@
|
|
|
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;
|
|
@@ -52,6 +58,12 @@ public class SysController {
|
|
|
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);
|
|
|
|
|
@@ -261,7 +273,30 @@ public class SysController {
|
|
|
@RequestMapping("/{adminId}/_edit_permission")
|
|
|
public ModelAndView editPermissionUI(@PathVariable("adminId") Integer adminId) {
|
|
|
List<Menu> menus = sysService.listPermissions(adminId);
|
|
|
- return new ModelAndView("sys/edit_permission").addObject("list", menus).addObject("adminId", adminId);
|
|
|
+
|
|
|
+ Integer[] storeIds = orderDepartService.getDepartStoreIds(adminId);
|
|
|
+
|
|
|
+ List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
|
|
|
+ for (CompanyInfo companyInfo : companyInfoList) {
|
|
|
+ StoreInfo storeInfo = new StoreInfo();
|
|
|
+ storeInfo.setCompanyId(companyInfo.getCompanyId());
|
|
|
+ List<StoreInfo> storeInfoList = storeInfoService.listStore(storeInfo);
|
|
|
+ if(storeIds.length > 0){
|
|
|
+ for (StoreInfo si : storeInfoList) {
|
|
|
+ for (int i = 0; i < storeIds.length; i++) {
|
|
|
+ if(si.getStoreId() == storeIds[i]){
|
|
|
+ si.setIsSelectDepart(1); // 1:选中 2:未选中
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ companyInfo.setStoreInfoList(storeInfoList);
|
|
|
+ }
|
|
|
+
|
|
|
+ return new ModelAndView("sys/edit_permission")
|
|
|
+ .addObject("companyInfoList", companyInfoList)
|
|
|
+ .addObject("list", menus)
|
|
|
+ .addObject("adminId", adminId);
|
|
|
}
|
|
|
|
|
|
@RequiresRoles(value = {"ROOT", "MANAGER"}, logical = Logical.OR)
|
|
@@ -269,7 +304,9 @@ public class SysController {
|
|
|
@RequestMapping("/edit_permission")
|
|
|
@ResponseBody
|
|
|
public ResponseJson editPermission(@RequestParam("adminId") Integer adminId,
|
|
|
- @RequestParam("perms[]") String [] perms) {
|
|
|
+ @RequestParam("perms[]") String [] perms,
|
|
|
+ @RequestParam("companyIds") String companyIds,
|
|
|
+ @RequestParam("storeIds") String storeIds) {
|
|
|
|
|
|
// perms["一级菜单:二级菜单:权限id:权限操作符", "一级菜单:二级菜单:权限id:权限操作符"]
|
|
|
List<AdminPocess> pocesses = new ArrayList<>();
|
|
@@ -299,6 +336,32 @@ public class SysController {
|
|
|
logger.info("", e);
|
|
|
}
|
|
|
|
|
|
+ List<OrderDepart> orderDepartList = new ArrayList<>();
|
|
|
+ if(companyIds != null && !"".equals(companyIds)){
|
|
|
+ String[] companyArray = companyIds.split(",");
|
|
|
+ for (String company : companyArray) {
|
|
|
+ OrderDepart orderDepart = new OrderDepart();
|
|
|
+ orderDepart.setAdminId(adminId);
|
|
|
+ orderDepart.setCompanyId(Integer.valueOf(company));
|
|
|
+ orderDepart.setOrderDepartType(1);
|
|
|
+ orderDepartList.add(orderDepart);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(storeIds != null && !"".equals(storeIds)){
|
|
|
+ String[] storeArray = storeIds.split(",");
|
|
|
+ for (String store : storeArray) {
|
|
|
+ OrderDepart orderDepart = new OrderDepart();
|
|
|
+ orderDepart.setAdminId(adminId);
|
|
|
+ orderDepart.setStoreId(Integer.valueOf(store));
|
|
|
+ orderDepart.setOrderDepartType(2);
|
|
|
+ orderDepartList.add(orderDepart);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(orderDepartList.size() > 0){
|
|
|
+ orderDepartService.update(orderDepartList,adminId);
|
|
|
+ }
|
|
|
+
|
|
|
if (res == 0) {
|
|
|
return new ResponseJson(200, "ERROR", 400);
|
|
|
}
|