支付模板代码提交

master
yqy 2 years ago
parent c50194bd85
commit 0dee8d8fb2

@ -87,4 +87,9 @@ public interface CompanyRepository extends JpaRepository<Company, Long>, JpaSpec
@Modifying
@Query("UPDATE Company set templateId = ?1 where id = ?2")
void updateCompanyTemplateIdById(Long templateId, Long companyId);
/**
* id
*/
Company findByUserId(Long userId);
}

@ -10,4 +10,6 @@ import java.util.Set;
@Repository
public interface PayFatherTemplateRepository extends JpaRepository<PayFatherTemplate, Long>, JpaSpecificationExecutor<PayFatherTemplate> {
void deleteByIdIn(Set<Long> ids);
Set<PayFatherTemplate> findByStatus(Integer status);
}

@ -3,6 +3,7 @@ package com.baiye.modules.system.rest;
import com.baiye.http.CommonResponse;
import com.baiye.modules.system.domain.PayCombo;
import com.baiye.modules.system.service.PayComboService;
import com.baiye.modules.system.service.dto.PayComboQueryCriteria;
import com.baiye.valid.AddGroup;
import com.baiye.valid.UpdateGroup;
import io.swagger.annotations.Api;
@ -37,7 +38,13 @@ public class PayComboController {
@ApiOperation("查询模板列表")
@GetMapping("/list")
public ResponseEntity<Object> query(){
return new ResponseEntity<>(payComboService.query(), HttpStatus.OK);
public ResponseEntity<Object> list(){
return new ResponseEntity<>(payComboService.list(), HttpStatus.OK);
}
@ApiOperation("查询模板列表")
@GetMapping("/query")
public ResponseEntity<Object> query(PayComboQueryCriteria payComboQueryCriteria){
return new ResponseEntity<>(payComboService.query(payComboQueryCriteria), HttpStatus.OK);
}
}

@ -1,6 +1,7 @@
package com.baiye.modules.system.service;
import com.baiye.modules.system.domain.PayCombo;
import com.baiye.modules.system.service.dto.PayComboQueryCriteria;
public interface PayComboService {
@ -20,7 +21,7 @@ public interface PayComboService {
*
* @return
*/
Object query();
Object list();
/**
* id
@ -28,4 +29,6 @@ public interface PayComboService {
* @return
*/
PayCombo findTemplateById(Long templateId);
Object query(PayComboQueryCriteria payComboQueryCriteria);
}

@ -0,0 +1,45 @@
package com.baiye.modules.system.service.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class PayComboDto implements Serializable {
private static final long serialVersionUID = 7917504710223840272L;
@ApiModelProperty(value = "id")
private Long id;
@ApiModelProperty(value = "套餐名称")
private String packageName;
@ApiModelProperty(value = "套餐等级")
private Integer levelNumber;
@ApiModelProperty(value = "父ID")
private Long fatherTemplateId;
@ApiModelProperty(value = "金额")
private Double amount;
@ApiModelProperty(value = "基础金额")
private Double baseAmount;
@ApiModelProperty(value = "通话时长")
private Integer callDuration;
@ApiModelProperty(value = "套餐天数")
private Integer packageDay;
@ApiModelProperty(value = "状态: 0可用 1禁用")
private Integer status;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

@ -0,0 +1,23 @@
package com.baiye.modules.system.service.dto;
import com.baiye.annotation.Query;
import lombok.Data;
/**
*
*/
@Data
public class PayComboQueryCriteria {
@Query
private Long id;
@Query
private Integer status;
@Query
private Long fatherTemplateId;
// @Query(blurry = "name")
// private String name;
}

@ -1,12 +1,22 @@
package com.baiye.modules.system.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.model.dto.UserDto;
import com.baiye.modules.system.domain.Company;
import com.baiye.modules.system.domain.PayCombo;
import com.baiye.modules.system.domain.User;
import com.baiye.modules.system.repository.CompanyRepository;
import com.baiye.modules.system.repository.PayComboRepository;
import com.baiye.modules.system.repository.UserRepository;
import com.baiye.modules.system.service.CompanyService;
import com.baiye.modules.system.service.PayComboService;
import com.baiye.modules.system.service.UserService;
import com.baiye.modules.system.service.dto.CompanyDto;
import com.baiye.modules.system.service.dto.PayComboQueryCriteria;
import com.baiye.modules.system.service.mapstruct.PayComboMapper;
import com.baiye.util.QueryHelp;
import com.baiye.util.SecurityUtils;
import com.baiye.util.StringUtils;
import lombok.RequiredArgsConstructor;
@ -31,7 +41,9 @@ import java.util.Set;
public class PayComboServiceImpl implements PayComboService {
private final PayComboRepository payComboRepository;
private final CompanyService companyService;
private final CompanyRepository companyRepository;
private final UserRepository userRepository;
private final PayComboMapper payComboMapper;
@Value("${payTemplate.base_fee}")
private Double baseFee;
@Value("${payTemplate.beyond_fee}")
@ -77,18 +89,21 @@ public class PayComboServiceImpl implements PayComboService {
}
@Override
public Object query() {
public Object list() {
//1、查询公司的模板
CompanyDto company = companyService.findCompanyById(SecurityUtils.getCurrentUserId());
User user = userRepository.findById(SecurityUtils.getCurrentUserId()).orElseGet(User::new);
Company company = companyRepository.findById(user.getCompanyId()).orElseGet(Company::new);
HashMap<Object, Object> map = new HashMap<>();
if (ObjectUtil.isNotEmpty(company)){
Long fatherTemplateId = company.getTemplateId();
//2、查询
Set<PayCombo> payCombos = payComboRepository.findByFatherTemplateIdAndStatus(fatherTemplateId, DefaultNumberConstants.ZERO_NUMBER);
HashMap<Object, Object> map = new HashMap<>();
if (CollUtil.isNotEmpty(payCombos)){
map.put("list", payCombos);
map.put("baseFee",baseFee);
map.put("beyondFee",beyondFee);
}
}
return map;
}
@ -97,4 +112,11 @@ public class PayComboServiceImpl implements PayComboService {
public PayCombo findTemplateById(Long templateId) {
return payComboRepository.findById(templateId).orElseGet(PayCombo::new);
}
@Override
public Object query(PayComboQueryCriteria payComboQueryCriteria) {
payComboQueryCriteria.setStatus(DefaultNumberConstants.ZERO_NUMBER);
return payComboMapper.toDto(payComboRepository.findAll((root, criteriaQuery, criteriaBuilder) ->
QueryHelp.getPredicate(root, payComboQueryCriteria, criteriaBuilder)));
}
}

@ -83,7 +83,16 @@ public class PayFatherTemplateServiceImpl implements PayFatherTemplateService {
if (CollUtil.isNotEmpty(companies)){
throw new BadRequestException("模板已绑定用户,请操作替换后然后删除");
}
payFatherTemplateRepository.deleteByIdIn(ids);
List<PayFatherTemplate> payFatherTemplateList = payFatherTemplateRepository.findAllById(ids);
if (CollUtil.isNotEmpty(payFatherTemplateList)){
payFatherTemplateList.forEach(pt -> pt.setStatus(DefaultNumberConstants.ONE_NUMBER));
payFatherTemplateRepository.saveAll(payFatherTemplateList);
}
Set<PayCombo> payComboSet = payComboRepository.findByFatherTemplateIdInAndStatus(ids, DefaultNumberConstants.ZERO_NUMBER);
if (CollUtil.isNotEmpty(payComboSet)){
payComboSet.forEach(pt -> pt.setStatus(DefaultNumberConstants.ONE_NUMBER));
payComboRepository.saveAll(payComboSet);
}
}
@Override
@ -107,7 +116,7 @@ public class PayFatherTemplateServiceImpl implements PayFatherTemplateService {
@Override
public Object list() {
return payFatherTemplateRepository.findAll();
return payFatherTemplateRepository.findByStatus(DefaultNumberConstants.ZERO_NUMBER);
}
@Override

@ -0,0 +1,16 @@
package com.baiye.modules.system.service.mapstruct;
import com.baiye.model.base.BaseMapper;
import com.baiye.modules.system.domain.LabelOrganize;
import com.baiye.modules.system.domain.PayCombo;
import com.baiye.modules.system.service.dto.PayComboDto;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
/**
* @author Zheng Jie
* @date 2019-03-25
*/
@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface PayComboMapper extends BaseMapper<PayComboDto, PayCombo> {
}
Loading…
Cancel
Save