修改套餐基础费用

master
bynt 2 years ago
parent 659a788e01
commit 919ac09934

@ -46,6 +46,11 @@ public class PayTemplate implements Serializable {
@NotNull(message = "金额不能为空", groups = {AddGroup.class})
private Double amount;
@Column(name = "base_amount")
@ApiModelProperty(value = "基础金额")
@NotNull(message = "基础金额", groups = {AddGroup.class})
private Double baseAmount = 30.0;
@Column(name = "call_duration")
@ApiModelProperty(value = "通话时长")
@NotNull(message = "通话时长不能为空", groups = {AddGroup.class})

@ -13,6 +13,15 @@ public interface PayTemplateUserRepository extends JpaRepository<PayTemplateUser
List<PayTemplateUser> findByUserId(Long userId);
/**
* id
* @param userId
* @return
*/
@Query("from PayTemplateUser where userId = ?1")
PayTemplateUser findTemplateByUserId(Long userId);
/**
*
*

@ -2,6 +2,10 @@ package com.baiye.modules.system.service;
import com.baiye.modules.system.domain.PayTemplateUser;
/**
* @author @Enzo
* @date
*/
public interface PayTemplateUserService {
/**
@ -10,4 +14,11 @@ public interface PayTemplateUserService {
* @return
*/
Boolean add(PayTemplateUser payTemplateUser);
/**
* id
* @param id
* @return
*/
PayTemplateUser queryUserByUserId(Long id);
}

@ -27,9 +27,9 @@ import java.util.Set;
public class PayTemplateServiceImpl implements PayTemplateService {
private final PayTemplateRepository payTemplateRepository;
@Value("$payTemplate.base_fee")
@Value("${payTemplate.base_fee}")
private Double baseFee;
@Value("$payTemplate.beyond_fee")
@Value("${payTemplate.beyond_fee}")
private Double beyondFee;
@Override

@ -65,4 +65,9 @@ public class PayTemplateUserServiceImpl implements PayTemplateUserService {
}
return Boolean.FALSE;
}
@Override
public PayTemplateUser queryUserByUserId(Long id) {
return payTemplateUserRepository.findTemplateByUserId(id);
}
}

@ -259,7 +259,13 @@ public class UserServiceImpl implements UserService {
@Override
public Object queryAll(UserQueryCriteria criteria, Pageable pageable) {
Page<User> page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
Page<User> page = userRepository.
findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
page.getContent().forEach(user -> {
PayTemplateUser payTemplateUser = payTemplateUserService.queryUserByUserId(user.getId());
user.setExpirationTime(payTemplateUser != null
&& payTemplateUser.getEndTime() != null ? payTemplateUser.getEndTime() : user.getExpirationTime());
});
return PageUtil.toPage(page.map(userMapper::toDto));
}
@ -544,7 +550,7 @@ public class UserServiceImpl implements UserService {
PayTemplate payTemplate =
payTemplateService.findTemplateById(templateId);
if (ObjectUtil.isNull(payTemplate)
|| payTemplate.getStatus() == DefaultNumberConstants.ZERO_NUMBER) {
|| payTemplate.getStatus() == DefaultNumberConstants.ONE_NUMBER) {
throw new BadRequestException(ResponseCode.PACKAGE_ERROR.getDesc());
}
@ -558,7 +564,8 @@ public class UserServiceImpl implements UserService {
companyById.getUserBalance() != null ?
companyById.getUserBalance() : DefaultNumberConstants.ZERO_NUMBER;
// 计算金额
Double totalAmount = NumberUtil.mul(payTemplate.getAmount(), Double.valueOf(String.valueOf(userIds.size())));
Double totalAmount = NumberUtil.add(payTemplate.getAmount(), payTemplate.getBaseAmount());
totalAmount = NumberUtil.mul(totalAmount, Double.valueOf(String.valueOf(userIds.size())));
double deductionBalance = NumberUtil.sub(balance, totalAmount);
// 判断余额
if (deductionBalance < DefaultNumberConstants.ZERO_NUMBER) {

Loading…
Cancel
Save