diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/CreditCardBillServiceImpl.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/CreditCardBillServiceImpl.java index 9f1684f..dfd6766 100644 --- a/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/CreditCardBillServiceImpl.java +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/CreditCardBillServiceImpl.java @@ -294,45 +294,8 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService creditCardBillDto.setBillDate(billDateStr); creditCardBillDto.setBillState("0"); List creditCardBillList=creditCardBillMapper.selectCreditCardBillList(creditCardBillDto); - 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); - } - } - - //如枟账单日消费计入下期(isNextBillDate=1)且今天是账单日,需要生成下一个账单周期 + + //如果账单日消费计入下期(isNextBillDate=1)且今天是账单日,直接进入下期账单生成逻辑 if(isNextBillDate.equals("1") && dayOfMonth == bankCard.getBillDate()){ //先将当期账单状态更新为已出账 if(creditCardBillList.size()>0){ @@ -341,6 +304,7 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService updateCurrentBill.setUpdateBy(SecurityUtils.getUsername()); updateCurrentBill.setUpdateTime(DateUtils.getNowDate()); updateCurrentBill.setId(currentCreditCardBillVo.getId()); + updateCurrentBill.setBillAmount(billAmount);//更新本期账单金额 updateCurrentBill.setBillState("1");//设置为已出账 creditCardBillMapper.updateCreditCardBill(updateCurrentBill); } @@ -429,6 +393,45 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService updateNextCreditCardBill.setBillAmount(nextBillAmount); 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.setBillState("0"); List creditCardBillList=creditCardBillMapper.selectCreditCardBillList(creditCardBillDto); - 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); - } - } - - //如果账单日消费计入下期(isNextBillDate=1)且今天是账单日,需要生成下一个账单周期 + + //如枟账单日消费计入下期(isNextBillDate=1)且今天是账单日,直接进入下期账单生成逻辑 if(isNextBillDate.equals("1") && dayOfMonth == bankCard.getBillDate()){ //先将当期账单状态更新为已出账 if(creditCardBillList.size()>0){ @@ -572,6 +538,7 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService updateCurrentBill.setUpdateBy(SecurityUtils.getUsername()); updateCurrentBill.setUpdateTime(DateUtils.getNowDate()); updateCurrentBill.setId(currentCreditCardBillVo.getId()); + updateCurrentBill.setBillAmount(billAmount);//更新本期账单金额 updateCurrentBill.setBillState("1");//设置为已出账 creditCardBillMapper.updateCreditCardBill(updateCurrentBill); } @@ -660,6 +627,45 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService updateNextCreditCardBill.setBillAmount(nextBillAmount); 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); + } + } } }