|
|
@@ -1,366 +1,334 @@
|
|
|
-package com.goafanti.admin.controller;
|
|
|
-
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.List;
|
|
|
-import java.util.UUID;
|
|
|
-import javax.annotation.Resource;
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-import org.springframework.beans.BeanUtils;
|
|
|
-import org.springframework.stereotype.Controller;
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
-import org.springframework.web.bind.annotation.RequestParam;
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
-import com.alibaba.fastjson.JSONArray;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.goafanti.admin.bo.AdminListBo;
|
|
|
-import com.goafanti.admin.bo.AdminLocationBo;
|
|
|
-import com.goafanti.admin.service.AdminLocationService;
|
|
|
-import com.goafanti.admin.service.NewAdminService;
|
|
|
-import com.goafanti.common.bo.Result;
|
|
|
-import com.goafanti.common.constant.AFTConstants;
|
|
|
-import com.goafanti.common.constant.ErrorConstants;
|
|
|
-import com.goafanti.common.controller.CertifyApiController;
|
|
|
-import com.goafanti.common.model.Admin;
|
|
|
-import com.goafanti.common.model.AdminLocation;
|
|
|
-import com.goafanti.common.utils.PasswordUtil;
|
|
|
-import com.goafanti.common.utils.StringUtils;
|
|
|
-import com.goafanti.core.shiro.token.TokenManager;
|
|
|
-import com.goafanti.user.service.UserService;
|
|
|
-
|
|
|
-@Controller
|
|
|
-@RequestMapping(value = "/api/admin/superviser")
|
|
|
-public class AdminSuperviserApiController extends CertifyApiController {
|
|
|
- @Resource
|
|
|
- private NewAdminService newAdminService;
|
|
|
- @Resource(name = "passwordUtil")
|
|
|
- private PasswordUtil passwordUtil;
|
|
|
- @Resource
|
|
|
- private AdminLocationService adminLocationService;
|
|
|
- @Resource
|
|
|
- private UserService userService;
|
|
|
-
|
|
|
- /**管理员列表*/
|
|
|
- @RequestMapping(value = "/adminList", method = RequestMethod.GET)
|
|
|
- public Result adminList(AdminListBo alb, String rid,String roleName, String pageNo,
|
|
|
- String pageSize) {
|
|
|
- Result res = new Result();
|
|
|
- Integer pNo = 1;
|
|
|
- Integer pSize = 10;
|
|
|
- if (StringUtils.isNumeric(pageSize)) {
|
|
|
- pSize = Integer.parseInt(pageSize);
|
|
|
- }
|
|
|
- if (StringUtils.isNumeric(pageNo)) {
|
|
|
- pNo = Integer.parseInt(pageNo);
|
|
|
- }
|
|
|
- res.setData(newAdminService.listAdmin(alb,rid,roleName, pNo, pSize));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 新增管理员
|
|
|
- */
|
|
|
- @RequestMapping(value = "/insertAdmin", method = RequestMethod.POST)
|
|
|
- public Result insertAdmin(@RequestParam(value = "roles[]", required = false) String[] roleIds, String data) {
|
|
|
- Result res = new Result();
|
|
|
- JSONObject jo = (JSONObject) JSON.parse(data);
|
|
|
- List<String> roles = new ArrayList<String>();
|
|
|
- if (roleIds != null && roleIds.length > 0) {
|
|
|
- for (String role : roleIds) {
|
|
|
- roles.add(role);
|
|
|
- }
|
|
|
- }
|
|
|
- if (roleIds==null||roleIds.length<=0) {
|
|
|
- res.getError().add(buildError("","角色不能为空"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- if (null != jo) {
|
|
|
- Admin admin = jo.toJavaObject(Admin.class);
|
|
|
- if (StringUtils.isBlank(admin.getMobile())) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "登录帐号为空", "登录帐号"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- if (StringUtils.isBlank(admin.getName())) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户名为空", "用户名"));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- Admin a = newAdminService.selectByMobile(admin.getMobile().trim());
|
|
|
- if (null != a) {
|
|
|
- res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- if (newAdminService.checkAdminRole(roles,null)) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR, "", "咨询师管理员"));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- Admin ad = new Admin();
|
|
|
- BeanUtils.copyProperties(admin, ad);
|
|
|
- /*ad.setId(UUID.randomUUID().toString());*/
|
|
|
- Calendar now = Calendar.getInstance();
|
|
|
- now.set(Calendar.MILLISECOND, 0);
|
|
|
-
|
|
|
- ad.setCreateTime(now.getTime());
|
|
|
- if (StringUtils.isBlank(ad.getPassword())) {
|
|
|
- ad.setPassword(AFTConstants.INITIALPASSWORD);
|
|
|
- }
|
|
|
- ad.setPassword(passwordUtil.getEncryptPwd(ad));
|
|
|
-
|
|
|
- res.setData(newAdminService.insertNewAdmin(ad,roles));
|
|
|
- }
|
|
|
-
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 修改管理员信息
|
|
|
- */
|
|
|
- @RequestMapping(value = "/updateAdmin", method = RequestMethod.POST)
|
|
|
- public Result updateAdmin(@RequestParam(value = "roles[]", required = false) String[] roleIds, String data) {
|
|
|
- Result res = new Result();
|
|
|
- JSONObject jo = (JSONObject) JSON.parse(data);
|
|
|
- List<String> roles = new ArrayList<String>();
|
|
|
- if (roleIds != null && roleIds.length > 0) {
|
|
|
- for (String role : roleIds) {
|
|
|
- roles.add(role);
|
|
|
- }
|
|
|
- }
|
|
|
- if (null != jo) {
|
|
|
- Admin admin = jo.toJavaObject(Admin.class);
|
|
|
-
|
|
|
- if (null == admin.getId()) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- if (null == admin.getMobile()) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "登录帐号为空", "登录帐号"));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- if (null == admin.getName()) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户名为空", "用户名"));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- Admin aa = newAdminService.selectByMobile(admin.getMobile().trim());
|
|
|
- if (null != aa && !admin.getId().equals(aa.getId())) {
|
|
|
- res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- Admin a = newAdminService.selectByPrimaryKey(admin.getId());
|
|
|
- if (null == a) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- if (newAdminService.checkAdminRole(roles,admin)) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR, "", "咨询师管理员"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- //*********用户编号判断**************
|
|
|
- /*String sdepNo=adminMapper.selectUserNoBySuperiorId(admin.getSuperiorId());
|
|
|
- int Count=adminMapper.selectCountBySuperiorId(admin.getSuperiorId());
|
|
|
- if((Count+1)>99){
|
|
|
- res.getError().add(buildError("","每层最多存在99个子类"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- if(Count<10){
|
|
|
- String dep=sdepNo+"0"+Count;
|
|
|
- String sid=adminMapper.selectIdByUserNo(dep);
|
|
|
- while(sid!=null){
|
|
|
- Count=(Count+1)%100;
|
|
|
- if(Count>=10){
|
|
|
- dep=sdepNo+Count;
|
|
|
- }else{
|
|
|
- dep=sdepNo+"0"+Count;
|
|
|
- }
|
|
|
- sid=adminMapper.selectIdByUserNo(dep);
|
|
|
- }
|
|
|
- admin.setUserNo(dep);
|
|
|
- }
|
|
|
- if(Count>=10){
|
|
|
- String dep=sdepNo+Count;
|
|
|
- String sid=adminMapper.selectIdByUserNo(dep);
|
|
|
- while(sid!=null){
|
|
|
- Count=(Count+1)%100;
|
|
|
- dep=sdepNo+Count;
|
|
|
- sid=adminMapper.selectIdByUserNo(dep);
|
|
|
- }
|
|
|
- admin.setUserNo(dep);
|
|
|
- }*/
|
|
|
-
|
|
|
- Admin ad = new Admin();
|
|
|
- BeanUtils.copyProperties(admin, ad);
|
|
|
- res = disposeAdminLocationList(res, jo, ad);
|
|
|
- if (!res.getError().isEmpty()) {
|
|
|
- return res;
|
|
|
- }
|
|
|
- res.setData(newAdminService.updateByPrimaryKeySelective(ad, roles));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- return res;
|
|
|
-}
|
|
|
-
|
|
|
- /**
|
|
|
- * 重置管理员密码
|
|
|
- */
|
|
|
- @RequestMapping(value = "/resetPwd", method = RequestMethod.POST)
|
|
|
- public Result resetPwd(String id) {
|
|
|
- Result res = new Result();
|
|
|
- if (StringUtils.isBlank(id)) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- Admin admin = newAdminService.selectByPrimaryKey(id);
|
|
|
- if (null == admin) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- Admin a = new Admin();
|
|
|
- a.setId(admin.getId());
|
|
|
- a.setCreateTime(admin.getCreateTime());
|
|
|
- a.setPassword(AFTConstants.INITIALPASSWORD);
|
|
|
- a.setPassword(passwordUtil.getEncryptPwd(a));
|
|
|
- res.setData(newAdminService.updateByPrimaryKey(a));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- private Result disposeAdminLocationList(Result res, JSONObject jo, Admin ad) {
|
|
|
- JSONArray locations = jo.getJSONArray("locations");
|
|
|
- if (null == locations || locations.size()<1){
|
|
|
- return res;
|
|
|
- }
|
|
|
- List<AdminLocation> adminLocationList = new ArrayList<>();
|
|
|
- AdminLocation al = null;
|
|
|
- Boolean areaAdminFlag = false;
|
|
|
- List<Integer> locationList = null;
|
|
|
- if (TokenManager.hasRole(AFTConstants.AREAADMIN)) {
|
|
|
- locationList = new ArrayList<>();
|
|
|
- areaAdminFlag = true;
|
|
|
- }
|
|
|
- for (int i = 0; i < locations.size(); i++) {
|
|
|
- AdminLocationBo alb = locations.getJSONObject(i).toJavaObject(AdminLocationBo.class);
|
|
|
- Integer province = alb.getProvince();
|
|
|
- String city = alb.getCity();
|
|
|
- if (null == province) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "省份为空", "所在省份"));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- if (province.intValue() > AFTConstants.PROVINCEMAXNUM) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "所在省份"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- if (areaAdminFlag) {
|
|
|
- locationList.add(province);
|
|
|
- }
|
|
|
- if (!StringUtils.isBlank(city)) {
|
|
|
- String[] arr = city.trim().split(",|,");
|
|
|
- if (null != arr && arr.length > 0) {
|
|
|
- for (String s : arr) {
|
|
|
- Integer c = Integer.valueOf(s);
|
|
|
- if (c.intValue() > AFTConstants.CITYMAXNUM) {
|
|
|
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "所在市"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- adminLocationList.add(disposeAdminLocation(al, ad, province, c));
|
|
|
- if (areaAdminFlag) {
|
|
|
- locationList.add(c);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- adminLocationList.add(disposeAdminLocation(al, ad, province, null));
|
|
|
- }
|
|
|
- }
|
|
|
- if (areaAdminFlag) {
|
|
|
- List<Integer> albList = disposeAdminLocationBo();
|
|
|
- if (!albList.containsAll(locationList)) {
|
|
|
- res.getError().add(buildError("", "所选所在地区域不在负责区域,无法添加或修改"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- }
|
|
|
- res.setData(adminLocationList);
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- private AdminLocation disposeAdminLocation(AdminLocation al, Admin ad, Integer province, Integer c) {
|
|
|
- al = new AdminLocation();
|
|
|
- al.setId(UUID.randomUUID().toString());
|
|
|
- al.setAdminId(ad.getId());
|
|
|
- al.setProvince(province);
|
|
|
- if (null != c) {
|
|
|
- al.setCity(c);
|
|
|
- }
|
|
|
- return al;
|
|
|
- }
|
|
|
-
|
|
|
- private List<Integer> disposeAdminLocationBo() {
|
|
|
- List<AdminLocationBo> alb = adminLocationService.findLocation(TokenManager.getAdminId());
|
|
|
- List<Integer> albList = null;
|
|
|
- if (!alb.isEmpty()) {
|
|
|
- Integer albProvince = null;
|
|
|
- albList = new ArrayList<>();
|
|
|
- for (AdminLocationBo bo : alb) {
|
|
|
- albProvince = bo.getProvince();
|
|
|
- albList.add(albProvince);
|
|
|
- if (!StringUtils.isBlank(bo.getCity())) {
|
|
|
- String[] albArr = bo.getCity().trim().split(",|,");
|
|
|
- if (null != albArr && albArr.length > 0) {
|
|
|
- for (String ss : albArr) {
|
|
|
- albList.add(Integer.valueOf(ss));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return albList;
|
|
|
- }
|
|
|
- /** 图片上传 **/
|
|
|
- @RequestMapping(value = "/uploadAdminImg", method = RequestMethod.POST)
|
|
|
- public Result uploadCustomerImg(HttpServletRequest req,String sign){
|
|
|
- Result res = new Result();
|
|
|
- res.setData(handleFile(res, "/customer_sys_file/", false, req, sign));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**新增获取ID**/
|
|
|
- @RequestMapping(value = "/newId", method = RequestMethod.GET)
|
|
|
- public Result newId(){
|
|
|
- Result res = new Result();
|
|
|
- res.setData(UUID.randomUUID().toString());
|
|
|
- return res;
|
|
|
- }
|
|
|
- /**编辑页面信息获取**/
|
|
|
- @RequestMapping(value = "/selectAllByid", method = RequestMethod.POST)
|
|
|
- public Result selectAllByid(String id){
|
|
|
- Result res = new Result();
|
|
|
- res.setData(newAdminService.selectAllByid(id));
|
|
|
- return res;
|
|
|
- }
|
|
|
- /**删除用户**/
|
|
|
- @RequestMapping(value = "/deleteById", method = RequestMethod.POST)
|
|
|
- public Result deleteById(String id){
|
|
|
- Result res = new Result();
|
|
|
- newAdminService.deleteById(id);
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 查询下级或平级
|
|
|
- * @param subOrSame
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value = "/selectAdminByOrg",method = RequestMethod.GET)
|
|
|
- public Result selectAdminByOrg(){
|
|
|
- Result res = new Result();
|
|
|
- res.setData(newAdminService.selectAdminByOrg());
|
|
|
- return res;
|
|
|
- }
|
|
|
-}
|
|
|
+package com.goafanti.admin.controller;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.List;
|
|
|
+import java.util.UUID;
|
|
|
+import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.goafanti.admin.bo.AdminListBo;
|
|
|
+import com.goafanti.admin.bo.AdminLocationBo;
|
|
|
+import com.goafanti.admin.service.AdminLocationService;
|
|
|
+import com.goafanti.admin.service.NewAdminService;
|
|
|
+import com.goafanti.common.bo.Result;
|
|
|
+import com.goafanti.common.constant.AFTConstants;
|
|
|
+import com.goafanti.common.constant.ErrorConstants;
|
|
|
+import com.goafanti.common.controller.CertifyApiController;
|
|
|
+import com.goafanti.common.model.Admin;
|
|
|
+import com.goafanti.common.model.AdminLocation;
|
|
|
+import com.goafanti.common.utils.PasswordUtil;
|
|
|
+import com.goafanti.common.utils.StringUtils;
|
|
|
+import com.goafanti.core.shiro.token.TokenManager;
|
|
|
+import com.goafanti.user.service.UserService;
|
|
|
+
|
|
|
+@Controller
|
|
|
+@RequestMapping(value = "/api/admin/superviser")
|
|
|
+public class AdminSuperviserApiController extends CertifyApiController {
|
|
|
+ @Resource
|
|
|
+ private NewAdminService newAdminService;
|
|
|
+ @Resource(name = "passwordUtil")
|
|
|
+ private PasswordUtil passwordUtil;
|
|
|
+ @Resource
|
|
|
+ private AdminLocationService adminLocationService;
|
|
|
+ @Resource
|
|
|
+ private UserService userService;
|
|
|
+
|
|
|
+ /**管理员列表*/
|
|
|
+ @RequestMapping(value = "/adminList", method = RequestMethod.GET)
|
|
|
+ public Result adminList(AdminListBo alb, String rid,String roleName, String pageNo,
|
|
|
+ String pageSize) {
|
|
|
+ Result res = new Result();
|
|
|
+ Integer pNo = 1;
|
|
|
+ Integer pSize = 10;
|
|
|
+ if (StringUtils.isNumeric(pageSize)) {
|
|
|
+ pSize = Integer.parseInt(pageSize);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNumeric(pageNo)) {
|
|
|
+ pNo = Integer.parseInt(pageNo);
|
|
|
+ }
|
|
|
+ res.setData(newAdminService.listAdmin(alb,rid,roleName, pNo, pSize));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增管理员
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/insertAdmin", method = RequestMethod.POST)
|
|
|
+ public Result insertAdmin(@RequestParam(value = "roles[]", required = false) String[] roleIds, String data) {
|
|
|
+ Result res = new Result();
|
|
|
+ JSONObject jo = (JSONObject) JSON.parse(data);
|
|
|
+ List<String> roles = new ArrayList<String>();
|
|
|
+ if (roleIds != null && roleIds.length > 0) {
|
|
|
+ for (String role : roleIds) {
|
|
|
+ roles.add(role);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (roleIds==null||roleIds.length<=0) {
|
|
|
+ res.getError().add(buildError("","角色不能为空"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ if (null != jo) {
|
|
|
+ Admin admin = jo.toJavaObject(Admin.class);
|
|
|
+ if (StringUtils.isBlank(admin.getMobile())) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "登录帐号为空", "登录帐号"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(admin.getName())) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户名为空", "用户名"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ Admin a = newAdminService.selectByMobile(admin.getMobile().trim());
|
|
|
+ if (null != a) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ if (newAdminService.checkAdminRole(roles,null)) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR, "", "咨询师管理员"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Admin ad = new Admin();
|
|
|
+ BeanUtils.copyProperties(admin, ad);
|
|
|
+ /*ad.setId(UUID.randomUUID().toString());*/
|
|
|
+ Calendar now = Calendar.getInstance();
|
|
|
+ now.set(Calendar.MILLISECOND, 0);
|
|
|
+
|
|
|
+ ad.setCreateTime(now.getTime());
|
|
|
+ if (StringUtils.isBlank(ad.getPassword())) {
|
|
|
+ ad.setPassword(AFTConstants.INITIALPASSWORD);
|
|
|
+ }
|
|
|
+ ad.setPassword(passwordUtil.getEncryptPwd(ad));
|
|
|
+
|
|
|
+ res.setData(newAdminService.insertNewAdmin(ad,roles));
|
|
|
+ }
|
|
|
+
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改管理员信息
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/updateAdmin", method = RequestMethod.POST)
|
|
|
+ public Result updateAdmin(@RequestParam(value = "roles[]", required = false) String[] roleIds, String data) {
|
|
|
+ Result res = new Result();
|
|
|
+ JSONObject jo = (JSONObject) JSON.parse(data);
|
|
|
+ List<String> roles = new ArrayList<String>();
|
|
|
+ if (roleIds != null && roleIds.length > 0) {
|
|
|
+ for (String role : roleIds) {
|
|
|
+ roles.add(role);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (null != jo) {
|
|
|
+ Admin admin = jo.toJavaObject(Admin.class);
|
|
|
+
|
|
|
+ if (null == admin.getId()) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null == admin.getMobile()) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "登录帐号为空", "登录帐号"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null == admin.getName()) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户名为空", "用户名"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ Admin aa = newAdminService.selectByMobile(admin.getMobile().trim());
|
|
|
+ if (null != aa && !admin.getId().equals(aa.getId())) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ Admin a = newAdminService.selectByPrimaryKey(admin.getId());
|
|
|
+ if (null == a) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (newAdminService.checkAdminRole(roles,admin)) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR, "", "咨询师管理员"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ Admin ad = new Admin();
|
|
|
+ BeanUtils.copyProperties(admin, ad);
|
|
|
+ res = disposeAdminLocationList(res, jo, ad);
|
|
|
+ if (!res.getError().isEmpty()) {
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ res.setData(newAdminService.updateByPrimaryKeySelective(ad, roles));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return res;
|
|
|
+}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 重置管理员密码
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/resetPwd", method = RequestMethod.POST)
|
|
|
+ public Result resetPwd(String id) {
|
|
|
+ Result res = new Result();
|
|
|
+ if (StringUtils.isBlank(id)) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ Admin admin = newAdminService.selectByPrimaryKey(id);
|
|
|
+ if (null == admin) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ Admin a = new Admin();
|
|
|
+ a.setId(admin.getId());
|
|
|
+ a.setCreateTime(admin.getCreateTime());
|
|
|
+ a.setPassword(AFTConstants.INITIALPASSWORD);
|
|
|
+ a.setPassword(passwordUtil.getEncryptPwd(a));
|
|
|
+ res.setData(newAdminService.updateByPrimaryKey(a));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ private Result disposeAdminLocationList(Result res, JSONObject jo, Admin ad) {
|
|
|
+ JSONArray locations = jo.getJSONArray("locations");
|
|
|
+ if (null == locations || locations.size()<1){
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ List<AdminLocation> adminLocationList = new ArrayList<>();
|
|
|
+ AdminLocation al = null;
|
|
|
+ Boolean areaAdminFlag = false;
|
|
|
+ List<Integer> locationList = null;
|
|
|
+ if (TokenManager.hasRole(AFTConstants.AREAADMIN)) {
|
|
|
+ locationList = new ArrayList<>();
|
|
|
+ areaAdminFlag = true;
|
|
|
+ }
|
|
|
+ for (int i = 0; i < locations.size(); i++) {
|
|
|
+ AdminLocationBo alb = locations.getJSONObject(i).toJavaObject(AdminLocationBo.class);
|
|
|
+ Integer province = alb.getProvince();
|
|
|
+ String city = alb.getCity();
|
|
|
+ if (null == province) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "省份为空", "所在省份"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (province.intValue() > AFTConstants.PROVINCEMAXNUM) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "所在省份"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ if (areaAdminFlag) {
|
|
|
+ locationList.add(province);
|
|
|
+ }
|
|
|
+ if (!StringUtils.isBlank(city)) {
|
|
|
+ String[] arr = city.trim().split(",|,");
|
|
|
+ if (null != arr && arr.length > 0) {
|
|
|
+ for (String s : arr) {
|
|
|
+ Integer c = Integer.valueOf(s);
|
|
|
+ if (c.intValue() > AFTConstants.CITYMAXNUM) {
|
|
|
+ res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "所在市"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ adminLocationList.add(disposeAdminLocation(al, ad, province, c));
|
|
|
+ if (areaAdminFlag) {
|
|
|
+ locationList.add(c);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ adminLocationList.add(disposeAdminLocation(al, ad, province, null));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (areaAdminFlag) {
|
|
|
+ List<Integer> albList = disposeAdminLocationBo();
|
|
|
+ if (!albList.containsAll(locationList)) {
|
|
|
+ res.getError().add(buildError("", "所选所在地区域不在负责区域,无法添加或修改"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ res.setData(adminLocationList);
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ private AdminLocation disposeAdminLocation(AdminLocation al, Admin ad, Integer province, Integer c) {
|
|
|
+ al = new AdminLocation();
|
|
|
+ al.setId(UUID.randomUUID().toString());
|
|
|
+ al.setAdminId(ad.getId());
|
|
|
+ al.setProvince(province);
|
|
|
+ if (null != c) {
|
|
|
+ al.setCity(c);
|
|
|
+ }
|
|
|
+ return al;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<Integer> disposeAdminLocationBo() {
|
|
|
+ List<AdminLocationBo> alb = adminLocationService.findLocation(TokenManager.getAdminId());
|
|
|
+ List<Integer> albList = null;
|
|
|
+ if (!alb.isEmpty()) {
|
|
|
+ Integer albProvince = null;
|
|
|
+ albList = new ArrayList<>();
|
|
|
+ for (AdminLocationBo bo : alb) {
|
|
|
+ albProvince = bo.getProvince();
|
|
|
+ albList.add(albProvince);
|
|
|
+ if (!StringUtils.isBlank(bo.getCity())) {
|
|
|
+ String[] albArr = bo.getCity().trim().split(",|,");
|
|
|
+ if (null != albArr && albArr.length > 0) {
|
|
|
+ for (String ss : albArr) {
|
|
|
+ albList.add(Integer.valueOf(ss));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return albList;
|
|
|
+ }
|
|
|
+ /** 图片上传 **/
|
|
|
+ @RequestMapping(value = "/uploadAdminImg", method = RequestMethod.POST)
|
|
|
+ public Result uploadCustomerImg(HttpServletRequest req,String sign){
|
|
|
+ Result res = new Result();
|
|
|
+ res.setData(handleFile(res, "/customer_sys_file/", false, req, sign));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**新增获取ID**/
|
|
|
+ @RequestMapping(value = "/newId", method = RequestMethod.GET)
|
|
|
+ public Result newId(){
|
|
|
+ Result res = new Result();
|
|
|
+ res.setData(UUID.randomUUID().toString());
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ /**编辑页面信息获取**/
|
|
|
+ @RequestMapping(value = "/selectAllByid", method = RequestMethod.POST)
|
|
|
+ public Result selectAllByid(String id){
|
|
|
+ Result res = new Result();
|
|
|
+ res.setData(newAdminService.selectAllByid(id));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ /**删除用户**/
|
|
|
+ @RequestMapping(value = "/deleteById", method = RequestMethod.POST)
|
|
|
+ public Result deleteById(String id){
|
|
|
+ Result res = new Result();
|
|
|
+ newAdminService.deleteById(id);
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询下级或平级
|
|
|
+ * @param subOrSame
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/selectAdminByOrg",method = RequestMethod.GET)
|
|
|
+ public Result selectAdminByOrg(){
|
|
|
+ Result res = new Result();
|
|
|
+ res.setData(newAdminService.selectAdminByOrg());
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+}
|