个人网厅——销户

目录

需求文档

公积金销户类

controller层

service层

service层实现类

[1.验证 (个人账户)](#1.验证 (个人账户))

2.提交(添加)

controller层

service层

service层实现类

3.分页查询

controller层

service层

service层实现类

[4. 详情查询](#4. 详情查询)

controller层

service层

service层实现类


需求文档

公积金销户流水表提交(添加)、分页、查看(详情查询)、验证(个人账户)

在离职、退休、提前退休的情况下,会将公积金账户注销并取出里面资金

公积金销户类

controller层
java 复制代码
@Tag(name = "管理后台-销户-公积金销户")
@RestController
@RequestMapping("/business/tq-gjjxh")
@Validated
public class TqGjjxhlsbController {

    @Resource
    private TqGjjxhlsbService tqGjjxhlsbService;
    
    ...(类中功能方法)

}
service层
java 复制代码
/**
 * 个人网上营业厅-公积金销户流水 Service 接口
 *
 * @author 芋道源码
 */
public interface TqGjjxhlsbService {

    ...
}
service层实现类
java 复制代码
/**
 * 个人网上营业厅-公积金销户流水 Service 实现类
 *
 * @author 芋道源码
 */
@Service
@Validated
public class TqGjjxhlsbServiceImpl implements TqGjjxhlsbService {

    @Resource
    private TqGjjxhlsbMapper tqGjjxhlsbMapper;

    ...
}

1.验证 (个人账户)

java 复制代码
    /**
     * 根据vo中的定义验证参数合法后,验证请求数据合法性
     * @param createReqVO (暂存、直接保存)请求参数
     * @return SaveGeneralReturn
     */
    private CommonResult<SaveGeneralReturn> validateData(TqGjjxhlsbCreateReqVO createReqVO){
        SaveGeneralReturn saveGeneralReturn=new SaveGeneralReturn();
        List<ErrorCode> errorCodeList=new ArrayList<>();
        //传入参数不合法

        /*******判断网厅是否存在未审批记录*************/
        LambdaQueryWrapper<TqGjjxhlsbDO> queryWrapper = new LambdaQueryWrapper();
        queryWrapper.eq(TqGjjxhlsbDO::getGrzh,createReqVO.getGrzh());
        queryWrapper.ne(TqGjjxhlsbDO::getYwzt,"100");
        List<TqGjjxhlsbDO> tqGjjxhlsbDOList = tqGjjxhlsbService.getSelectList(queryWrapper);
        if (tqGjjxhlsbDOList != null && tqGjjxhlsbDOList.size() > 0) {
            errorCodeList.add(GJJXHLSB_WSP);
        }


        saveGeneralReturn.setValidate(errorCodeList.size() == 0);
        saveGeneralReturn.setErrorCount(errorCodeList.size());
        saveGeneralReturn.setErrorCodes(errorCodeList);
        //特殊判断
        return success(saveGeneralReturn);
    }

通过查询数据库表TqGjjxhlsbDO来判断,具体查询条件是根据createReqVO中的"grzh"属性等于表中的"grzh"并且"ywzt"属性不等于"100"。如果查询结果不为空且数量大于0,将给予错误码GJJXHLSB_WSP(公积金提取流水表未审批)提示。个人账户具有唯一性,相同的个人账户,不予添加。

2.提交(添加)

controller层
java 复制代码
    /**
     *提交 保存数据 注意业务状态
     * */
    @PostMapping("/create")
    @Operation(summary = "公积金销户_保存")
    public CommonResult<SaveGeneralReturn> createTqGjjxhlsb(@Valid @RequestBody TqGjjxhlsbCreateReqVO createReqVO){
        CommonResult<SaveGeneralReturn> validatedReturn=validateData(createReqVO);
        SaveGeneralReturn validated=validatedReturn.getData();

        if(validated.getValidate()){
            createReqVO.setYwzt("0");
            BigDecimal id = tqGjjxhlsbService.createTqGjjxhlsb(createReqVO);
            validated.setId(id);
            validated.setSuccessMsg("暂存成功");
            return success(validated);
        }
        return error(validatedReturn);
    }

通过判断validated对象的validate属性是否为true来确定是否通过了数据验证。如果通过验证,即为库中不存在相同账户的额数据,将createReqVOywzt属性设置为"0",

调用tqGjjxhlsbService.createTqGjjxhlsb(createReqVO)方法保存数据,并将返回的id赋值给validated对象的id属性。随后,设置validated对象的successMsg属性为"暂存成功",并返回success(validated)

service层
java 复制代码
    /**
     * 创建个人网上营业厅-公积金销户流水
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    BigDecimal createTqGjjxhlsb(@Valid TqGjjxhlsbCreateReqVO createReqVO);
service层实现类
java 复制代码
    @Override
    public BigDecimal createTqGjjxhlsb(TqGjjxhlsbCreateReqVO createReqVO) {
        // 插入
        TqGjjxhlsbDO tqGjjxhlsb = TqGjjxhlsbConvert.INSTANCE.convert(createReqVO);
        tqGjjxhlsbMapper.insert(tqGjjxhlsb);
        // 返回
        return tqGjjxhlsb.getId();
    }

3.分页查询

controller层
java 复制代码
    /**
     * @param pageVO 请求参数(包括分页参数)
     * @return PageResult<TqGjjxhlsbRespVO>
     */
    @GetMapping("/page")
    @Operation(summary = "公积金销户_分页查询")
    public CommonResult<PageResult<TqGjjxhlsbRespVO>> getTqGjjxhlsbPage(@Valid TqGjjxhlsbPageReqVO pageVO){
        PageResult<TqGjjxhlsbDO> pageResult = tqGjjxhlsbService.getTqGjjxhlsbPage(pageVO);
        return success(TqGjjxhlsbConvert.INSTANCE.convertPage(pageResult));
    }
service层
java 复制代码
    /**
     * 获得个人网上营业厅-公积金销户流水分页
     *
     * @param pageReqVO 分页查询
     * @return 个人网上营业厅-公积金销户流水分页
     */
    PageResult<TqGjjxhlsbDO> getTqGjjxhlsbPage(TqGjjxhlsbPageReqVO pageReqVO);
service层实现类
java 复制代码
    @Override
    public PageResult<TqGjjxhlsbDO> getTqGjjxhlsbPage(TqGjjxhlsbPageReqVO pageReqVO) {
        return tqGjjxhlsbMapper.selectPage(pageReqVO);
    }

4. 详情查询

controller层
java 复制代码
    /**
     * 详情
     * @param id 查询参数
     * @result TqGjjxhlsbRespVO
     */
    @GetMapping("/get")
    @Operation(summary = "公积金销户_查看详情")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    public  CommonResult<TqGjjxhlsbRespVO> getTqGjjxhlsb(@RequestParam("id") BigDecimal id){
        TqGjjxhlsbDO tqGjjxhlsb = tqGjjxhlsbService.getTqGjjxhlsb(id);
        return success(TqGjjxhlsbConvert.INSTANCE.convert(tqGjjxhlsb));
    }
service层
java 复制代码
    /**
     * 获得个人网上营业厅-公积金销户流水
     *
     * @param id 编号
     * @return 个人网上营业厅-公积金销户流水
     */
    TqGjjxhlsbDO getTqGjjxhlsb(BigDecimal id);
service层实现类
java 复制代码
    @Override
    public TqGjjxhlsbDO getTqGjjxhlsb(BigDecimal id) {
        return tqGjjxhlsbMapper.selectById(id);
    }
相关推荐
qq_4419960532 分钟前
Mybatis官方生成器使用示例
java·mybatis
Qter_Sean34 分钟前
自己动手写Qt Creator插件
开发语言·qt
Martin -Tang35 分钟前
vite和webpack的区别
前端·webpack·node.js·vite
迷途小码农零零发36 分钟前
解锁微前端的优秀库
前端
何曾参静谧38 分钟前
「QT」文件类 之 QIODevice 输入输出设备类
开发语言·qt
巨大八爪鱼38 分钟前
XP系统下用mod_jk 1.2.40整合apache2.2.16和tomcat 6.0.29,让apache可以同时访问php和jsp页面
java·tomcat·apache·mod_jk
王解1 小时前
webpack loader全解析,从入门到精通(10)
前端·webpack·node.js
我不当帕鲁谁当帕鲁2 小时前
arcgis for js实现FeatureLayer图层弹窗展示所有field字段
前端·javascript·arcgis
那一抹阳光多灿烂2 小时前
工程化实战内功修炼测试题
前端·javascript
爱吃生蚝的于勒2 小时前
C语言内存函数
c语言·开发语言·数据结构·c++·学习·算法