浏览代码

feat: 财务管理新增、查询列表,获取详情

zhaomuran 3 月之前
父节点
当前提交
4c1e752ffb

+ 44 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/controller/BlinkFinanceManageController.java

@@ -0,0 +1,44 @@
+package com.wx.blink.backend.controller;
+
+import com.wx.blink.backend.domain.dto.BlinkFinanceManageDTO;
+import com.wx.blink.backend.domain.qry.BlinkFinanceManageQry;
+import com.wx.blink.backend.service.IBlinkFinanceManageService;
+import com.wx.blink.base.common.annoation.NoNeedLogin;
+import com.wx.blink.base.common.domain.PageResult;
+import com.wx.blink.base.common.domain.ResponseDTO;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+@RestController
+@Tag(name = "财务管理")
+public class BlinkFinanceManageController {
+
+    @Resource
+    private IBlinkFinanceManageService manageService;
+
+    @Operation(summary = "新增财务")
+    @PostMapping("/supports/finance/create")
+    @NoNeedLogin
+    public ResponseDTO<String> supportsFinanceCreate(@RequestBody @Valid BlinkFinanceManageDTO dto) {
+        return manageService.supportsFinanceCreate(dto);
+    }
+
+    @Operation(summary = "财务列表")
+    @GetMapping("/supports/finance/queryPage")
+    @NoNeedLogin
+    public ResponseDTO<PageResult<BlinkFinanceManageDTO>> supportsFinanceQueryPage(BlinkFinanceManageQry qry) {
+        return ResponseDTO.ok(manageService.supportsFinanceQueryPage(qry));
+    }
+
+    @Operation(summary = "获取合同详细信息")
+    @GetMapping("/supports/finance/{id}")
+    @NoNeedLogin
+    public ResponseDTO<BlinkFinanceManageDTO> supportsFinanceById(@PathVariable Long id) {
+        return  ResponseDTO.ok(manageService.supportsFinanceById(id));
+    }
+
+}

+ 47 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dataobject/BlinkFinanceManageDO.java

@@ -0,0 +1,47 @@
+package com.wx.blink.backend.domain.dataobject;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.wx.blink.base.common.domain.BaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("blink_finance_manage")
+public class BlinkFinanceManageDO extends BaseEntity {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 流水号
+     */
+    private String financeCode;
+
+    /**
+     * 费用类型
+     */
+    private String costType;
+
+    /**
+     * 到账时间
+     */
+    private Date accountDate;
+
+    /**
+     * 金额
+     */
+    private BigDecimal amount;
+
+    /**
+     * 等级表单类型
+     */
+    private String enrollFormType;
+
+}

+ 51 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dto/BlinkFinanceManageDTO.java

@@ -0,0 +1,51 @@
+package com.wx.blink.backend.domain.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.wx.blink.base.common.domain.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class BlinkFinanceManageDTO extends BaseEntity {
+
+    /**
+     * id
+     */
+    @Schema(description = "id")
+    private Integer id;
+
+    /**
+     * 流水号
+     */
+    @Schema(description = "流水号")
+    private String financeCode;
+
+    /**
+     * 费用类型(字典)
+     */
+    @Schema(description = "费用类型")
+    private String costType;
+
+    /**
+     * 到账时间
+     */
+    @Schema(description = "到账时间")
+    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
+    private Date accountDate;
+
+    /**
+     * 金额
+     */
+    @Schema(description = "金额")
+    private BigDecimal amount;
+
+    /**
+     * 等级表单类型(字典)
+     */
+    @Schema(description = "等级表单类型")
+    private String enrollFormType;
+
+}

+ 10 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/qry/BlinkFinanceManageQry.java

@@ -0,0 +1,10 @@
+package com.wx.blink.backend.domain.qry;
+
+import com.wx.blink.base.common.domain.PageParam;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BlinkFinanceManageQry extends PageParam {
+}

+ 78 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/manager/BlinkFinanceManageServiceImpl.java

