34 changed files with 678 additions and 33 deletions
@ -0,0 +1,126 @@ |
|||
package com.qs.serve.modules.tbs.controller; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.qs.serve.common.model.annotation.SysLog; |
|||
import com.qs.serve.common.model.dto.PageVo; |
|||
import com.qs.serve.common.model.dto.R; |
|||
import com.qs.serve.common.model.enums.BizType; |
|||
import com.qs.serve.common.model.enums.SystemModule; |
|||
import com.qs.serve.common.util.PageUtil; |
|||
import com.qs.serve.common.util.CopierUtil; |
|||
import com.qs.serve.common.util.StringUtils; |
|||
import com.qs.serve.modules.tbs.entity.TbsActivity; |
|||
import com.qs.serve.modules.tbs.service.TbsActivityService; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import com.qs.serve.modules.tbs.entity.so.TbsActivityPayConditionSo; |
|||
import com.qs.serve.modules.tbs.entity.bo.TbsActivityPayConditionBo; |
|||
import com.qs.serve.modules.tbs.entity.TbsActivityPayCondition; |
|||
import com.qs.serve.modules.tbs.service.TbsActivityPayConditionService; |
|||
|
|||
import javax.validation.Valid; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 预算 活动支付条件 |
|||
* @author YenHex |
|||
* @since 2023-05-10 |
|||
*/ |
|||
@Slf4j |
|||
@AllArgsConstructor |
|||
@RestController |
|||
@RequestMapping("tbs/activityPayCondition") |
|||
public class TbsActivityPayConditionController { |
|||
|
|||
private TbsActivityPayConditionService tbsActivityPayConditionService; |
|||
private TbsActivityService tbsActivityService; |
|||
|
|||
/** |
|||
* 列表 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@GetMapping("/list") |
|||
public R<List<TbsActivityPayCondition>> getList(TbsActivityPayConditionSo param){ |
|||
TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition()); |
|||
LambdaQueryWrapper<TbsActivityPayCondition> lqw = new LambdaQueryWrapper<>(entity); |
|||
List<TbsActivityPayCondition> list = tbsActivityPayConditionService.list(lqw); |
|||
return R.ok(list); |
|||
} |
|||
|
|||
/** |
|||
* 翻页 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@GetMapping("/page") |
|||
public R<PageVo<TbsActivityPayCondition>> getPage(TbsActivityPayConditionSo param){ |
|||
TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition()); |
|||
LambdaQueryWrapper<TbsActivityPayCondition> lqw = new LambdaQueryWrapper<>(entity); |
|||
PageUtil.startPage(); |
|||
List<TbsActivityPayCondition> list = tbsActivityPayConditionService.list(lqw); |
|||
return R.byPageHelperList(list); |
|||
} |
|||
|
|||
/** |
|||
* ID查询 |
|||
* @param id |
|||
* @return |
|||
*/ |
|||
@GetMapping("/getById/{id}") |
|||
@SysLog(module = SystemModule.Budget, title = "活动支付条件", biz = BizType.QUERY) |
|||
public R<TbsActivityPayCondition> getById(@PathVariable("id") String id){ |
|||
TbsActivityPayCondition tbsActivityPayCondition = tbsActivityPayConditionService.getById(id); |
|||
return R.ok(tbsActivityPayCondition); |
|||
} |
|||
|
|||
|
|||
|
|||
/** |
|||
* 更新 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping("/updateById") |
|||
@SysLog(module = SystemModule.Budget, title = "活动支付条件", biz = BizType.UPDATE) |
|||
public R<?> updateById(@RequestBody @Valid TbsActivityPayConditionBo param){ |
|||
TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition()); |
|||
entity.setCostApplyId(null); |
|||
boolean result = tbsActivityPayConditionService.updateById(entity); |
|||
return R.isTrue(result); |
|||
} |
|||
|
|||
/** |
|||
* 新增 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping("/save") |
|||
@SysLog(module = SystemModule.Budget, title = "活动支付条件", biz = BizType.INSERT) |
|||
public R<?> save(@RequestBody @Valid TbsActivityPayConditionBo param){ |
|||
TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition()); |
|||
List<TbsActivity> activityList = tbsActivityService.listByCostApplyId(param.getCostApplyId()); |
|||
Long actId = activityList.get(0).getId(); |
|||
entity.setActivityId(actId); |
|||
boolean result = tbsActivityPayConditionService.save(entity); |
|||
return R.isTrue(result); |
|||
} |
|||
|
|||
/** |
|||
* 删除 |
|||
* @param ids |
|||
* @return |
|||
*/ |
|||
@DeleteMapping("/deleteById/{ids}") |
|||
@SysLog(module = SystemModule.Budget, title = "活动支付条件", biz = BizType.DELETE) |
|||
public R<?> deleteById(@PathVariable("ids") String ids){ |
|||
List<Long> idsLong = StringUtils.splitIdLong(ids); |
|||
boolean result = tbsActivityPayConditionService.removeByIds(idsLong); |
|||
return R.isTrue(result); |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,117 @@ |
|||
package com.qs.serve.modules.tbs.entity; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* 活动支付条件 实体类 |
|||
* @author YenHex |
|||
* @since 2023-05-10 |
|||
*/ |
|||
@Data |
|||
@TableName("tbs_activity_pay_condition") |
|||
public class TbsActivityPayCondition implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** id */ |
|||
@TableId(type = IdType.AUTO) |
|||
private Long id; |
|||
|
|||
/** 标题 */ |
|||
@TableField(condition = SqlCondition.LIKE) |
|||
private String title; |
|||
|
|||
/** 费用id */ |
|||
@NotNull(message = "费用id不能为空") |
|||
private Long costApplyId; |
|||
|
|||
/** 活动id */ |
|||
@NotNull(message = "活动id不能为空") |
|||
private Long activityId; |
|||
|
|||
/** 付款条件 */ |
|||
@NotBlank(message = "付款条件不能为空") |
|||
@Length(max = 4000,message = "付款条件长度不能超过4000字") |
|||
private String conditionMsg; |
|||
|
|||
/** 付款金额 */ |
|||
@NotNull(message = "付款金额不能为空") |
|||
private BigDecimal paymentPrice; |
|||
|
|||
/** 付款时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
|||
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") |
|||
private LocalDate paymentDate; |
|||
|
|||
/** 完成标识 2->审批中 */ |
|||
private Integer finishedFlag; |
|||
|
|||
/** 备注 */ |
|||
@Length(max = 255,message = "备注长度不能超过255字") |
|||
private String remark; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 更新时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 创建人 */ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String createBy; |
|||
|
|||
/** 更新人 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private String updateBy; |
|||
|
|||
/** 租户id */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
/** 删除标识 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private Boolean delFlag; |
|||
|
|||
|
|||
public static TbsActivityPayCondition toNewObject(TbsActivityPayCondition source){ |
|||
TbsActivityPayCondition activityPayCondition = new TbsActivityPayCondition(); |
|||
activityPayCondition.setId(source.getId()); |
|||
activityPayCondition.setCostApplyId(source.getCostApplyId()); |
|||
activityPayCondition.setActivityId(source.getActivityId()); |
|||
activityPayCondition.setConditionMsg(source.getConditionMsg()); |
|||
activityPayCondition.setPaymentPrice(source.getPaymentPrice()); |
|||
activityPayCondition.setPaymentDate(source.getPaymentDate()); |
|||
activityPayCondition.setRemark(source.getRemark()); |
|||
activityPayCondition.setCreateTime(source.getCreateTime()); |
|||
activityPayCondition.setUpdateTime(source.getUpdateTime()); |
|||
activityPayCondition.setCreateBy(source.getCreateBy()); |
|||
activityPayCondition.setUpdateBy(source.getUpdateBy()); |
|||
activityPayCondition.setTenantId(source.getTenantId()); |
|||
activityPayCondition.setDelFlag(source.getDelFlag()); |
|||
return activityPayCondition; |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,83 @@ |
|||
package com.qs.serve.modules.tbs.entity.bo; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.SqlCondition; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* 活动支付条件 Bo |
|||
* @author YenHex |
|||
* @since 2023-05-10 |
|||
*/ |
|||
@Data |
|||
public class TbsActivityPayConditionBo implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** id */ |
|||
private Long id; |
|||
|
|||
/** 费用id */ |
|||
@NotNull(message = "费用id不能为空") |
|||
private Long costApplyId; |
|||
|
|||
/** 标题 */ |
|||
@TableField(condition = SqlCondition.LIKE) |
|||
private String title; |
|||
|
|||
/** 付款条件 */ |
|||
@NotBlank(message = "付款条件不能为空") |
|||
@Length(max = 4000,message = "付款条件长度不能超过4000字") |
|||
private String conditionMsg; |
|||
|
|||
/** 付款金额 */ |
|||
@NotNull(message = "付款金额不能为空") |
|||
private BigDecimal paymentPrice; |
|||
|
|||
/** 付款时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
|||
private LocalDate paymentDate; |
|||
|
|||
/** 备注 */ |
|||
@Length(max = 255,message = "备注长度不能超过255字") |
|||
private String remark; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 更新时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 创建人 */ |
|||
private String createBy; |
|||
|
|||
/** 更新人 */ |
|||
private String updateBy; |
|||
|
|||
/** 租户id */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
/** 删除标识 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private Boolean delFlag; |
|||
|
|||
} |
|||
|
@ -0,0 +1,25 @@ |
|||
package com.qs.serve.modules.tbs.entity.dto; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2023/5/9 |
|||
*/ |
|||
public class TbsCostSubItem { |
|||
|
|||
@Data |
|||
@AllArgsConstructor |
|||
public static class CostCenter{ |
|||
private String chengBenZhongXin; |
|||
private String chengBenZhongXinId; |
|||
} |
|||
|
|||
@Data |
|||
@AllArgsConstructor |
|||
public static class Subject{ |
|||
private String keMuName; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,60 @@ |
|||
package com.qs.serve.modules.tbs.entity.so; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.SqlCondition; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* 活动支付条件 查询参数 |
|||
* @author YenHex |
|||
* @since 2023-05-10 |
|||
*/ |
|||
@Data |
|||
public class TbsActivityPayConditionSo implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** id */ |
|||
private Long id; |
|||
|
|||
/** 标题 */ |
|||
@TableField(condition = SqlCondition.LIKE) |
|||
private String title; |
|||
|
|||
/** 费用id */ |
|||
private Long costApplyId; |
|||
|
|||
/** 活动id */ |
|||
private Long activityId; |
|||
|
|||
/** 付款条件 */ |
|||
private String conditionMsg; |
|||
|
|||
/** 付款金额 */ |
|||
private BigDecimal paymentPrice; |
|||
|
|||
/** 完成标识 */ |
|||
private Integer finishedFlag; |
|||
|
|||
/** 付款时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
|||
private LocalDate paymentDate; |
|||
|
|||
/** 备注 */ |
|||
private String remark; |
|||
|
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
package com.qs.serve.modules.tbs.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qs.serve.modules.tbs.entity.TbsActivityPayCondition; |
|||
|
|||
/** |
|||
* 活动支付条件 Mapper |
|||
* @author YenHex |
|||
* @date 2023-05-10 |
|||
*/ |
|||
public interface TbsActivityPayConditionMapper extends BaseMapper<TbsActivityPayCondition> { |
|||
|
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
package com.qs.serve.modules.tbs.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.qs.serve.modules.tbs.entity.TbsActivityPayCondition; |
|||
|
|||
/** |
|||
* 活动支付条件 服务接口 |
|||
* @author YenHex |
|||
* @date 2023-05-10 |
|||
*/ |
|||
public interface TbsActivityPayConditionService extends IService<TbsActivityPayCondition> { |
|||
|
|||
} |
|||
|
@ -0,0 +1,22 @@ |
|||
package com.qs.serve.modules.tbs.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import com.qs.serve.modules.tbs.entity.TbsActivityPayCondition; |
|||
import com.qs.serve.modules.tbs.service.TbsActivityPayConditionService; |
|||
import com.qs.serve.modules.tbs.mapper.TbsActivityPayConditionMapper; |
|||
|
|||
/** |
|||
* 活动支付条件 服务实现类 |
|||
* @author YenHex |
|||
* @since 2023-05-10 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
@AllArgsConstructor |
|||
public class TbsActivityPayConditionServiceImpl extends ServiceImpl<TbsActivityPayConditionMapper,TbsActivityPayCondition> implements TbsActivityPayConditionService { |
|||
|
|||
} |
|||
|
Loading…
Reference in new issue