package com.ibeetl.admin.console.api; import com.ibeetl.admin.console.model.*; import com.ibeetl.admin.console.service.CuserConsoleService; import com.ibeetl.admin.console.service.OrderManageService; import com.ibeetl.admin.console.service.RedisService; import com.ibeetl.admin.console.service.XzxSysAddressLevelInfoService; import com.ibeetl.admin.core.annotation.Function; import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.service.CorePlatformService; import com.ibeetl.admin.core.web.JsonResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.Map; @RestController @Api(value = "用户管理接口类") public class UserManageApi { private static final String MODEL = "/admin/front/user"; private final Logger log = LoggerFactory.getLogger(this.getClass()); @Autowired RedisService redisService; @Autowired CuserConsoleService service; @Autowired XzxSysAddressLevelInfoService xzxSysAddressLevelInfoService; @Autowired CorePlatformService platformService; /** * 普通用户 * @param userModel * @return */ @PostMapping(MODEL + "/queryUserApiList.do") @ResponseBody @ApiOperation(value="用户管理-普通用户", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "startTime", value = "开始时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "endTime", value = "结束时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型(1为普通用户,2为回收员,3为代丢员,4入库员,5运营员)", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "手机号", required = true, dataType = "String") }) public JsonResult> queryUserApiList(@RequestBody UserModel userModel){ Map map = service.queryCuserForTimeList(userModel); return JsonResult.success(map); } @PostMapping(MODEL + "/queryUserOrderApiList.do") @ResponseBody @ApiOperation(value="用户管理-普通用户的订单列表", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "userId", value = "用户id", required = true, dataType = "String") }) public JsonResult> queryUserOrderApiList(@RequestBody UserModel userModel){ Map map = service.queryUserOrderApiList(userModel); return JsonResult.success(map); } /** * 用户管理-普通用户(是否禁用) * @param userModel */ @PostMapping(MODEL + "/UpdateUserApiByUserId.json") @ResponseBody @ApiOperation(value="用户管理-普通用户(是否禁用)", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "userId", value = "用户Id", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "isProhibit", value = "是否删除(1启用 0禁用)", required = true, dataType = "String") }) public JsonResult> UpdateUserApiByUserId(@RequestBody UserModel userModel){ Map map = new HashMap<>(); service.UpdateUserApiByUserId(userModel.getIsProhibit(),userModel.getUserId(),userModel.getUserType()); map.put("code",0); map.put("userId",userModel.getUserId()); return JsonResult.success(map); } /** * 普通用户详情 * @param userModel * @return */ @PostMapping(MODEL + "/queryUserApiDetail.json") @ResponseBody @ApiOperation(value="用户管理-普通用户详情", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "userId", value = "用户Id", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "用户手机号", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "page", value = "页数", required = true, dataType = "int") }) public JsonResult> queryUserApiDetail(@RequestBody UserModel userModel){ Map result = service.queryCuserDetail(userModel.getUserId(), userModel.getMobilePhone(), userModel.getUserType(),userModel.getLimit(),userModel.getPage()); return JsonResult.success(result); } /** * 普通用户 * @param userModel * @return */ @PostMapping(MODEL + "/queryPromoterApiList.do") @ResponseBody @ApiOperation(value="用户管理-推广员(推广员详情接口直接获取)", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "startTime", value = "开始时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "endTime", value = "结束时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "手机号", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "isProhibit", value = "是否禁用", required = true, dataType = "String") }) public JsonResult> queryPromoterApiList(@RequestBody UserModel userModel){ Map map = service.queryPromoterApiList(userModel); return JsonResult.success(map); } /** * 普通用户 * @param userModel * @return */ @PostMapping(MODEL + "/queryCollectorApiList.do") @ResponseBody @ApiOperation(value="用户管理-回收员(回收员详情接口直接获取)", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "startTime", value = "开始时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "endTime", value = "结束时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型(1为普通用户,2为回收员,3为代丢员,4入库员,5运营员)", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "手机号", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "area", value = "区域ID", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "isProhibit", value = "是否禁用(1启用 0禁用)", required = true, dataType = "String") }) public JsonResult> queryCollectorApiList(@RequestBody CollectorModel userModel){ Map map = service.queryCollectorApiList(userModel); return JsonResult.success(map); } @PostMapping(MODEL + "/queryWarehouseApiList.do") @ResponseBody @ApiOperation(value="用户管理-仓管员", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "startTime", value = "开始时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "endTime", value = "结束时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型(1为普通用户,2为回收员,3为代丢员,4入库员,5运营员)", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "手机号", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "isProhibit", value = "是否禁用(1启用 0禁用)", required = true, dataType = "String") }) public JsonResult> queryWarehouseApiList(@RequestBody CollectorModel collector){ Map map = service.queryCollectorApiList(collector); return JsonResult.success(map); } @PostMapping(MODEL + "/queryPackageApiList.do") @ResponseBody @ApiOperation(value="用户管理-打包员", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "startTime", value = "开始时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "endTime", value = "结束时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型(1为普通用户,2为回收员,3为代丢员,4入库员,5运营员,6推广员,7打包员)", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "手机号", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "isProhibit", value = "是否禁用(1启用 0禁用)", required = true, dataType = "String") }) public JsonResult> queryPackageApiList(@RequestBody CollectorModel collector){ Map map = service.queryPackageApiList(collector); return JsonResult.success(map); } /** * 修改仓管员姓名和仓库名称 * @return */ @PostMapping(MODEL + "/updateWarehouse.json") @ResponseBody @ApiOperation(value="用户管理-仓管员(修改仓管员姓名或仓库名称)", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "userId", value = "用户Id", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "name", value = "仓管员名称", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "sysStorageId", value = "仓库Id", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "sysStorage", value = "所属仓库", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型(4:入库员(仓管员),0:修改仓库名称)", required = true, dataType = "String") }) public JsonResult> updateWarehouse(@RequestBody CollectorModel collector){ Map map = service.updateWarehouse(collector); return JsonResult.success(map); } /** * 普通用户 * @param collector * @return */ @PostMapping(MODEL + "/queryUnregisteredApiList.do") @ResponseBody @ApiOperation(value="用户管理-未注册用户(详情直接取该返回数据)", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "startTime", value = "开始时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "endTime", value = "结束时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "area", value = "区域Id", required = true, dataType = "String") }) public JsonResult> queryUnregisteredApiList(@RequestBody CollectorModel collector){ Map map = service.queryUnregisteredApiList(collector); return JsonResult.success(map); } /** * 身份设定查询 * @param userModel * @return */ @PostMapping(MODEL + "/queryEditroleApi.do") @ResponseBody @ApiOperation(value="用户管理-身份设定", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "每页条数", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "手机号", required = true, dataType = "String") }) public JsonResult> queryEditroleApi(@RequestBody UserEditroleModel userModel){ Map map = service.queryEditroleApi(userModel); return JsonResult.success(map); } /** * 根据Id删除用户角色 * @param userModel */ @PostMapping(MODEL + "/delEditroleApi.json") @ResponseBody @ApiOperation(value="用户管理-身份设定删除", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "userId", value = "用户Id", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "手机号", required = true, dataType = "String") }) public JsonResult> delEditroleApi(@RequestBody UserModel userModel){ Map map = new HashMap<>(); if(userModel.getUserType().equals("7")){ return JsonResult.failMessage("不能删除打包员的角色!"); } CoreUser user = platformService.getCurrentUser(); if(user.getId()==1){ return JsonResult.failMessage("超管不能删除用户身份!"); } service.delCuserById(userModel.getUserId(), userModel.getMobilePhone(), userModel.getUserType()); map.put("code",0); map.put("userId",userModel.getUserId()); return JsonResult.success(map); } /** * @param userModel * @return */ @PostMapping(MODEL + "/addEditroleApi.json") @ResponseBody @ApiOperation(value="用户管理-身份设定(添加和修改接口合并)", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "password", value = "初始密码", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "手机号", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "area", value = "地区Id", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "cityId", value = "市Id", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "roleId", value = "角色Id", required = true, dataType = "String") }) public JsonResult> addEditroleApi(@RequestBody UserEditroleModel userModel){ Map map = new HashMap<>(); CoreUser user = platformService.getCurrentUser(); if(user.getId()==1){ if(null!=userModel.getPartnerId()&&!"".equals(userModel.getPartnerId())){ }else{ return JsonResult.failMessage("超管新增或修改用户身份必须选择合伙人!"); } //return JsonResult.failMessage("超管不能新增和修改用户身份!"); } if(userModel.getArea()==null&&"".equals(userModel.getArea())){ return JsonResult.failMessage("地区不能为空!"); } if(userModel.getUserType().equals("8")){ return JsonResult.failMessage("不能新增或修改打包员,请在手机端进行该操作!"); } if(userModel.getUserType().equals("7")){ return JsonResult.failMessage("不能新增主打包员,每个打包站只能有一个主打包员!"); } if(userModel.getUserType().equals("4")){ if(null!=userModel.getStorageId()&&!"".equals(userModel.getStorageId())){ }else{ return JsonResult.failMessage("仓管员必须关联仓库!"); } } //新增 : 回收员与入库员不能共存 int num = service.addEditroleApi(userModel); if(num>0){ map.put("code",0); map.put("changeNum",num); map.put("msg","添加成功"); }else if(num==-1){ return JsonResult.failMessage("回收员不能与入库员共存!"); }else if(num==-2){ return JsonResult.failMessage("不能新增打包员!"); }else{ return JsonResult.failMessage("添加身份,区域不能为空!"); } return JsonResult.success(map); } /** * 查询字典里面的角色 * @return */ @PostMapping(MODEL + "/queryAllRoleApi.json") @ResponseBody @ApiOperation(value="用户管理-身份设定(查询字典里面的角色)", notes="test: 仅0有正确返回") public JsonResult>> queryAllRoleApi(){ List> list = service.queryAllAPPRole(); return JsonResult.success(list); } @PostMapping(MODEL + "/querySysStrangeList.json") @ResponseBody @ApiOperation(value="查询仓库下拉列表", notes="test: 仅0有正确返回") public JsonResult>> querySysStrangeList(){ List> list = service.querySysStrangeList(); return JsonResult.success(list); } /** * 根据用户ID更新name * @param userModel * @return */ @PostMapping(MODEL + "/updateUserNameApi.json") @ResponseBody @ApiOperation(value="用户管理-身份设定更新用户姓名", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "userId", value = "用户Id", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userType", value = "用户类型", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "mobilePhone", value = "手机号", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "name", value = "用户姓名", required = true, dataType = "String") }) public JsonResult> updateUserNameApi(@RequestBody UserModel userModel){ CoreUser user = platformService.getCurrentUser(); if(user.getId()==1){ return JsonResult.failMessage("超管不能更新用户姓名!"); } if(userModel.getUserType().equals("8")){ return JsonResult.failMessage("不能修改打包员信息!"); } int num = service.updateUserNameApi(userModel.getUserId(), userModel.getName(), userModel.getMobilePhone(),userModel.getUserType()); Map map = new HashMap<>(); if(num>0){ map.put("code",0); }else{ map.put("code",-1); } return JsonResult.success(map); } /** * 查询字典里面的角色 * @return */ @PostMapping(MODEL + "/queryAllAreaApi.json") @ResponseBody @ApiOperation(value="用户管理-查询区域", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "level", value = "第三级(1:省会,2:城市,3 :区域)", required = true, dataType = "String") }) public JsonResult>> queryAllAreaApi(@RequestBody AreaModel model){ List> list = xzxSysAddressLevelInfoService.queryAllProvince(model.getLevel()); return JsonResult.success(list); } }