@@ -0,0 +1,78 @@
+package com.wx.blink.backend.manager;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.wx.blink.backend.domain.dataobject.BlinkFinanceManageDO;
+import com.wx.blink.backend.domain.dto.BlinkFinanceManageDTO;
+import com.wx.blink.backend.domain.qry.BlinkFinanceManageQry;
+import com.wx.blink.backend.objectmapper.BlinkFinanceManageMapper;
+import com.wx.blink.backend.repository.BlinkFinanceManageRepository;
+import com.wx.blink.backend.service.IBlinkFinanceManageService;
+import com.wx.blink.base.common.domain.PageResult;
+import com.wx.blink.base.common.domain.ResponseDTO;
+import com.wx.blink.base.common.util.BlinkEntityUtil;
+import com.wx.blink.base.common.util.BlinkEnumUtil;
+import com.wx.blink.base.common.util.BlinkPageUtil;
+import com.wx.blink.base.module.support.serialnumber.constant.SerialNumberIdEnum;
+import com.wx.blink.base.module.support.serialnumber.service.SerialNumberService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class BlinkFinanceManageServiceImpl extends ServiceImpl<BlinkFinanceManageRepository, BlinkFinanceManageDO> implements IBlinkFinanceManageService {
+
+    @Resource
+    private BlinkFinanceManageRepository repository;
+    @Resource
+    private SerialNumberService serialNumberService;
+    @Resource
+    private BlinkFinanceManageMapper mapper;
+
+    /**
+     * 新增财务
+     *
+     * @param dto
+     * @return
+     */
+    @Override
+    public ResponseDTO<String> supportsFinanceCreate(BlinkFinanceManageDTO dto) {
+        //生成补充协议编码
+        SerialNumberIdEnum serialNumberIdEnum = BlinkEnumUtil.getEnumByValue(4, SerialNumberIdEnum.class);
+        dto.setFinanceCode(serialNumberService.generate(serialNumberIdEnum));
+        //生成DO
+        BlinkFinanceManageDO financeManageDO = mapper.toDO(dto);
+        //创建人赋值
+        BlinkEntityUtil.setCreateInfo(financeManageDO);
+        //执行保存
+        this.save(financeManageDO);
+
+        return ResponseDTO.ok();
+    }
+
+    /**
+     * 财务列表
+     *
+     * @param qry
+     * @return
+     */
+    @Override
+    public PageResult<BlinkFinanceManageDTO> supportsFinanceQueryPage(BlinkFinanceManageQry qry) {
+        Page<?> page = BlinkPageUtil.convert2PageQuery(qry);
+        List<BlinkFinanceManageDTO> list = repository.supportsFinanceQueryPage(page, qry);
+        PageResult<BlinkFinanceManageDTO> pageResult = BlinkPageUtil.convert2PageResult(page, list);
+        return pageResult;
+    }
+
+    /**
+     * 获取财务详细信息
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public BlinkFinanceManageDTO supportsFinanceById(Long id) {
+        return mapper.toDTO(this.getById(id));
+    }
+}

+ 25 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/objectmapper/BlinkFinanceManageMapper.java

@@ -0,0 +1,25 @@
+package com.wx.blink.backend.objectmapper;
+
+import com.wx.blink.backend.domain.dataobject.BlinkFinanceManageDO;
+import com.wx.blink.backend.domain.dto.BlinkFinanceManageDTO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface BlinkFinanceManageMapper {
+
+    /**
+     * 转DO
+     *
+     * @param dto
+     * @return
+     */
+    BlinkFinanceManageDO toDO(BlinkFinanceManageDTO dto);
+
+    /**
+     * 转DTO
+     *
+     * @param financeManageDO
+     * @return
+     */
+    BlinkFinanceManageDTO toDTO(BlinkFinanceManageDO financeManageDO);
+}

+ 25 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/repository/BlinkFinanceManageRepository.java

@@ -0,0 +1,25 @@
+package com.wx.blink.backend.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.wx.blink.backend.domain.dataobject.BlinkFinanceManageDO;
+import com.wx.blink.backend.domain.dto.BlinkFinanceManageDTO;
+import com.wx.blink.backend.domain.qry.BlinkFinanceManageQry;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Mapper
+@Component
+public interface BlinkFinanceManageRepository extends BaseMapper<BlinkFinanceManageDO> {
+
+    /**
+     * 财务列表
+     *
+     * @param page
+     * @param qry
+     * @return
+     */
+    List<BlinkFinanceManageDTO> supportsFinanceQueryPage(Page<?> page, BlinkFinanceManageQry qry);
+}

+ 33 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/service/IBlinkFinanceManageService.java

@@ -0,0 +1,33 @@
+package com.wx.blink.backend.service;
+
+import com.wx.blink.backend.domain.dto.BlinkFinanceManageDTO;
+import com.wx.blink.backend.domain.qry.BlinkFinanceManageQry;
+import com.wx.blink.base.common.domain.PageResult;
+import com.wx.blink.base.common.domain.ResponseDTO;
+
+public interface IBlinkFinanceManageService {
+
+    /**
+     * 新增财务
+     *
+     * @param dto
+     * @return
+     */
+    ResponseDTO<String> supportsFinanceCreate(BlinkFinanceManageDTO dto);
+
+    /**
+     * 财务列表
+     *
+     * @param qry
+     * @return
+     */
+    PageResult<BlinkFinanceManageDTO> supportsFinanceQueryPage(BlinkFinanceManageQry qry);
+
+    /**
+     * 获取财务详细信息
+     *
+     * @param id
+     * @return
+     */
+    BlinkFinanceManageDTO supportsFinanceById(Long id);
+}

+ 9 - 0
bound-link-api/blink-backend/src/main/resources/mapper/BlinkFinanceManageRepositoryMapper.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.wx.blink.backend.repository.BlinkFinanceManageRepository">
+
+    <select id="supportsFinanceQueryPage" resultType="com.wx.blink.backend.domain.dto.BlinkFinanceManageDTO">
+        select * from blink_finance_manage where deleted_flag = '0' order by  create_time desc
+    </select>
+
+</mapper>