package com.fdkankan.manage.controller; import cn.hutool.core.io.FileUtil; import com.fdkankan.manage.common.ResultCode; import com.fdkankan.manage.entity.IncrementType; import com.fdkankan.manage.entity.User; import com.fdkankan.manage.exception.BusinessException; import com.fdkankan.manage.common.ResultData; import com.fdkankan.manage.service.ICameraService; import com.fdkankan.manage.service.IIncrementTypeService; import com.fdkankan.manage.service.IUserIncrementService; import com.fdkankan.manage.service.IUserService; import com.fdkankan.manage.vo.request.CameraParam; import com.fdkankan.manage.vo.request.UserIncrementParam; import com.fdkankan.manage.vo.request.UserParam; import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; /** * 用户管理 */ @RestController @RequestMapping("/service/manage/user") public class UserController { @Autowired IUserService userService; @Autowired IUserIncrementService userIncrementService; @Autowired IIncrementTypeService incrementTypeService; @Autowired ICameraService cameraService; /** * 分页列表 */ @PostMapping("/list") public ResultData list(@RequestBody UserParam param){ return ResultData.ok(userService.pageList(param)); } /** * 根据userId获取详情 */ @GetMapping("/userDetail") public ResultData userDetail(@RequestParam(required = false) Integer userId){ return ResultData.ok(userService.userDetail(userId)); } /** * 权益详情 */ @PostMapping("/getIncrementListByUserId") public ResultData getIncrementListByUserId(@RequestBody UserParam param){ return ResultData.ok(userIncrementService.pageList(param.getId(),param.getPageNum(),param.getPageSize())); } /** * 权益延期 续费 * id 权益id * year 延期年限 */ @PostMapping("/incrementDelay") public ResultData IncrementDelay(@RequestBody UserIncrementParam param){ if(param.getId() == null){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } userIncrementService.delayById(param.getId(),param.getYear()); return ResultData.ok(); } /** * 添加用户权益 * userId 用户id * incrementEndTime 权益到期日期 */ @PostMapping("/addUserIncrement") public ResultData addUserIncrement(@RequestBody UserIncrementParam param){ if(param.getUserId() == null || StringUtils.isEmpty(param.getIncrementEndTime()) || param.getIncrementTypeId() == null){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } userIncrementService.add(param); return ResultData.ok(); } @PostMapping("/getAddUserIncrementTime") public ResultData getAddUserIncrementTime(@RequestBody UserIncrementParam param){ if(param.getUserId() == null || param.getIncrementTypeId() == null){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } DateTime addUserIncrementTime = userIncrementService.getAddUserIncrementTime(param); HashMap map = new HashMap<>(); map.put("deadLine",addUserIncrementTime.toDate().getTime()); return ResultData.ok(map ); } /** * 添加下载次数 * userId 用户id * count 下载次数 */ @PostMapping("/addDownNum") public ResultData addDownNum(@RequestBody UserIncrementParam param){ if(param.getUserId() == null || param.getCount() == null || param.getDownType() == null){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } userService.addDownNum(param); return ResultData.ok(); } /** * 获取相机详情 * userId 用户id */ @PostMapping("/getCameraDetail") public ResultData getCameraDetail(@RequestBody CameraParam cameraParam){ if(cameraParam.getUserId() == null){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } return ResultData.ok(cameraService.pageList(cameraParam)); } /** * 解绑相机 * @param cameraId 相机id */ @GetMapping("/unbindCamera") public ResultData unbindCamera(@RequestParam(required = false)Long cameraId){ cameraService.unbindCamera(cameraId); return ResultData.ok(); } @PostMapping("/addUcenterUser") public ResultData addUcenterUser(@RequestBody UserParam userParam){ userService.addUcenterUser(userParam); return ResultData.ok(); } @PostMapping("/updateUcenterUser") public ResultData updateUcenterUser(@RequestBody UserParam userParam){ userService.updateUcenterUser(userParam); return ResultData.ok(); } @PostMapping("/delUcenterUser") public ResultData delUcenterUser(@RequestBody UserParam userParam){ userService.delUcenterUser(userParam); return ResultData.ok(); } @PostMapping("/ReUcenterUserPassword") public ResultData ReUcenterUserPassword(@RequestBody UserParam userParam){ userService.ReUcenterUserPassword(userParam); return ResultData.ok(); } }