新建票据模块
This commit is contained in:
parent
a292bff7c1
commit
f0b1b1bfe6
@ -0,0 +1,77 @@
|
||||
package com.zsc.edu.bill.modules.bills.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zsc.edu.bill.modules.bills.entity.Bill;
|
||||
import com.zsc.edu.bill.modules.bills.query.BillQuery;
|
||||
import com.zsc.edu.bill.modules.bills.service.BillService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ftz
|
||||
* 票据Controller
|
||||
* 创建时间:11/1/2024 上午10:57
|
||||
* 描述: 针对表【ticket(票据表)】的数据库操作Controller
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("api/rest/bill")
|
||||
public class BillController {
|
||||
|
||||
private final BillService service;
|
||||
/**
|
||||
* 分页查询票据列表
|
||||
* @return 票据列表
|
||||
*/
|
||||
@GetMapping
|
||||
public Page<Bill> list(BillQuery query, Page<Bill> page) {
|
||||
return service.page(page, query.wrapper());
|
||||
}
|
||||
/**
|
||||
* 创建票据
|
||||
* @return ture/false
|
||||
*/
|
||||
@PostMapping
|
||||
public Boolean create(Bill bill){
|
||||
return service.save(bill);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新票据
|
||||
* @return ture/false
|
||||
*/
|
||||
@PatchMapping
|
||||
public Boolean update(Bill bill){
|
||||
return service.updateById(bill);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除票据
|
||||
* @return ture/false
|
||||
*/
|
||||
@DeleteMapping
|
||||
public Boolean delete(Long id){
|
||||
return service.removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除票据
|
||||
* @return ture/false
|
||||
*/
|
||||
@DeleteMapping("batch")
|
||||
public Boolean deleteBatch(List<Long> ids){
|
||||
return service.removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取票据详情
|
||||
* @return 票据详情
|
||||
*/
|
||||
@GetMapping("{id}")
|
||||
public Bill detail(@PathVariable Long id){
|
||||
return service.getById(id);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.zsc.edu.bill.modules.bills.dto;
|
||||
|
||||
import com.zsc.edu.bill.modules.bills.entity.Bill;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author yao
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BillDto {
|
||||
|
||||
/**
|
||||
* 票据标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 主体内容 票据详细内容
|
||||
*/
|
||||
private String body;
|
||||
|
||||
/**
|
||||
* 金额 票据金额
|
||||
*/
|
||||
private BigDecimal money;
|
||||
|
||||
/**
|
||||
* 票据类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 联系方式email邮箱
|
||||
*/
|
||||
private String contactEmail;
|
||||
|
||||
/**
|
||||
* 客户公司名称 票据对应的企业名称
|
||||
*/
|
||||
private String companyName;
|
||||
|
||||
}
|
100
src/main/java/com/zsc/edu/bill/modules/bills/entity/Bill.java
Normal file
100
src/main/java/com/zsc/edu/bill/modules/bills/entity/Bill.java
Normal file
@ -0,0 +1,100 @@
|
||||
package com.zsc.edu.bill.modules.bills.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import com.zsc.edu.bill.modules.system.entity.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* 票据表
|
||||
* @author verto
|
||||
* @TableName bill
|
||||
*/
|
||||
@TableName(value ="bill")
|
||||
@Getter
|
||||
@Setter
|
||||
public class Bill extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 票据uuid 提供给前端显示用
|
||||
*/
|
||||
private UUID uuid;
|
||||
|
||||
/**
|
||||
* 用户id 票据创建者id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 票据标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 主体内容 票据详细内容
|
||||
*/
|
||||
private String body;
|
||||
|
||||
/**
|
||||
* 金额 票据金额
|
||||
*/
|
||||
private BigDecimal money;
|
||||
|
||||
/**
|
||||
* 状态 0:未提交,草稿;1:未审核;2:审核通过;3:退回、审核未通过
|
||||
*/
|
||||
private Status status;
|
||||
|
||||
/**
|
||||
* 票据类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 联系方式email邮箱
|
||||
*/
|
||||
private String contactEmail;
|
||||
|
||||
/**
|
||||
* 客户公司名称 票据对应的企业名称
|
||||
*/
|
||||
private String companyName;
|
||||
|
||||
@Getter
|
||||
public enum Status {
|
||||
SUBMIT(0, "待提交"),
|
||||
EXAMINE(1, "待审核"),
|
||||
PASS(2, "审核通过"),
|
||||
FAILED(3, "审核未通过");
|
||||
|
||||
@EnumValue
|
||||
private final int code;
|
||||
|
||||
@JsonValue
|
||||
private final String name;
|
||||
|
||||
Status(int code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public static Status get(String name) {
|
||||
for (Status item : values()) {
|
||||
if (item.getName() .equals(name)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.zsc.edu.bill.modules.bills.mapper;
|
||||
|
||||
|
||||
|
||||
import com.zsc.edu.bill.common.mapstruct.BaseMapper;
|
||||
import com.zsc.edu.bill.modules.bills.dto.BillDto;
|
||||
import com.zsc.edu.bill.modules.bills.entity.Bill;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author yao
|
||||
*/
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface BillMapper extends BaseMapper<BillDto, Bill> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,71 @@
|
||||
package com.zsc.edu.bill.modules.bills.query;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zsc.edu.bill.modules.bills.entity.Bill;
|
||||
import com.zsc.edu.bill.modules.system.entity.Ticket;
|
||||
import com.zsc.edu.bill.modules.system.query.PageQuery;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author ftz
|
||||
* 创建时间:11/1/2024 上午11:04
|
||||
* 描述: 前端传递的查询参数
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BillQuery {
|
||||
/**
|
||||
* 票据uuid 提供给前端显示用
|
||||
*/
|
||||
private String uuid;
|
||||
|
||||
/**
|
||||
* 用户id 票据创建者id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 票据标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 金额 票据金额
|
||||
*/
|
||||
private BigDecimal money;
|
||||
|
||||
/**
|
||||
* 状态 0:未提交,草稿;1:未审核;2:审核通过;3:退回、审核未通过
|
||||
*/
|
||||
private Bill.Status status;
|
||||
|
||||
/**
|
||||
* 票据类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 客户公司名称 票据对应的企业名称
|
||||
*/
|
||||
private String companyName;
|
||||
|
||||
|
||||
public LambdaQueryWrapper<Bill> wrapper() {
|
||||
LambdaQueryWrapper<Bill> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(StringUtils.hasText(this.uuid), Bill::getUuid, this.uuid);
|
||||
queryWrapper.eq(StringUtils.hasText(String.valueOf(this.userId)), Bill::getUserId, this.userId);
|
||||
queryWrapper.eq(StringUtils.hasText(this.title), Bill::getTitle, this.title);
|
||||
queryWrapper.eq(StringUtils.hasText(String.valueOf(this.money)), Bill::getMoney, this.money);
|
||||
queryWrapper.eq(StringUtils.hasText(String.valueOf(this.status)), Bill::getStatus, this.status);
|
||||
queryWrapper.eq(StringUtils.hasText(String.valueOf(this.type)), Bill::getType, this.type);
|
||||
queryWrapper.eq(StringUtils.hasText(this.companyName), Bill::getCompanyName, this.companyName);
|
||||
return queryWrapper;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package com.zsc.edu.bill.modules.bills.repo;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zsc.edu.bill.modules.bills.entity.Bill;
|
||||
|
||||
|
||||
/**
|
||||
* @author yao
|
||||
*/
|
||||
public interface BillRepository extends BaseMapper<Bill> {
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.zsc.edu.bill.modules.bills.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zsc.edu.bill.modules.bills.entity.Bill;
|
||||
import com.zsc.edu.bill.modules.system.query.TicketQuery;
|
||||
import com.zsc.edu.bill.modules.system.vo.TicketVo;
|
||||
|
||||
/**
|
||||
* @author fantianzhi
|
||||
* @description 针对表【ticket(票据表)】的数据库操作Service
|
||||
* @createDate 2024-01-11 10:13:22
|
||||
*/
|
||||
public interface BillService extends IService<Bill> {
|
||||
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.zsc.edu.bill.modules.bills.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zsc.edu.bill.modules.bills.entity.Bill;
|
||||
import com.zsc.edu.bill.modules.bills.repo.BillRepository;
|
||||
import com.zsc.edu.bill.modules.bills.service.BillService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yao
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Service
|
||||
public class BillServiceImpl extends ServiceImpl<BillRepository, Bill> implements BillService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user