个人网厅——销户

目录

需求文档

公积金销户类

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);
    }
相关推荐
超级大只老咪2 分钟前
字段行居中(HTML基础语法)
前端·css·html
掘根2 分钟前
【Qt】绘图
开发语言·qt
IT_陈寒15 分钟前
Python开发者必看!10个高效数据处理技巧让你的Pandas代码提速300%
前端·人工智能·后端
量子物理学18 分钟前
Eclipse Mosquitto 在小内存下怎么修改配置文件
java·服务器·eclipse
咖啡续命又一天22 分钟前
python 自动化采集 ChromeDriver 安装
开发语言·python·自动化
程序员鱼皮29 分钟前
让老弟做个数据同步,结果踩了 7 个大坑!
java·后端·计算机·程序员·编程·职场
只_只31 分钟前
npm install sqlite3时报错解决
前端·npm·node.js
FuckPatience36 分钟前
Vue ASP.Net Core WebApi 前后端传参
前端·javascript·vue.js
数字冰雹37 分钟前
图观 流渲染打包服务器
服务器·前端·github·数据可视化
JarvanMo38 分钟前
Flutter:我在网上看到了一个超炫的动画边框,于是我在 Flutter 里把它实现了出来
前端