package com.zy.asrs.controller; import com.alibaba.fastjson.JSON; import com.core.annotations.AppAuth; import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.param.WcsTaskDistributionParam; import com.zy.asrs.service.OpenService; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; /** * Created by vincent on 2024/10/16 */ @Slf4j @RestController @RequestMapping("open/rcs") public class OpenController extends BaseController { private static final boolean auth = true; public static final ArrayList APP_KEY_LIST = new ArrayList() {{ add("ea1f0459efc02a79f046f982767939ae"); }}; @Autowired private OpenService openService; /** * 添加出库单 */ @PostMapping("/task/cs/down/default/v1") @AppAuth(memo = "WCS任务下发") public synchronized R wcsTaskDistribution(@RequestHeader(required = false) String appkey, @RequestBody WcsTaskDistributionParam param, HttpServletRequest request) { auth(appkey, param, request); if (Cools.isEmpty(param)) { return R.parse(BaseRes.PARAM); } if (Cools.isEmpty(param.getTaskNo())) { return R.error("工作号[taskNo]不能为空"); } if (Cools.isEmpty(param.getStartSta()) || param.getStartSta$()==0) { return R.error("起点[startSta]不能为空"); } if (Cools.isEmpty(param.getEndSta()) || param.getEndSta$()==0) { return R.error("终点[endSta]不能为空"); } openService.wcsTaskDistribution(param); return R.ok(); } /** * 库存统计 */ @RequestMapping("/stock/default/v1") public R queryStock(@RequestHeader(required = false) String appkey, HttpServletRequest request) { auth(appkey, null, request); return R.ok().add(openService.queryStock()); } private void auth(String appkey, Object obj, HttpServletRequest request) { log.info("{}接口被访问;appkey:{};请求数据:{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj)); request.setAttribute("cache", obj); if (!auth) { return; } if (Cools.isEmpty(appkey)) { throw new CoolException("认证失败,请确认appkey无误!"); } if (!APP_KEY_LIST.contains(appkey)) { throw new CoolException("认证失败,请确认appkey无误!"); } } }