package com.doumee.api.web;
|
|
import com.doumee.core.annotation.LoginRequired;
|
import com.doumee.core.annotation.pr.PreventRepeat;
|
import com.doumee.core.annotation.trace.Trace;
|
import com.doumee.core.constants.Constants;
|
import com.doumee.core.constants.ResponseStatus;
|
import com.doumee.core.exception.BusinessException;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.core.model.PageData;
|
import com.doumee.core.model.PageWrap;
|
import com.doumee.dao.business.model.*;
|
import com.doumee.dao.business.web.response.UserResponse;
|
import com.doumee.dao.system.dto.WebLoginDTO;
|
import com.doumee.dao.system.model.SystemUser;
|
import com.doumee.jtt808.web.service.Jtt808Service;
|
import com.doumee.service.business.*;
|
import com.doumee.service.system.SystemLoginService;
|
import com.doumee.service.system.SystemUserService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* Created by IntelliJ IDEA.
|
*
|
* @Author : Rk
|
* @create 2023/10/9 10:15
|
*/
|
|
@Api(tags = "4、运营中心接口")
|
@Trace(exclude = true)
|
@RestController
|
@RequestMapping("/web/manger")
|
@Slf4j
|
public class ManagerApi extends ApiController{
|
|
@Autowired
|
private Jtt808Service jtt808Service;
|
|
@Autowired
|
private BikesService bikesService;
|
@Autowired
|
private SystemLoginService systemLoginService;
|
@Autowired
|
private SystemUserService systemUserService;
|
@LoginRequired
|
@PreventRepeat(limit = 10, lockTime = 10000)
|
@ApiOperation("登录管理员账号")
|
@PostMapping("/login")
|
public ApiResponse<UserResponse> login (@Validated @RequestBody WebLoginDTO dto, HttpServletRequest request) {
|
dto.setMemberId(this.getMemberId());
|
SystemUser sys =systemLoginService.loginByPasswordWx(dto, request);
|
return ApiResponse.success( memberService.getUserInfo(getMemberId()));
|
}
|
@LoginRequired
|
@PreventRepeat(limit = 10, lockTime = 10000)
|
@ApiOperation("退出管理员账号")
|
@PostMapping("/logout")
|
public ApiResponse<UserResponse> logout (HttpServletRequest request) {
|
systemLoginService.logoutWx(this.getMemberId());
|
return ApiResponse.success(memberService.getUserInfo(getMemberId()));
|
}
|
|
@PreventRepeat
|
@LoginRequired
|
@ApiOperation("电车批量上下架")
|
@GetMapping("/updateBikeStatus/batch")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "ids", value = "车辆编码集合,多个英文逗号隔开", required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "bikeStatus", value = "状态", required = true)
|
})
|
public ApiResponse updateBikeStatus(@RequestParam String ids, @RequestParam Integer bikeStatus) {
|
UserResponse user = this.getUserResponse();
|
if(user.getSysuser() ==null){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED);
|
}
|
String [] idArray = ids.split(",");
|
List<String> idList = new ArrayList<>();
|
for (String id : idArray) {
|
idList.add(id);
|
}
|
bikesService.updateBikeStatusBatchWx(user,idList,bikeStatus);
|
return ApiResponse.success(null);
|
}
|
@PreventRepeat
|
@LoginRequired
|
@ApiOperation("电车批量开关锁")
|
@GetMapping("/updateLockStatus/batch")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "ids", value = "车辆编码集合,多个英文逗号隔开", required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "lockStatus", value = "状态 0关锁 1开锁", required = true)
|
})
|
public ApiResponse<String> updateLockStatus(@RequestParam String ids, @RequestParam Integer lockStatus) {
|
UserResponse user = this.getUserResponse();
|
if(user.getSysuser() ==null){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED);
|
}
|
String [] idArray = ids.split(",");
|
List<String> idList = new ArrayList<>();
|
for (String id : idArray) {
|
idList.add(id);
|
}
|
String msg = jtt808Service.updateLockStatusBatch(user,idList,lockStatus);
|
return ApiResponse.success(msg);
|
}
|
@PreventRepeat
|
@LoginRequired
|
@ApiOperation("分页查询电车列表")
|
@PostMapping("/pageBikes")
|
public ApiResponse<PageData<Bikes>> pageBikes (@RequestBody PageWrap<Bikes> pageWrap) {
|
UserResponse user = this.getUserResponse();
|
if(user.getSysuser() ==null){
|
throw new BusinessException(ResponseStatus.NOT_ALLOWED);
|
}
|
pageWrap.getModel().setType(Constants.ONE);//查询电车列表
|
PageData<Bikes> list = bikesService.findJoinPage(pageWrap);
|
return ApiResponse.success(list);
|
}
|
|
}
|