diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/controller/AccCardController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/controller/AccCardController.java index 06fc258..7cb1f74 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/controller/AccCardController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/controller/AccCardController.java @@ -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()); + } + } + /** * 删除人员卡片资料 */ diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccCard.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccCard.java index 5e00fb3..960614a 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccCard.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccCard.java @@ -114,5 +114,7 @@ public class AccCard extends BaseEntity { @ApiModelProperty(value = "发卡来源") private String cardSourceType; + @ApiModelProperty(value = "1-发卡, 2-退卡, 3-换卡") + private Integer operationType; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccCardServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccCardServiceImpl.java index 30d6d1d..078fdfa 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccCardServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccCardServiceImpl.java @@ -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()); }