update 自定义二维码前缀

This commit is contained in:
2023-04-07 09:18:31 +08:00
parent 291bd06330
commit c9f586ccdd
4 changed files with 30 additions and 24 deletions

View File

@@ -19,7 +19,6 @@ import com.jsowell.pile.service.IPileBillingTemplateService;
import com.jsowell.pile.service.IPileStationInfoService; import com.jsowell.pile.service.IPileStationInfoService;
import com.jsowell.pile.vo.web.BillingTemplateVO; import com.jsowell.pile.vo.web.BillingTemplateVO;
import com.jsowell.pile.vo.web.PileDetailVO; import com.jsowell.pile.vo.web.PileDetailVO;
import com.jsowell.pile.vo.web.PileStationVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -111,11 +110,13 @@ public class PileRemoteService {
* @param pileSn 充电桩sn * @param pileSn 充电桩sn
*/ */
public void issueQRCode(String pileSn) { public void issueQRCode(String pileSn) {
issueQRCode(pileSn, null);
}
public void issueQRCode(String pileSn, String qrcodePrefix) {
IssueQRCodeCommand command = IssueQRCodeCommand.builder().pileSn(pileSn).build(); IssueQRCodeCommand command = IssueQRCodeCommand.builder().pileSn(pileSn).build();
// 查询充电站info if (StringUtils.isNotBlank(qrcodePrefix)) {
PileStationVO pileStationVO = pileStationInfoService.getStationInfoByPileSn(pileSn); command.setQrcodePrefix(qrcodePrefix);
if (StringUtils.isNotBlank(pileStationVO.getQrcodePrefix())) {
command.setQrcodePrefix(pileStationVO.getQrcodePrefix());
} }
ykcPushCommandService.pushIssueQRCodeCommand(command); ykcPushCommandService.pushIssueQRCodeCommand(command);
} }

View File

@@ -9,6 +9,7 @@ import com.jsowell.common.core.page.PageResponse;
import com.jsowell.common.enums.ykc.BusinessTypeEnum; import com.jsowell.common.enums.ykc.BusinessTypeEnum;
import com.jsowell.common.enums.ykc.OrderPayModeEnum; import com.jsowell.common.enums.ykc.OrderPayModeEnum;
import com.jsowell.common.enums.ykc.OrderStatusEnum; import com.jsowell.common.enums.ykc.OrderStatusEnum;
import com.jsowell.common.enums.ykc.PileStatusEnum;
import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException; import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.DateUtils;
@@ -500,36 +501,27 @@ public class PileService {
*/ */
public int updateStationQRCodePrefix(QueryStationDTO dto) { public int updateStationQRCodePrefix(QueryStationDTO dto) {
String stationId = dto.getStationId(); String stationId = dto.getStationId();
if (StringUtils.isBlank(stationId) || StringUtils.isBlank(dto.getQrcodePrefix())) {
return 0;
}
// 通过站点id查询数据 // 通过站点id查询数据
PileStationVO stationInfo = pileStationInfoService.getStationInfo(stationId); PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(Long.parseLong(stationId));
if (stationInfo == null) { if (pileStationInfo == null) {
return 0; return 0;
} }
// 修改站点列表的 qrcodePrefix 字段 // 修改站点列表的 qrcodePrefix 字段
PileStationInfo info = new PileStationInfo(); pileStationInfo.setQrcodePrefix(dto.getQrcodePrefix());
info.setId(Long.parseLong(stationId)); int i = pileStationInfoService.updatePileStationInfo(pileStationInfo);
info.setQrcodePrefix(dto.getQrcodePrefix());
int i = pileStationInfoService.updatePileStationInfo(info);
if (i == 0) { if (i == 0) {
return 0; return 0;
} }
// 查出这个站点下的所有桩 // 查出这个站点下的所有桩
List<PileDetailVO> pileDetailVOS = pileBasicInfoService.selectPileListByStationIds(Lists.newArrayList(Long.parseLong(stationId))); List<PileDetailVO> pileDetailVOS = pileBasicInfoService.selectPileListByStationIds(Lists.newArrayList(Long.parseLong(stationId)));
List<String> pileSnList = pileDetailVOS.stream() List<String> pileSnList = pileDetailVOS.stream()
.filter(x -> StringUtils.equals(x.getStatus(), PileStatusEnum.ON_LINE.getValue()))
.map(PileDetailVO::getPileSn) .map(PileDetailVO::getPileSn)
.collect(Collectors.toList()); .collect(Collectors.toList());
// IssueQRCodeCommand command; // IssueQRCodeCommand command;
for (String pileSn : pileSnList) { for (String pileSn : pileSnList) {
// 给桩下发二维码 // 给桩下发二维码
// command = new IssueQRCodeCommand(); pileRemoteService.issueQRCode(pileSn, pileStationInfo.getQrcodePrefix());
// command.setPileSn(pileSn);
// command.setQrcodePrefix(dto.getQrcodePrefix());
// ykcPushCommandService.pushIssueQRCodeCommand(command);
pileRemoteService.issueQRCode(pileSn);
} }
return 1; return 1;
} }

View File

@@ -6,7 +6,9 @@ import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.core.domain.AjaxResult; import com.jsowell.common.core.domain.AjaxResult;
import com.jsowell.common.core.page.TableDataInfo; import com.jsowell.common.core.page.TableDataInfo;
import com.jsowell.common.enums.BusinessType; import com.jsowell.common.enums.BusinessType;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException; import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.poi.ExcelUtil; import com.jsowell.common.util.poi.ExcelUtil;
import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.domain.PileStationInfo;
import com.jsowell.pile.dto.FastCreateStationDTO; import com.jsowell.pile.dto.FastCreateStationDTO;
@@ -158,6 +160,10 @@ public class PileStationInfoController extends BaseController {
@PreAuthorize("@ss.hasPermi('pile:station:edit')") @PreAuthorize("@ss.hasPermi('pile:station:edit')")
@PostMapping("/updateStationQRCodePrefix") @PostMapping("/updateStationQRCodePrefix")
public AjaxResult updateStationQRCodePrefix(@RequestBody QueryStationDTO dto) { public AjaxResult updateStationQRCodePrefix(@RequestBody QueryStationDTO dto) {
// 校验入参
if (StringUtils.isBlank(dto.getStationId()) || StringUtils.isBlank(dto.getQrcodePrefix())) {
return AjaxResult.error(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR.getValue());
}
return AjaxResult.success(pileService.updateStationQRCodePrefix(dto)); return AjaxResult.success(pileService.updateStationQRCodePrefix(dto));
} }
} }

