package com.java110.boot.controller.app.charge; import com.alibaba.fastjson.JSONObject; import com.java110.core.base.controller.BaseController; import com.java110.core.log.LoggerFactory; import com.java110.dto.chargeMachineOrder.NotifyChargeOrderDto; import com.java110.intf.common.INotifyChargeV1InnerServiceSMO; import com.java110.utils.cache.MappingCache; import com.java110.vo.ResultVo; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import javax.servlet.http.HttpServletRequest; import java.util.Base64; /** * 科航充电桩 充电完成回调 * */ @RestController @RequestMapping(path = "/app/charge/kehang") public class NotifyKeHangChargeController extends BaseController { private final static Logger logger = LoggerFactory.getLogger(NotifyKeHangChargeController.class); private static final String FINISH_CHARGE = "net.equip.charge.slow.async.notice.finish"; @Autowired private INotifyChargeV1InnerServiceSMO notifyChargeV1InnerServiceSMOImpl; /** *

支付回调Api

* * @param request * @throws Exception */ @RequestMapping(path = "/notice", method = RequestMethod.POST) public ResponseEntity notice( @RequestBody String postInfo, HttpServletRequest request) { String api = request.getHeader("api"); JSONObject reqJson = JSONObject.parseObject(postInfo); if(FINISH_CHARGE.equals(api)){ NotifyChargeOrderDto notifyChargeOrderDto = new NotifyChargeOrderDto(); notifyChargeOrderDto.setMachineCode(reqJson.getString("equipCd")); notifyChargeOrderDto.setPortCode(reqJson.getString("port")); notifyChargeOrderDto.setBodyParam(postInfo); notifyChargeOrderDto.setReason(reqJson.getString("reason")); ResultVo resultVo = notifyChargeV1InnerServiceSMOImpl.finishCharge(notifyChargeOrderDto); if (resultVo.getCode() != ResultVo.CODE_OK) { return new ResponseEntity<>("FAIL",HttpStatus.OK); } } return new ResponseEntity<>("SUCCESS",HttpStatus.OK); } }