fix: 信用卡账单生成逻辑修改。
This commit is contained in:
@@ -294,45 +294,8 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
|||||||
creditCardBillDto.setBillDate(billDateStr);
|
creditCardBillDto.setBillDate(billDateStr);
|
||||||
creditCardBillDto.setBillState("0");
|
creditCardBillDto.setBillState("0");
|
||||||
List<CreditCardBillVo> creditCardBillList=creditCardBillMapper.selectCreditCardBillList(creditCardBillDto);
|
List<CreditCardBillVo> creditCardBillList=creditCardBillMapper.selectCreditCardBillList(creditCardBillDto);
|
||||||
if(creditCardBillList.size()>0){
|
|
||||||
CreditCardBillVo creditCardBillVo=creditCardBillList.get(0);
|
//如果账单日消费计入下期(isNextBillDate=1)且今天是账单日,直接进入下期账单生成逻辑
|
||||||
CreditCardBill creditCardBill=new CreditCardBill();
|
|
||||||
creditCardBill.setUpdateBy(SecurityUtils.getUsername());
|
|
||||||
creditCardBill.setUpdateTime(DateUtils.getNowDate());
|
|
||||||
creditCardBill.setId(creditCardBillVo.getId());
|
|
||||||
creditCardBill.setBillAmount(billAmount);
|
|
||||||
//如果账单日与当前日期相同,将账单修改为已出账
|
|
||||||
LocalTime currentTime = LocalTime.now();
|
|
||||||
LocalTime eveningThreshold = LocalTime.of(23, 0);
|
|
||||||
if(billDateStr.equals(formatter.format(new Date()))&¤tTime.isAfter(eveningThreshold)){
|
|
||||||
creditCardBill.setBillState("1");
|
|
||||||
}
|
|
||||||
//更新未出账单
|
|
||||||
creditCardBillMapper.updateCreditCardBill(creditCardBill);
|
|
||||||
}else {
|
|
||||||
//如果账单日大于当前日期,未出账,进行插入操作
|
|
||||||
int flag=billDateStr.compareTo(formatter.format(new Date()));
|
|
||||||
if(flag>=0){
|
|
||||||
CreditCardBill creditCardBill=new CreditCardBill();
|
|
||||||
try {
|
|
||||||
creditCardBill.setBillDate(formatter.parse(billDateStr));
|
|
||||||
} catch (ParseException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
creditCardBill.setName(simpleDateFormat.format(creditCardBill.getBillDate()));
|
|
||||||
creditCardBill.setBillDatePeriod(periodStart+"~"+periodEnd);
|
|
||||||
creditCardBill.setCreateBy(bankCard.getCreateBy());
|
|
||||||
creditCardBill.setCreateTime(DateUtils.getNowDate());
|
|
||||||
creditCardBill.setId(IdWorker.getId());
|
|
||||||
creditCardBill.setCreditCardId(bankCard.getId());
|
|
||||||
creditCardBill.setBillAmount(billAmount);
|
|
||||||
creditCardBill.setBillState("0");
|
|
||||||
//插入未出账单
|
|
||||||
creditCardBillMapper.insertCreditCardBill(creditCardBill);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//如枟账单日消费计入下期(isNextBillDate=1)且今天是账单日,需要生成下一个账单周期
|
|
||||||
if(isNextBillDate.equals("1") && dayOfMonth == bankCard.getBillDate()){
|
if(isNextBillDate.equals("1") && dayOfMonth == bankCard.getBillDate()){
|
||||||
//先将当期账单状态更新为已出账
|
//先将当期账单状态更新为已出账
|
||||||
if(creditCardBillList.size()>0){
|
if(creditCardBillList.size()>0){
|
||||||
@@ -341,6 +304,7 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
|||||||
updateCurrentBill.setUpdateBy(SecurityUtils.getUsername());
|
updateCurrentBill.setUpdateBy(SecurityUtils.getUsername());
|
||||||
updateCurrentBill.setUpdateTime(DateUtils.getNowDate());
|
updateCurrentBill.setUpdateTime(DateUtils.getNowDate());
|
||||||
updateCurrentBill.setId(currentCreditCardBillVo.getId());
|
updateCurrentBill.setId(currentCreditCardBillVo.getId());
|
||||||
|
updateCurrentBill.setBillAmount(billAmount);//更新本期账单金额
|
||||||
updateCurrentBill.setBillState("1");//设置为已出账
|
updateCurrentBill.setBillState("1");//设置为已出账
|
||||||
creditCardBillMapper.updateCreditCardBill(updateCurrentBill);
|
creditCardBillMapper.updateCreditCardBill(updateCurrentBill);
|
||||||
}
|
}
|
||||||
@@ -429,6 +393,45 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
|||||||
updateNextCreditCardBill.setBillAmount(nextBillAmount);
|
updateNextCreditCardBill.setBillAmount(nextBillAmount);
|
||||||
creditCardBillMapper.updateCreditCardBill(updateNextCreditCardBill);
|
creditCardBillMapper.updateCreditCardBill(updateNextCreditCardBill);
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
//非账单日当天或账单日消费计入本期:正常更新或创建账单
|
||||||
|
if(creditCardBillList.size()>0){
|
||||||
|
CreditCardBillVo creditCardBillVo=creditCardBillList.get(0);
|
||||||
|
CreditCardBill creditCardBill=new CreditCardBill();
|
||||||
|
creditCardBill.setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
creditCardBill.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
creditCardBill.setId(creditCardBillVo.getId());
|
||||||
|
creditCardBill.setBillAmount(billAmount);
|
||||||
|
//如枟账单日与当前日期相同,将账单修改为已出账
|
||||||
|
LocalTime currentTime = LocalTime.now();
|
||||||
|
LocalTime eveningThreshold = LocalTime.of(23, 0);
|
||||||
|
if(billDateStr.equals(formatter.format(new Date()))&¤tTime.isAfter(eveningThreshold)){
|
||||||
|
creditCardBill.setBillState("1");
|
||||||
|
}
|
||||||
|
//更新未出账单
|
||||||
|
creditCardBillMapper.updateCreditCardBill(creditCardBill);
|
||||||
|
}else {
|
||||||
|
//如果账单日大于当前日期,未出账,进行插入操作
|
||||||
|
int flag=billDateStr.compareTo(formatter.format(new Date()));
|
||||||
|
if(flag>=0){
|
||||||
|
CreditCardBill creditCardBill=new CreditCardBill();
|
||||||
|
try {
|
||||||
|
creditCardBill.setBillDate(formatter.parse(billDateStr));
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
creditCardBill.setName(simpleDateFormat.format(creditCardBill.getBillDate()));
|
||||||
|
creditCardBill.setBillDatePeriod(periodStart+"~"+periodEnd);
|
||||||
|
creditCardBill.setCreateBy(bankCard.getCreateBy());
|
||||||
|
creditCardBill.setCreateTime(DateUtils.getNowDate());
|
||||||
|
creditCardBill.setId(IdWorker.getId());
|
||||||
|
creditCardBill.setCreditCardId(bankCard.getId());
|
||||||
|
creditCardBill.setBillAmount(billAmount);
|
||||||
|
creditCardBill.setBillState("0");
|
||||||
|
//插入未出账单
|
||||||
|
creditCardBillMapper.insertCreditCardBill(creditCardBill);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -525,45 +528,8 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
|||||||
creditCardBillDto.setBillDate(billDateStr);
|
creditCardBillDto.setBillDate(billDateStr);
|
||||||
creditCardBillDto.setBillState("0");
|
creditCardBillDto.setBillState("0");
|
||||||
List<CreditCardBillVo> creditCardBillList=creditCardBillMapper.selectCreditCardBillList(creditCardBillDto);
|
List<CreditCardBillVo> creditCardBillList=creditCardBillMapper.selectCreditCardBillList(creditCardBillDto);
|
||||||
if(creditCardBillList.size()>0){
|
|
||||||
CreditCardBillVo creditCardBillVo=creditCardBillList.get(0);
|
//如枟账单日消费计入下期(isNextBillDate=1)且今天是账单日,直接进入下期账单生成逻辑
|
||||||
CreditCardBill creditCardBill=new CreditCardBill();
|
|
||||||
creditCardBill.setUpdateBy(SecurityUtils.getUsername());
|
|
||||||
creditCardBill.setUpdateTime(DateUtils.getNowDate());
|
|
||||||
creditCardBill.setId(creditCardBillVo.getId());
|
|
||||||
creditCardBill.setBillAmount(billAmount);
|
|
||||||
//如果账单日与当前日期相同,将账单修改为已出账
|
|
||||||
LocalTime currentTime = LocalTime.now();
|
|
||||||
LocalTime eveningThreshold = LocalTime.of(23, 0);
|
|
||||||
if(billDateStr.equals(formatter.format(new Date()))&¤tTime.isAfter(eveningThreshold)){
|
|
||||||
creditCardBill.setBillState("1");
|
|
||||||
}
|
|
||||||
//更新未出账单
|
|
||||||
creditCardBillMapper.updateCreditCardBill(creditCardBill);
|
|
||||||
}else {
|
|
||||||
//如果账单日大于当前日期,未出账,进行插入操作
|
|
||||||
int flag=billDateStr.compareTo(formatter.format(new Date()));
|
|
||||||
if(flag>=0){
|
|
||||||
CreditCardBill creditCardBill=new CreditCardBill();
|
|
||||||
try {
|
|
||||||
creditCardBill.setBillDate(formatter.parse(billDateStr));
|
|
||||||
} catch (ParseException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
creditCardBill.setName(simpleDateFormat.format(creditCardBill.getBillDate()));
|
|
||||||
creditCardBill.setBillDatePeriod(periodStart+"~"+periodEnd);
|
|
||||||
creditCardBill.setCreateBy(bankCard.getCreateBy());
|
|
||||||
creditCardBill.setCreateTime(DateUtils.getNowDate());
|
|
||||||
creditCardBill.setId(IdWorker.getId());
|
|
||||||
creditCardBill.setCreditCardId(bankCard.getId());
|
|
||||||
creditCardBill.setBillAmount(billAmount);
|
|
||||||
creditCardBill.setBillState("0");
|
|
||||||
//插入未出账单
|
|
||||||
creditCardBillMapper.insertCreditCardBill(creditCardBill);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//如果账单日消费计入下期(isNextBillDate=1)且今天是账单日,需要生成下一个账单周期
|
|
||||||
if(isNextBillDate.equals("1") && dayOfMonth == bankCard.getBillDate()){
|
if(isNextBillDate.equals("1") && dayOfMonth == bankCard.getBillDate()){
|
||||||
//先将当期账单状态更新为已出账
|
//先将当期账单状态更新为已出账
|
||||||
if(creditCardBillList.size()>0){
|
if(creditCardBillList.size()>0){
|
||||||
@@ -572,6 +538,7 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
|||||||
updateCurrentBill.setUpdateBy(SecurityUtils.getUsername());
|
updateCurrentBill.setUpdateBy(SecurityUtils.getUsername());
|
||||||
updateCurrentBill.setUpdateTime(DateUtils.getNowDate());
|
updateCurrentBill.setUpdateTime(DateUtils.getNowDate());
|
||||||
updateCurrentBill.setId(currentCreditCardBillVo.getId());
|
updateCurrentBill.setId(currentCreditCardBillVo.getId());
|
||||||
|
updateCurrentBill.setBillAmount(billAmount);//更新本期账单金额
|
||||||
updateCurrentBill.setBillState("1");//设置为已出账
|
updateCurrentBill.setBillState("1");//设置为已出账
|
||||||
creditCardBillMapper.updateCreditCardBill(updateCurrentBill);
|
creditCardBillMapper.updateCreditCardBill(updateCurrentBill);
|
||||||
}
|
}
|
||||||
@@ -660,6 +627,45 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
|
|||||||
updateNextCreditCardBill.setBillAmount(nextBillAmount);
|
updateNextCreditCardBill.setBillAmount(nextBillAmount);
|
||||||
creditCardBillMapper.updateCreditCardBill(updateNextCreditCardBill);
|
creditCardBillMapper.updateCreditCardBill(updateNextCreditCardBill);
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
//非账单日当天或账单日消费计入本期:正常更新或创建账单
|
||||||
|
if(creditCardBillList.size()>0){
|
||||||
|
CreditCardBillVo creditCardBillVo=creditCardBillList.get(0);
|
||||||
|
CreditCardBill creditCardBill=new CreditCardBill();
|
||||||
|
creditCardBill.setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
creditCardBill.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
creditCardBill.setId(creditCardBillVo.getId());
|
||||||
|
creditCardBill.setBillAmount(billAmount);
|
||||||
|
//如枟账单日与当前日期相同,将账单修改为已出账
|
||||||
|
LocalTime currentTime = LocalTime.now();
|
||||||
|
LocalTime eveningThreshold = LocalTime.of(23, 0);
|
||||||
|
if(billDateStr.equals(formatter.format(new Date()))&¤tTime.isAfter(eveningThreshold)){
|
||||||
|
creditCardBill.setBillState("1");
|
||||||
|
}
|
||||||
|
//更新未出账单
|
||||||
|
creditCardBillMapper.updateCreditCardBill(creditCardBill);
|
||||||
|
}else {
|
||||||
|
//如枟账单日大于当前日期,未出账,进行插入操作
|
||||||
|
int flag=billDateStr.compareTo(formatter.format(new Date()));
|
||||||
|
if(flag>=0){
|
||||||
|
CreditCardBill creditCardBill=new CreditCardBill();
|
||||||
|
try {
|
||||||
|
creditCardBill.setBillDate(formatter.parse(billDateStr));
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
creditCardBill.setName(simpleDateFormat.format(creditCardBill.getBillDate()));
|
||||||
|
creditCardBill.setBillDatePeriod(periodStart+"~"+periodEnd);
|
||||||
|
creditCardBill.setCreateBy(bankCard.getCreateBy());
|
||||||
|
creditCardBill.setCreateTime(DateUtils.getNowDate());
|
||||||
|
creditCardBill.setId(IdWorker.getId());
|
||||||
|
creditCardBill.setCreditCardId(bankCard.getId());
|
||||||
|
creditCardBill.setBillAmount(billAmount);
|
||||||
|
creditCardBill.setBillState("0");
|
||||||
|
//插入未出账单
|
||||||
|
creditCardBillMapper.insertCreditCardBill(creditCardBill);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user