完成恢复挂失接口

This commit is contained in:
wenhui 2022-03-03 15:15:17 +08:00
parent e17cdb8628
commit f589308199
4 changed files with 86 additions and 3 deletions

View File

@ -33,10 +33,17 @@ public class XhpcCardController extends BaseController {
* @return
*/
@GetMapping("/cardStartup")
public R cardStartup(@RequestParam(value = "cardno") String cardno, @RequestParam(value = "serialNumber") String serialNumber ,@RequestParam(value = "rateModelId") String rateModelId){
public R cardStartup(@RequestParam(value = "cardno") String cardno, @RequestParam(value = "serialNumber") String serialNumber, @RequestParam(value = "rateModelId") String rateModelId) {
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<卡启动充电判断>>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<卡启动充电判断>>>>>>>>>>>>>>>>>");
return xhpcCardService.cardStartup(cardno, serialNumber,rateModelId);
return xhpcCardService.cardStartup(cardno, serialNumber, rateModelId);
}
@PatchMapping("/recover")
public R<Object> recoverToReportTheLossOfCard(@RequestParam("cardId") Integer cardId) {
return xhpcCardService.recoverToReportTheLossOfCard(cardId);
}
@GetMapping("/devices")

View File

@ -195,4 +195,12 @@ public interface IXhpcCardService {
*/
R<Object> queryClientUsers(queryClientUsersCondition queryCondition);
/**
* @param cardId card id
* @author WH
* @date 2022/3/3 14:29
* @since version-1.0
*/
R<Object> recoverToReportTheLossOfCard(Integer cardId);
}

View File

@ -728,6 +728,74 @@ public class XhpcCardServiceImpl implements IXhpcCardService {
return R.ok(usersList);
}
@Override
@Transactional(rollbackFor = Exception.class)
public R<Object> recoverToReportTheLossOfCard(Integer cardId) {
if (cardId == null) {
return R.fail("无效cardId");
}
TIccardInfo tIccardInfo = tIccardInfoMapper.selectByPrimaryKey(cardId);
//状态3的意思是该卡是挂失状态
if (tIccardInfo.getStatus() != 3) {
return R.fail("该卡不是挂失状态");
}
tIccardInfo.setStatus(1);
tIccardInfoMapper.updateByPrimaryKeySelective(tIccardInfo);
//write log info
tIccardInfo = tIccardInfoMapper.selectByPrimaryKey(cardId);
TIccardLog tIccardLog = new TIccardLog();
tIccardLog.setUniqueid(tIccardInfo.getCardno());
//0表示该日志是卡操作日志
tIccardLog.setType((byte) 0);
//表示解除挂失
tIccardLog.setOperate((byte) 6);
String corpno = tIccardInfo.getCorpno();
String tenantId = tokenService.getLoginUser().getSysUser().getTenantId();
XhpcOperator xhpcOperator = xhpcOperatorMapper.selectOneByCorpNoAndTenantId(corpno, tenantId);
Long operatorId = xhpcOperator.getOperatorId();
tIccardLog.setOperatorid(Math.toIntExact(operatorId));
tIccardLog.setCreatetime(new Date());
CardLogInfo cardLogInfo = new CardLogInfo();
/**
* {
* "cardInfo": {
* "cardID": "A721DCD7",
* "cardNo": "2020101304",
* "cardType": 0,
* "password": null,
* "userIndex": 0,
* "corpNo": "100002",
* "cashPledge": 0,
* "balance": 0,
* "status": 3,
* "prepay": 0
* },
* "operatorId": 1044,
* "operate": 5
* }
*/
cardLogInfo.setOperate(6);
cardLogInfo.setOperatorId(operatorId);
CardLogInfo.CardInfoDTO cardInfoDTO = new CardLogInfo.CardInfoDTO();
cardInfoDTO.setCardID(tIccardInfo.getCardid());
cardInfoDTO.setCardNo(tIccardInfo.getCardno());
cardInfoDTO.setCardType(tIccardInfo.getCardtype());
cardInfoDTO.setPassword(tIccardInfo.getPassword());
cardInfoDTO.setUserIndex(tIccardInfo.getUserindex());
cardInfoDTO.setCorpNo(tIccardInfo.getCorpno());
cardInfoDTO.setCashPledge(tIccardInfo.getCashpledge());
cardInfoDTO.setBalance(tIccardInfo.getBalance());
cardInfoDTO.setStatus(tIccardInfo.getStatus());
// todo prepay doesn't have
cardInfoDTO.setPrepay(null);
cardLogInfo.setCardInfo(cardInfoDTO);
String str = JSONUtil.toJsonStr(cardLogInfo);
tIccardLog.setLog(str);
tIccardLogMapper.insertSelective(tIccardLog);
return R.ok();
}
/**
* 用于QueryRechargeRecord方法封装DTO数据
*

View File

@ -60,7 +60,7 @@
FROM xhpc_operator
where tenant_id = #{tenantId}
</select>
<select id="selectOneByCorpNoAndTenantId" resultType="com.xhpc.card.pojo.XhpcOperator">
<select id="selectOneByCorpNoAndTenantId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from xhpc_operator