You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-wms-java/src/main/java/com/glxp/api/controller/basic/BasicSickerController.java

59 lines
2.5 KiB
Java

package com.glxp.api.controller.basic;
import cn.hutool.core.thread.ThreadUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.CusRedissonAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.RedissonCacheKey;
import com.glxp.api.controller.BaseController;
import com.glxp.api.req.basic.BasicSkSickerRequest;
import com.glxp.api.req.basic.GetSickRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkSickerResponse;
import com.glxp.api.service.basic.BasicSkSickerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@RestController
public class BasicSickerController extends BaseController {
@Resource
BasicSkSickerService basicSkSickerService;
@GetMapping("/udiwms/basic/sk/sicker/filter")
public BaseResponse filterSicker(BasicSkSickerRequest basicSkSickerRequest) {
List<BasicSkSickerResponse> basicSkSickerResponses = basicSkSickerService.filterList(basicSkSickerRequest);
PageInfo<BasicSkSickerResponse> pageInfo = new PageInfo<>(basicSkSickerResponses);
PageSimpleResponse<BasicSkSickerResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(basicSkSickerResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@CusRedissonAnnotation(cacheName = RedissonCacheKey.DL_SICKER, key = {"#getSickRequest.thirdSys"}, waitTime = 3, timeOutMsg = "后台正在下载,请勿重复提交")
@PostMapping("/udiwms/basic/sk/sicker/download")
public BaseResponse sickerDl(@RequestBody GetSickRequest getSickRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
ThreadUtil.execAsync(() -> {
basicSkSickerService.downloadSicker(getSickRequest, null);
});
return ResultVOUtils.success("后台已开始下载,请稍后刷新查看!");
}
}