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 new file mode 100644 index 0000000..9df7ab7 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/controller/AccCardController.java @@ -0,0 +1,119 @@ +package com.bonus.canteen.core.account.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.bonus.common.log.enums.OperaType; +import com.bonus.canteen.core.common.annotation.PreventRepeatSubmit; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.security.annotation.RequiresPermissions; +import com.bonus.canteen.core.account.domain.AccCard; +import com.bonus.canteen.core.account.service.IAccCardService; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.utils.poi.ExcelUtil; +import com.bonus.common.core.web.page.TableDataInfo; + +/** + * 人员卡片资料Controller + * + * @author xsheng + * @date 2025-04-20 + */ +@Api(tags = "人员卡片资料接口") +@RestController +@RequestMapping("/acc_card") +public class AccCardController extends BaseController { + @Autowired + private IAccCardService accCardService; + + /** + * 查询人员卡片资料列表 + */ + @ApiOperation(value = "查询人员卡片资料列表") + //@RequiresPermissions("account:card:list") + @GetMapping("/list") + public TableDataInfo list(AccCard accCard) { + startPage(); + List list = accCardService.selectAccCardList(accCard); + return getDataTable(list); + } + + /** + * 导出人员卡片资料列表 + */ + @ApiOperation(value = "导出人员卡片资料列表") + //@PreventRepeatSubmit + //@RequiresPermissions("account:card:export") + @SysLog(title = "人员卡片资料", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出人员卡片资料") + @PostMapping("/export") + public void export(HttpServletResponse response, AccCard accCard) { + List list = accCardService.selectAccCardList(accCard); + ExcelUtil util = new ExcelUtil(AccCard.class); + util.exportExcel(response, list, "人员卡片资料数据"); + } + + /** + * 获取人员卡片资料详细信息 + */ + @ApiOperation(value = "获取人员卡片资料详细信息") + //@RequiresPermissions("account:card:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return success(accCardService.selectAccCardById(id)); + } + + /** + * 新增人员卡片资料 + */ + @ApiOperation(value = "新增人员卡片资料") + //@PreventRepeatSubmit + //@RequiresPermissions("account:card:add") + @SysLog(title = "人员卡片资料", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增人员卡片资料") + @PostMapping + public AjaxResult add(@RequestBody AccCard accCard) { + try { + return toAjax(accCardService.insertAccCard(accCard)); + } catch (Exception e) { + return error("系统错误, " + e.getMessage()); + } + } + + /** + * 修改人员卡片资料 + */ + @ApiOperation(value = "修改人员卡片资料") + //@PreventRepeatSubmit + //@RequiresPermissions("account:card:edit") + @SysLog(title = "人员卡片资料", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改人员卡片资料") + @PostMapping("/edit") + public AjaxResult edit(@RequestBody AccCard accCard) { + try { + return toAjax(accCardService.updateAccCard(accCard)); + } catch (Exception e) { + return error("系统错误, " + e.getMessage()); + } + } + + /** + * 删除人员卡片资料 + */ + @ApiOperation(value = "删除人员卡片资料") + //@PreventRepeatSubmit + //@RequiresPermissions("account:card:remove") + @SysLog(title = "人员卡片资料", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除人员卡片资料") + @PostMapping("/del/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(accCardService.deleteAccCardByIds(ids)); + } +} 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 new file mode 100644 index 0000000..fab0913 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccCard.java @@ -0,0 +1,118 @@ +package com.bonus.canteen.core.account.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.bonus.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; +import com.bonus.common.core.web.domain.BaseEntity; + +/** + * 人员卡片资料对象 acc_card + * + * @author xsheng + * @date 2025-04-20 + */ + + +@Data +@ToString +public class AccCard extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 主键自增 */ + private Long id; + + /** 人员id */ + @Excel(name = "人员id") + @ApiModelProperty(value = "人员id") + private Long userId; + + /** 账户id */ + @Excel(name = "账户id") + @ApiModelProperty(value = "账户id") + private Long accId; + + /** 卡号 */ + @Excel(name = "卡号") + @ApiModelProperty(value = "卡号") + private Long cardNum; + + /** 卡序列号 物理卡号 */ + @Excel(name = "卡序列号 物理卡号") + @ApiModelProperty(value = "卡序列号 物理卡号") + private String serialNum; + + /** 餐卡性质(临时卡、编制卡) */ + @Excel(name = "餐卡性质", readConverterExp = "临=时卡、编制卡") + private String cardNature; + + /** 卡类型 */ + @Excel(name = "卡类型") + @ApiModelProperty(value = "卡类型") + private Long cardType; + + /** 卡状态 1-正常 4-挂失 */ + @Excel(name = "卡状态 1-正常 4-挂失") + @ApiModelProperty(value = "卡状态 1-正常 4-挂失") + private Long cardStatus; + + /** 押金 单位分 */ + @Excel(name = "押金 单位分") + @ApiModelProperty(value = "押金 单位分") + private Long deposit; + + /** 工本费 单位分 */ + @Excel(name = "工本费 单位分") + @ApiModelProperty(value = "工本费 单位分") + private Long productCost; + + /** 待缴工本费金额 */ + @Excel(name = "待缴工本费金额") + @ApiModelProperty(value = "待缴工本费金额") + private Long pendProductCost; + + /** 卡片有效期 */ + @ApiModelProperty(value = "卡片有效期") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "卡片有效期", width = 30, dateFormat = "yyyy-MM-dd") + private Date validityDate; + + /** 卡面号 */ + @Excel(name = "卡面号") + @ApiModelProperty(value = "卡面号") + private String cardFaceNum; + + /** 乐观锁 */ + @Excel(name = "乐观锁") + @ApiModelProperty(value = "乐观锁") + private Long revision; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + @ApiModelProperty(value = "预留字段1") + private String reserved1; + + /** 预留字段2 */ + @Excel(name = "预留字段2") + @ApiModelProperty(value = "预留字段2") + private String reserved2; + + /** 预留字段3 */ + @Excel(name = "预留字段3") + @ApiModelProperty(value = "预留字段3") + private String reserved3; + + /** 三方卡号 */ + @Excel(name = "三方卡号") + @ApiModelProperty(value = "三方卡号") + private String thirdSerialNum; + + /** 发卡来源 */ + @Excel(name = "发卡来源") + @ApiModelProperty(value = "发卡来源") + private String cardSourceType; + + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccCardMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccCardMapper.java new file mode 100644 index 0000000..c7c4ce8 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccCardMapper.java @@ -0,0 +1,60 @@ +package com.bonus.canteen.core.account.mapper; + +import java.util.List; +import com.bonus.canteen.core.account.domain.AccCard; + +/** + * 人员卡片资料Mapper接口 + * + * @author xsheng + * @date 2025-04-20 + */ +public interface AccCardMapper { + /** + * 查询人员卡片资料 + * + * @param id 人员卡片资料主键 + * @return 人员卡片资料 + */ + public AccCard selectAccCardById(Long id); + + /** + * 查询人员卡片资料列表 + * + * @param accCard 人员卡片资料 + * @return 人员卡片资料集合 + */ + public List selectAccCardList(AccCard accCard); + + /** + * 新增人员卡片资料 + * + * @param accCard 人员卡片资料 + * @return 结果 + */ + public int insertAccCard(AccCard accCard); + + /** + * 修改人员卡片资料 + * + * @param accCard 人员卡片资料 + * @return 结果 + */ + public int updateAccCard(AccCard accCard); + + /** + * 删除人员卡片资料 + * + * @param id 人员卡片资料主键 + * @return 结果 + */ + public int deleteAccCardById(Long id); + + /** + * 批量删除人员卡片资料 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAccCardByIds(Long[] ids); +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccCardService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccCardService.java new file mode 100644 index 0000000..891179b --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccCardService.java @@ -0,0 +1,60 @@ +package com.bonus.canteen.core.account.service; + +import java.util.List; +import com.bonus.canteen.core.account.domain.AccCard; + +/** + * 人员卡片资料Service接口 + * + * @author xsheng + * @date 2025-04-20 + */ +public interface IAccCardService { + /** + * 查询人员卡片资料 + * + * @param id 人员卡片资料主键 + * @return 人员卡片资料 + */ + public AccCard selectAccCardById(Long id); + + /** + * 查询人员卡片资料列表 + * + * @param accCard 人员卡片资料 + * @return 人员卡片资料集合 + */ + public List selectAccCardList(AccCard accCard); + + /** + * 新增人员卡片资料 + * + * @param accCard 人员卡片资料 + * @return 结果 + */ + public int insertAccCard(AccCard accCard); + + /** + * 修改人员卡片资料 + * + * @param accCard 人员卡片资料 + * @return 结果 + */ + public int updateAccCard(AccCard accCard); + + /** + * 批量删除人员卡片资料 + * + * @param ids 需要删除的人员卡片资料主键集合 + * @return 结果 + */ + public int deleteAccCardByIds(Long[] ids); + + /** + * 删除人员卡片资料信息 + * + * @param id 人员卡片资料主键 + * @return 结果 + */ + public int deleteAccCardById(Long id); +} 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 new file mode 100644 index 0000000..5cbf53e --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccCardServiceImpl.java @@ -0,0 +1,98 @@ +package com.bonus.canteen.core.account.service.impl; + +import java.util.List; +import com.bonus.common.core.exception.ServiceException; +import com.bonus.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.bonus.canteen.core.account.mapper.AccCardMapper; +import com.bonus.canteen.core.account.domain.AccCard; +import com.bonus.canteen.core.account.service.IAccCardService; + +/** + * 人员卡片资料Service业务层处理 + * + * @author xsheng + * @date 2025-04-20 + */ +@Service +public class AccCardServiceImpl implements IAccCardService { + @Autowired + private AccCardMapper accCardMapper; + + /** + * 查询人员卡片资料 + * + * @param id 人员卡片资料主键 + * @return 人员卡片资料 + */ + @Override + public AccCard selectAccCardById(Long id) { + return accCardMapper.selectAccCardById(id); + } + + /** + * 查询人员卡片资料列表 + * + * @param accCard 人员卡片资料 + * @return 人员卡片资料 + */ + @Override + public List selectAccCardList(AccCard accCard) { + return accCardMapper.selectAccCardList(accCard); + } + + /** + * 新增人员卡片资料 + * + * @param accCard 人员卡片资料 + * @return 结果 + */ + @Override + public int insertAccCard(AccCard accCard) { + accCard.setCreateTime(DateUtils.getNowDate()); + try { + return accCardMapper.insertAccCard(accCard); + } catch (Exception e) { + throw new ServiceException("错误信息描述, " + e.getMessage()); + } + } + + /** + * 修改人员卡片资料 + * + * @param accCard 人员卡片资料 + * @return 结果 + */ + @Override + public int updateAccCard(AccCard accCard) { + accCard.setUpdateTime(DateUtils.getNowDate()); + try { + return accCardMapper.updateAccCard(accCard); + } catch (Exception e) { + throw new ServiceException("错误信息描述, " + e.getMessage()); + } + } + + /** + * 批量删除人员卡片资料 + * + * @param ids 需要删除的人员卡片资料主键 + * @return 结果 + */ + @Override + public int deleteAccCardByIds(Long[] ids) { + return accCardMapper.deleteAccCardByIds(ids); + } + + /** + * 删除人员卡片资料信息 + * + * @param id 人员卡片资料主键 + * @return 结果 + */ + @Override + public int deleteAccCardById(Long id) { + return accCardMapper.deleteAccCardById(id); + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccCardMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccCardMapper.xml new file mode 100644 index 0000000..4ecab57 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccCardMapper.xml @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, user_id, acc_id, card_num, serial_num, card_nature, card_type, card_status, deposit, product_cost, pend_product_cost, validity_date, remark, card_face_num, revision, reserved1, reserved2, reserved3, third_serial_num, card_source_type, create_by, create_time, update_by, update_time from acc_card + + + + + + + + insert into acc_card + + user_id, + acc_id, + card_num, + serial_num, + card_nature, + card_type, + card_status, + deposit, + product_cost, + pend_product_cost, + validity_date, + remark, + card_face_num, + revision, + reserved1, + reserved2, + reserved3, + third_serial_num, + card_source_type, + create_by, + create_time, + update_by, + update_time, + + + #{userId}, + #{accId}, + #{cardNum}, + #{serialNum}, + #{cardNature}, + #{cardType}, + #{cardStatus}, + #{deposit}, + #{productCost}, + #{pendProductCost}, + #{validityDate}, + #{remark}, + #{cardFaceNum}, + #{revision}, + #{reserved1}, + #{reserved2}, + #{reserved3}, + #{thirdSerialNum}, + #{cardSourceType}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update acc_card + + user_id = #{userId}, + acc_id = #{accId}, + card_num = #{cardNum}, + serial_num = #{serialNum}, + card_nature = #{cardNature}, + card_type = #{cardType}, + card_status = #{cardStatus}, + deposit = #{deposit}, + product_cost = #{productCost}, + pend_product_cost = #{pendProductCost}, + validity_date = #{validityDate}, + remark = #{remark}, + card_face_num = #{cardFaceNum}, + revision = #{revision}, + reserved1 = #{reserved1}, + reserved2 = #{reserved2}, + reserved3 = #{reserved3}, + third_serial_num = #{thirdSerialNum}, + card_source_type = #{cardSourceType}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from acc_card where id = #{id} + + + + delete from acc_card where id in + + #{id} + + + \ No newline at end of file