View File

@@ -33,6 +33,7 @@ import com.jsowell.pile.service.IPileMsgRecordService;
import com.jsowell.pile.service.IPileStationInfoService; import com.jsowell.pile.service.IPileStationInfoService;
import com.jsowell.pile.vo.web.BillingTemplateVO; import com.jsowell.pile.vo.web.BillingTemplateVO;
import com.jsowell.pile.vo.web.PileModelInfoVO; import com.jsowell.pile.vo.web.PileModelInfoVO;
import com.jsowell.pile.vo.web.PileStationVO;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import io.netty.channel.Channel; import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFuture;
@@ -238,12 +239,18 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
// String qrCodePrefix = "https://wx.charging.shbochong.cn/prepare_charge?code="; // String qrCodePrefix = "https://wx.charging.shbochong.cn/prepare_charge?code=";
// String qrCodePrefix = pileBasicInfoService.getPileQrCodeUrl(null); // String qrCodePrefix = pileBasicInfoService.getPileQrCodeUrl(null);
String qrCodePrefix = ""; String qrCodePrefix = "";
if (StringUtils.isBlank(command.getQrcodePrefix())) { if (StringUtils.isNotBlank(command.getQrcodePrefix())) {
// 为空则给平台二维码前缀
qrCodePrefix = pileBasicInfoService.getPileQrCodeUrl(null);
}else {
qrCodePrefix = command.getQrcodePrefix(); qrCodePrefix = command.getQrcodePrefix();
} else {
PileStationVO pileStationVO = pileStationInfoService.getStationInfoByPileSn(pileSn);
if (StringUtils.isNotBlank(pileStationVO.getQrcodePrefix())) {
qrCodePrefix = pileStationVO.getQrcodePrefix();
} else {
// 为空则给平台二维码前缀
qrCodePrefix = pileBasicInfoService.getPileQrCodeUrl(null);
}
} }
byte[] qrCodePrefixByteArr = BytesUtil.str2Asc(qrCodePrefix); byte[] qrCodePrefixByteArr = BytesUtil.str2Asc(qrCodePrefix);
// 二维码前缀长度 二维码前缀长度长度最大不超过200 字节 // 二维码前缀长度 二维码前缀长度长度最大不超过200 字节