| | |
| | | import com.dy.pipIrrWechat.result.WechatResultCode; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import jakarta.validation.Valid; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.RandomStringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.core.env.Environment; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.validation.BindingResult; |
| | |
| | | @Tag(name = "小程序阀控器控制", description = "小程序阀控器控制") |
| | | @RestController |
| | | @RequestMapping(path = "valve") |
| | | @RequiredArgsConstructor |
| | | //@RequiredArgsConstructor |
| | | public class ValveCtrl extends ComSupport { |
| | | private final CommandSv commandSv; |
| | | private final SeVirtualCardMapper seVirtualCardMapper; |
| | |
| | | private String rtuCallbackUrl_wx; |
| | | |
| | | /** |
| | | * pro_mw:属性 |
| | | * tag从控制器中获取 |
| | | * key_mw:url的key |
| | | */ |
| | | private Environment env = null; |
| | | private String pro_mw = "mw"; |
| | | private String key_mw = "comSendUrl"; |
| | | |
| | | @Autowired |
| | | public ValveCtrl(CommandSv commandSv, SeVirtualCardMapper seVirtualCardMapper, IDLongGenerator idLongGenerator, Environment env) { |
| | | this.commandSv = commandSv; |
| | | this.seVirtualCardMapper = seVirtualCardMapper; |
| | | this.idLongGenerator = idLongGenerator; |
| | | this.env = env; |
| | | } |
| | | |
| | | /** |
| | | * 小程序远程开阀 |
| | | * @param valve |
| | | * @param bindingResult |
| | | * @return |
| | | */ |
| | | @PostMapping(path = "open_wx", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | @Transactional(rollbackFor = Exception.class) |
| | | //@Transactional(rollbackFor = Exception.class) |
| | | public BaseResponse<Boolean> open(@RequestBody @Valid ValveOpen valve, BindingResult bindingResult) { |
| | | if (bindingResult != null && bindingResult.hasErrors()) { |
| | | return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | |
| | | |
| | | // 虚拟卡状态为使用中,且不是强制开阀时提示 |
| | | if (vc.getInUse() == 1 && !forceOpen) { |
| | | return BaseResponseUtils.buildErrorMsg(WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage()); |
| | | return BaseResponseUtils.buildCodeMsg(WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getCode(), WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage()); |
| | | } |
| | | |
| | | // 获取水价 |
| | |
| | | } |
| | | String rtuAddr = job_rtu.getString("rtuAddr"); |
| | | String protocol = job_rtu.getString("protocol"); |
| | | String orgTag = job_rtu.getString("orgTag"); |
| | | comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw); |
| | | |
| | | // 生成订单号 |
| | | String orderNo = generateOrderNo(); |
| | |
| | | ComCd92_A2Vo param = new ComCd92_A2Vo(); |
| | | param.controllerType = controllerType; |
| | | param.projectNo = projectNo; |
| | | param.icCardNo = vc.getVcNum(); |
| | | param.icCardNo = vc.getVcNum().toString(); |
| | | param.waterRemain = 0.0; |
| | | param.moneyRemain = vc.getMoney(); |
| | | param.waterPrice = waterPrice; |
| | |
| | | |
| | | // 创建视图 |
| | | Com97Vo param = new Com97Vo(); |
| | | param.icCardNo = vc.getVcNum(); |
| | | param.icCardNo = vc.getVcNum().toString(); |
| | | param.moneyRemain = vc.getMoney(); |
| | | param.waterPrice = waterPrice; |
| | | param.orderNo = orderNo; |
| | |
| | | * @return |
| | | */ |
| | | @PostMapping(path = "close_wx", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | @Transactional(rollbackFor = Exception.class) |
| | | //@Transactional(rollbackFor = Exception.class) |
| | | public BaseResponse<Boolean> close(@RequestBody @Valid ValveClose valve, BindingResult bindingResult) { |
| | | if (bindingResult != null && bindingResult.hasErrors()) { |
| | | return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | |
| | | } |
| | | Long intakeId = job_rtu.getLong("intakeId"); |
| | | String protocol = job_rtu.getString("protocol"); |
| | | String orgTag = job_rtu.getString("orgTag"); |
| | | comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw); |
| | | |
| | | String commandCode = null; |
| | | if (protocol.equals("p206V202404")) { |