package com.pj.api.open.web; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.pj.api.open.ResultJson; import com.pj.api.open.bo.CheckCarNumberBO; import com.pj.api.open.bo.InRecordBO; import com.pj.api.open.service.OpenService; import com.pj.project.sync.HelpService; import com.pj.project.sync.response.IOrderPriceRes; import com.pj.project.tb_deduction_bind.TbDeductionBindService; import com.pj.project.tb_deduction_record.TbDeductionRecordService; import com.pj.utils.sg.AjaxJson; import lombok.extern.slf4j.Slf4j; import org.aspectj.weaver.loadtime.Aj; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map; @RequestMapping(value = "open") @RestController @Slf4j public class OpenController { @Resource OpenService openService; /** * 道闸请求接口 * * @param params * @param request * @param response * @return */ @PostMapping(value = "req") public ResultJson req(@RequestBody Map params, HttpServletRequest request, HttpServletResponse response) { String dataType = request.getHeader("DataType"); if ("CheckCarNumber".equals(dataType)) { CheckCarNumberBO checkCarNumberBO = BeanUtil.toBean(params, CheckCarNumberBO.class); return checkCarNumber(checkCarNumberBO); } else if ("Inrecord".equals(dataType)) { InRecordBO inRecordBO = BeanUtil.toBean(params, InRecordBO.class); return handlerInRecord(inRecordBO); } return ResultJson.error("未知异常"); } private ResultJson handlerInRecord(InRecordBO inRecordBO) { log.info("handler in record:{}", JSONUtil.toJsonStr(inRecordBO)); openService.handlerInRecord(inRecordBO); return ResultJson.success(); } private ResultJson checkCarNumber(CheckCarNumberBO checkCarNumberBO) { log.info("check car number:{}", JSONUtil.toJsonStr(checkCarNumberBO)); String channelName = checkCarNumberBO.getChannelName(); if (StrUtil.contains(channelName, "地磅")) { log.info("进入称重逻辑:{},{}", channelName, checkCarNumberBO.getCarNumber()); //走地磅称重逻辑 return openService.reqWeighbridge(checkCarNumberBO); } return openService.checkCarNumber(checkCarNumberBO); } /** * 长传地磅数据 * * @param channel * @param weight * @return */ @RequestMapping("reqWeighbridge") public void reqWeighbridge(@RequestParam String channel, @RequestParam Integer weight) { log.info("cache weighbridge:{},{}", channel, weight); openService.cacheWeighbridge(channel, weight); } @RequestMapping("cleanWeighbridge") public void cleanWeighbridge(@RequestParam String channel) { log.info("clean cache weighbridge:{}", channel); openService.cleanWeighbridge(channel); } @Resource private TbDeductionRecordService tbDeductionRecordService; @RequestMapping("exeMoney") public AjaxJson doMoney(String company,String startDay, String endDay) { tbDeductionRecordService.doMoney(company,startDay,endDay); return AjaxJson.getSuccess(); } @PostMapping("calculateMoney") public AjaxJson doMoney(@RequestPart MultipartFile file) { tbDeductionRecordService.calculateMoney(file); return AjaxJson.getSuccess(); } @Resource private HelpService helpService; @PostMapping("deCrypte") public AjaxJson deCrypte(@RequestBody String data) { data="{\"request\":{\"sysId\":\"0110\",\"encrypted\":\"cMh0qJnmEpoGeeQ5Le7AD4+hQp3+EQIIG3ndeTSOioNR7Fj9qO0Ho68g0T9KfMVYmrni0cS8gdCRN6pQJdLyETTzU6yr/t5TIKZWr5+8yGvlgzzkflWm/BJh3f1NFKn6JMtT/KbT4lY7+A6oo+eyQKfnbMGp9hsEq9LpZX/nr2zmcXy0KuoxM9+zFulvpDvnO6cllGcxycA0aj9j/7aTEDxNtzN+w9k1GEEyDcKU/7npJeHQGlX3MjQtv3MnnTn7ixQL69toNdN+mUiSP9BJolK4/QGNR5dB43P93meWrjVArdU2coh+GOvp22gQSZ8bmG51SNN6dRWv61sBbZuYh8tp07Nt6F1eHrZydz9MFg5RRJELSE4ZTImS1KmnefcDLLbN0xZyDLtqzCJRhp/itPHWBXYTHZG754Xf36i/G4c=\",\"keyEncrypted\":\"aixnEIN3wgv2cMNQpHABsFYhwmVBIHpsE4Lr91fxd/sa5CGA72NDmn6MedAr7U7cKrCqQonqrhcoUwd6Yn7AJGaCcPpHIR43DTFUenS3c9Xp+TcYjwXgGYqFRV8y2ZcBbQPqxRSgYnTDu+wGBSUYScxcHH/bqTLGzONL3wPs16w=\",\"timeStamp\":\"20240526220927\",\"apiName\":\"REQ_005\"},\"signature\":\"32492db1c5b76fff6439561dde1a5004\"}"; return AjaxJson.getSuccessData(helpService.deCrypte(data,IOrderPriceRes.class)); } }