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<Map<String, Object>> queryUserApiList(@RequestBody UserModel userModel){
|
Map<String, Object> 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<Map<String, Object>> queryUserOrderApiList(@RequestBody UserModel userModel){
|
Map<String, Object> 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<Map<String, Object>> UpdateUserApiByUserId(@RequestBody UserModel userModel){
|
Map<String, Object> 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<Map<String, Object>> queryUserApiDetail(@RequestBody UserModel userModel){
|
Map<String, Object> 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<Map<String, Object>> queryPromoterApiList(@RequestBody UserModel userModel){
|
Map<String, Object> 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<Map<String, Object>> queryCollectorApiList(@RequestBody CollectorModel userModel){
|
Map<String, Object> 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<Map<String, Object>> queryWarehouseApiList(@RequestBody CollectorModel collector){
|
Map<String, Object> 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<Map<String, Object>> queryPackageApiList(@RequestBody CollectorModel collector){
|
Map<String, Object> 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<Map<String, Object>> updateWarehouse(@RequestBody CollectorModel collector){
|
Map<String, Object> 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<Map<String, Object>> queryUnregisteredApiList(@RequestBody CollectorModel collector){
|
Map<String, Object> 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<Map<String, Object>> queryEditroleApi(@RequestBody UserEditroleModel userModel){
|
Map<String, Object> 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<Map<String, Object>> delEditroleApi(@RequestBody UserModel userModel){
|
Map<String, Object> 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<Map<String, Object>> addEditroleApi(@RequestBody UserEditroleModel userModel){
|
Map<String, Object> 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<List<Map<String, Object>>> queryAllRoleApi(){
|
List<Map<String, Object>> list = service.queryAllAPPRole();
|
return JsonResult.success(list);
|
}
|
|
@PostMapping(MODEL + "/querySysStrangeList.json")
|
@ResponseBody
|
@ApiOperation(value="查询仓库下拉列表", notes="test: 仅0有正确返回")
|
public JsonResult<List<Map<String,Object>>> querySysStrangeList(){
|
List<Map<String, Object>> 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<Map<String, Object>> 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<String, Object> 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<List<Map<String, Object>>> queryAllAreaApi(@RequestBody AreaModel model){
|
List<Map<String, Object>> list = xzxSysAddressLevelInfoService.queryAllProvince(model.getLevel());
|
return JsonResult.success(list);
|
}
|
|
}
|