卡片管理

This commit is contained in:
sxu 2025-04-23 18:22:31 +08:00
parent c97abd5024
commit 7e9c899e91
3 changed files with 47 additions and 6 deletions

View File

@ -2,6 +2,8 @@ package com.bonus.canteen.core.account.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.bonus.canteen.core.account.constants.CardRecordTypeEnum;
import com.bonus.common.log.enums.OperaType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -82,6 +84,7 @@ public class AccCardController extends BaseController {
@PostMapping
public AjaxResult add(@RequestBody AccCard accCard) {
try {
accCard.setOperationType(CardRecordTypeEnum.APPLY.getKey());
return toAjax(accCardService.insertAccCard(accCard));
} catch (Exception e) {
return error("系统错误, " + e.getMessage());
@ -104,6 +107,34 @@ public class AccCardController extends BaseController {
}
}
@ApiOperation(value = "换卡")
//@PreventRepeatSubmit
//@RequiresPermissions("account:card:edit")
@SysLog(title = "人员卡片资料", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->换卡")
@PostMapping("/change")
public AjaxResult change(@RequestBody AccCard accCard) {
try {
accCard.setOperationType(CardRecordTypeEnum.CHANGE.getKey());
return toAjax(accCardService.updateAccCard(accCard));
} catch (Exception e) {
return error("系统错误, " + e.getMessage());
}
}
@ApiOperation(value = "退卡")
//@PreventRepeatSubmit
//@RequiresPermissions("account:card:edit")
@SysLog(title = "人员卡片资料", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->退卡")
@PostMapping("/refund")
public AjaxResult refund(@RequestBody AccCard accCard) {
try {
accCard.setOperationType(CardRecordTypeEnum.REFUND.getKey());
return toAjax(accCardService.updateAccCard(accCard));
} catch (Exception e) {
return error("系统错误, " + e.getMessage());
}
}
/**
* 删除人员卡片资料
*/

View File

@ -114,5 +114,7 @@ public class AccCard extends BaseEntity {
@ApiModelProperty(value = "发卡来源")
private String cardSourceType;
@ApiModelProperty(value = "1-发卡, 2-退卡, 3-换卡")
private Integer operationType;
}

View File

@ -75,27 +75,27 @@ public class AccCardServiceImpl implements IAccCardService {
accCard.setCardStatus(CardStatusEnum.NORMAL.getKey());
accCard.setCardType(CardTypeEnum.IC_CARD.getKey());
int count = accCardMapper.insertAccCard(accCard);
saveAccCardChangeRecord(accCard, CardRecordTypeEnum.APPLY.getKey());
saveAccCardChangeRecord(accCard);
return count;
} catch (Exception e) {
throw new ServiceException("错误信息描述, " + e.getMessage());
}
}
private void saveAccCardChangeRecord(AccCard accCard, Integer cardRecordType) {
private void saveAccCardChangeRecord(AccCard accCard) {
AccCardHis accCardHis = new AccCardHis();
accCardHis.setUserId(accCardHis.getUserId());
accCardHis.setAccId(accCardHis.getAccId());
accCardHis.setCardNum(String.valueOf(accCard.getCardNum()));
accCardHis.setSerialNum(accCard.getSerialNum());
accCardHis.setCardType(CardTypeEnum.IC_CARD.getKey());
accCardHis.setRecordType(cardRecordType);
accCardHis.setRecordType(accCard.getOperationType());
accCardHis.setCardFaceNum(accCard.getCardFaceNum());
accCardHis.setRemark(accCard.getRemark());
if (CardRecordTypeEnum.APPLY.getKey().equals(cardRecordType)) {
if (CardRecordTypeEnum.APPLY.getKey().equals(accCard.getOperationType())) {
accCardHis.setDeposit(accCard.getDeposit());
accCardHis.setProductCost(accCard.getProductCost());
} else if (CardRecordTypeEnum.CHANGE.getKey().equals(cardRecordType)) {
} else if (CardRecordTypeEnum.CHANGE.getKey().equals(accCard.getOperationType())) {
accCardHis.setProductCost(accCard.getProductCost());
}
accCardHisMapper.insertAccCardHis(accCardHis);
@ -119,7 +119,15 @@ public class AccCardServiceImpl implements IAccCardService {
public int updateAccCard(AccCard accCard) {
accCard.setUpdateTime(DateUtils.getNowDate());
try {
return accCardMapper.updateAccCard(accCard);
int count = accCardMapper.updateAccCard(accCard);
if (CardRecordTypeEnum.CHANGE.getKey().equals(accCard.getOperationType())) {
accCard.setCardStatus(CardStatusEnum.NORMAL.getKey());
saveAccCardChangeRecord(accCard);
} else if (CardRecordTypeEnum.REFUND.getKey().equals(accCard.getOperationType())) {
accCard.setCardStatus(CardStatusEnum.REFUND.getKey());
saveAccCardChangeRecord(accCard);
}
return count;
} catch (Exception e) {
throw new ServiceException("错误信息描述, " + e.getMessage());
}