diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml
index a57a127..8aa6149 100644
--- a/ruoyi-api/pom.xml
+++ b/ruoyi-api/pom.xml
@@ -10,8 +10,8 @@
ruoyi-api-system
+ ruoyi-api-invest
-
ruoyi-api
pom
diff --git a/ruoyi-api/ruoyi-api-invest/pom.xml b/ruoyi-api/ruoyi-api-invest/pom.xml
new file mode 100644
index 0000000..a14a3e8
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-invest/pom.xml
@@ -0,0 +1,28 @@
+
+
+
+ com.ruoyi
+ ruoyi-api
+ 3.6.3
+
+ 4.0.0
+
+ ruoyi-api-invest
+
+
+ ruoyi-api-invest
+
+
+
+
+
+
+ com.ruoyi
+ ruoyi-common-core
+
+
+
+
+
diff --git a/ruoyi-api/ruoyi-api-invest/src/main/java/com/ruoyi/api/invest/RemoteInvestService.java b/ruoyi-api/ruoyi-api-invest/src/main/java/com/ruoyi/api/invest/RemoteInvestService.java
new file mode 100644
index 0000000..cc3375f
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-invest/src/main/java/com/ruoyi/api/invest/RemoteInvestService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.api.invest;
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.ruoyi.common.core.domain.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 基础服务
+ *
+ * @author YaphetS
+ */
+@FeignClient(contextId = "remoteInvestService", value = ServiceNameConstants.INTC_INVEST, fallbackFactory = com.ruoyi.api.invest.factory.RemoteInvestFallbackFactory.class)
+public interface RemoteInvestService
+{
+ /**
+ * 生成未出信用卡账单数据
+ *
+ * @return 结果
+ */
+ @RequestMapping(value = "/job/generateUnpaidCreditBill",method = RequestMethod.POST)
+ public R generateUnpaidCreditBillTask();
+
+ /**
+ * 更新未出信用卡分期账单入账数据
+ *
+ * @return 结果
+ */
+ @RequestMapping(value = "/job/updateUnpaidInstallmentData",method = RequestMethod.POST)
+ public R updateUnpaidInstallmentDataTask();
+
+
+
+}
diff --git a/ruoyi-api/ruoyi-api-invest/src/main/java/com/ruoyi/api/invest/factory/RemoteInvestFallbackFactory.java b/ruoyi-api/ruoyi-api-invest/src/main/java/com/ruoyi/api/invest/factory/RemoteInvestFallbackFactory.java
new file mode 100644
index 0000000..ee1a5ba
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-invest/src/main/java/com/ruoyi/api/invest/factory/RemoteInvestFallbackFactory.java
@@ -0,0 +1,39 @@
+package com.ruoyi.api.invest.factory;
+
+import com.ruoyi.api.invest.RemoteInvestService;
+import com.ruoyi.common.core.domain.R;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * 用户服务降级处理
+ *
+ * @author ruoyi
+ */
+@Component
+public class RemoteInvestFallbackFactory implements FallbackFactory
+{
+ private static final Logger log = LoggerFactory.getLogger(com.ruoyi.api.invest.factory.RemoteInvestFallbackFactory.class);
+
+ @Override
+ public RemoteInvestService create(Throwable throwable)
+ {
+ log.error("投资服务调用失败:{}", throwable.getMessage());
+ return new RemoteInvestService()
+ {
+
+ @Override
+ public R generateUnpaidCreditBillTask() {
+ return R.fail("投资服务调用生成未出信用卡账单数据失败");
+ }
+
+ @Override
+ public R updateUnpaidInstallmentDataTask() {
+ return R.fail("投资服务调用更新未出信用卡分期账单入账数据失败");
+ }
+
+ };
+ }
+}
diff --git a/ruoyi-api/ruoyi-api-invest/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-invest/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..a3758c6
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-invest/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.ruoyi.api.invest.factory.RemoteInvestFallbackFactory
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
index 7e04232..072ce13 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
@@ -57,7 +57,7 @@ public class ServiceNameConstants
public static final String VIDEO_SERVICE ="hny-video";
/**
- * SMART_LIGHT_SERVICE的serviceId
+ * INTC_INVEST的serviceId
*/
- public static final String SMART_LIGHT_SERVICE ="hny-smart-light";
+ public static final String INTC_INVEST ="intc-invest";
}
diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/CreditCardBill.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/CreditCardBill.java
index 57646af..e3b85e9 100644
--- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/CreditCardBill.java
+++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/CreditCardBill.java
@@ -52,6 +52,9 @@ public class CreditCardBill extends BaseEntity
/** 删除标志(0代表存在 1代表删除) */
private String delFlag;
+ /** 删除标志(0代表存在 1代表删除) */
+ private String billState;
+
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -66,6 +69,7 @@ public class CreditCardBill extends BaseEntity
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
+ .append("billState", getBillState())
.toString();
}
}
diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/AccountsDealRecordDto.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/AccountsDealRecordDto.java
index 566004c..ec73011 100644
--- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/AccountsDealRecordDto.java
+++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/AccountsDealRecordDto.java
@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
+import java.util.Date;
+
/**
* 账户交易记录Dto对象 accounts_deal_record
*
@@ -27,7 +29,7 @@ public class AccountsDealRecordDto implements Serializable
/** 账户 */
@ApiModelProperty(value="账户")
- private String accountId;
+ private Long accountId;
/** 交易类型 */
@ApiModelProperty(value="交易类型")
@@ -37,12 +39,21 @@ public class AccountsDealRecordDto implements Serializable
@ApiModelProperty(value="交易类别")
private String dealCategory;
- /** 交易类别 */
+ /** 开始日期 */
@ApiModelProperty(value="开始日期")
private String startTime;
- /** 交易类别 */
+ /** 结束日期 */
@ApiModelProperty(value="结束日期")
private String endTime;
+ /** 开始时间*/
+ @ApiModelProperty(value="开始时间")
+ private Date startDateTime;
+
+ /** 结束时间*/
+ @ApiModelProperty(value="结束时间")
+ private Date endDateTime;
+
+
}
diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/CreditCardBillDto.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/CreditCardBillDto.java
index 33a0fa5..1116921 100644
--- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/CreditCardBillDto.java
+++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/CreditCardBillDto.java
@@ -25,13 +25,24 @@ public class CreditCardBillDto implements Serializable
@ApiModelProperty(value="信用卡id")
private Long creditCardId;
+ /** 开始月份 */
+ @ApiModelProperty(value="开始月份")
+ private String startMonth;
+
+
/** 结束月份 */
@ApiModelProperty(value="结束月份")
private String endMonth;
- /** 开始月份 */
- @ApiModelProperty(value="开始月份")
- private String startMonth;
+ /** 账单状态 */
+ @ApiModelProperty(value="账单状态")
+ private String billState;
+
+
+ /** 账单日 */
+ @ApiModelProperty(value="账单日")
+ private String billDate;
+
}
diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/CreditCardBillServiceImpl.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/CreditCardBillServiceImpl.java
index 32423b4..6f564cc 100644
--- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/CreditCardBillServiceImpl.java
+++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/CreditCardBillServiceImpl.java
@@ -6,7 +6,9 @@ import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.invest.domain.CreditCardBill;
import com.ruoyi.invest.domain.dto.CreditCardBillDto;
+import com.ruoyi.invest.domain.vo.BankCardLendVo;
import com.ruoyi.invest.domain.vo.CreditCardBillVo;
+import com.ruoyi.invest.mapper.BankCardLendMapper;
import com.ruoyi.invest.mapper.CreditCardBillMapper;
import com.ruoyi.invest.service.ICreditCardBillService;
import org.springframework.stereotype.Service;
@@ -28,6 +30,8 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
{
@Resource
private CreditCardBillMapper creditCardBillMapper;
+ @Resource
+ private BankCardLendMapper bankCardLendMapper;
/**
* 查询信用卡账单
@@ -74,17 +78,25 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
creditCardBill.setId(IdWorker.getId());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月账单");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+ BankCardLendVo bankCard=bankCardLendMapper.selectBankCardLendById(creditCardBill.getCreditCardId());
+ //0表示当期,1表示下期
+ String isNextBillDate = bankCard.getIsNextBillDate();
if(creditCardBill.getBillDate()!=null){
creditCardBill.setName(simpleDateFormat.format(creditCardBill.getBillDate()));
Calendar calendarStart = Calendar.getInstance();
calendarStart.setTime(creditCardBill.getBillDate());
calendarStart.add(Calendar.MONTH, -1);
+ if(isNextBillDate.equals("0")){
+ calendarStart.add(Calendar.DATE, 1);
+ }
Date lastMonth = calendarStart.getTime();
String periodStart = formatter.format(lastMonth);
Calendar calendarEnd = Calendar.getInstance();
calendarEnd.setTime(creditCardBill.getBillDate());
- calendarEnd.add(Calendar.DATE, -1);
+ if(isNextBillDate.equals("1")){
+ calendarEnd.add(Calendar.DATE, -1);
+ }
Date lastDay = calendarEnd.getTime();
String periodEnd= formatter.format(lastDay);
creditCardBill.setBillDatePeriod(periodStart+"~"+periodEnd);
@@ -107,17 +119,25 @@ public class CreditCardBillServiceImpl implements ICreditCardBillService
creditCardBill.setUpdateTime(DateUtils.getNowDate());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月账单");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+ BankCardLendVo bankCard=bankCardLendMapper.selectBankCardLendById(creditCardBill.getCreditCardId());
+ //0表示当期,1表示下期
+ String isNextBillDate = bankCard.getIsNextBillDate();
if(creditCardBill.getBillDate()!=null){
creditCardBill.setName(simpleDateFormat.format(creditCardBill.getBillDate()));
Calendar calendarStart = Calendar.getInstance();
calendarStart.setTime(creditCardBill.getBillDate());
calendarStart.add(Calendar.MONTH, -1);
+ if(isNextBillDate.equals("0")){
+ calendarStart.add(Calendar.DATE, 1);
+ }
Date lastMonth = calendarStart.getTime();
String periodStart = formatter.format(lastMonth);
Calendar calendarEnd = Calendar.getInstance();
calendarEnd.setTime(creditCardBill.getBillDate());
- calendarEnd.add(Calendar.DATE, -1);
+ if(isNextBillDate.equals("1")){
+ calendarEnd.add(Calendar.DATE, -1);
+ }
Date lastDay = calendarEnd.getTime();
String periodEnd= formatter.format(lastDay);
creditCardBill.setBillDatePeriod(periodStart+"~"+periodEnd);
diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/StatisticAnalysisImpl.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/StatisticAnalysisImpl.java
index a5ad0a9..e7fc2d3 100644
--- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/StatisticAnalysisImpl.java
+++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/StatisticAnalysisImpl.java
@@ -113,6 +113,28 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
//返回数据
HashMap map = new HashMap<>();
DecimalFormat decimalFormat = new DecimalFormat("#.##");
+
+ AccountsDto dto=new AccountsDto();
+ dto.setState("1");
+ //储蓄卡
+ dto.setType("1");
+ List accountsList=accountsMapper.selectAccountsList(dto);
+ double debetBalance =0;
+ if(accountsList.size()>0){
+ debetBalance=accountsList.stream().mapToDouble(AccountsVo::getAvailableLimit).sum();
+ }
+ map.put("debetBalance",decimalFormat.format(debetBalance));
+
+ dto.setState("1");
+ //信用卡
+ dto.setType("2");
+ accountsList=accountsMapper.selectAccountsList(dto);
+ double creditBalance =0;
+ if(accountsList.size()>0){
+ creditBalance=accountsList.stream().mapToDouble(AccountsVo::getBalance).sum()*(-1);
+ }
+ map.put("creditBalance",decimalFormat.format(creditBalance));
+
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatterMonth = new SimpleDateFormat("yyyy-MM");
//未结清网贷数据
@@ -148,7 +170,10 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
}
map.put("peopleLendHistory",decimalFormat.format(peopleLendHistory));
- map.put("totalDebt",decimalFormat.format(unClearedOnlineDebt+creditInstallmentHistory+peopleLendHistory));
+ //总负债
+ map.put("totalDebt",decimalFormat.format(unClearedOnlineDebt+creditBalance+peopleLendHistory));
+ //净资产
+ map.put("netAsset",decimalFormat.format(debetBalance-unClearedOnlineDebt-creditBalance-peopleLendHistory));
//未结清账户数
installmentHistoryDto.setState("0");
diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/controller/InvestJob.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/controller/InvestJob.java
new file mode 100644
index 0000000..b0fd0a0
--- /dev/null
+++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/controller/InvestJob.java
@@ -0,0 +1,47 @@
+package com.ruoyi.job.controller;
+
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.job.service.IInvestJobService;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 信息Controller
+ *
+ * @author tianyongbao
+ * @date 2023-12-11
+ */
+@Api(tags=" 生成数据信息")
+@RestController
+@RequestMapping("/job")
+public class InvestJob
+{
+ @Resource
+ private IInvestJobService investJobService;
+
+ @PostMapping("/generateUnpaidCreditBill")
+ public AjaxResult generateUnpaidCreditBill()
+ {
+ System.out.println("================================开始生成未出账单数据("+ DateUtils.getTime() +")=================================");
+ investJobService.generateUnpaidCreditBill();
+ System.out.println("================================结束生成未出账单据("+ DateUtils.getTime() +")=================================");
+ return AjaxResult.success();
+ }
+
+ @PostMapping("/updateUnpaidInstallmentData")
+ public AjaxResult updateUnpaidInstallmentData()
+ {
+ System.out.println("================================开始更新未出信用卡分期账单入账数据("+ DateUtils.getTime() +")=================================");
+ investJobService.updateUnpaidInstallmentData();
+ System.out.println("================================结束更新未出信用卡分期账单入账拟数据("+ DateUtils.getTime() +")=================================");
+ return AjaxResult.success();
+ }
+
+
+
+}
diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/IInvestJobService.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/IInvestJobService.java
new file mode 100644
index 0000000..c365bd9
--- /dev/null
+++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/IInvestJobService.java
@@ -0,0 +1,30 @@
+package com.ruoyi.job.service;
+
+
+/**
+ * 生成模拟数据
+ *
+ * @author tianyongbao
+ * @date 2023-12-11
+ */
+public interface IInvestJobService
+{
+ /**
+ * 生成模拟数据
+ *
+ * @author tianyongbao
+ * @date 2023-12-11
+ */
+ public void generateUnpaidCreditBill();
+
+ /**
+ * 生成能耗模拟数据
+ *
+ * @author tianyongbao
+ * @date 2023-12-12
+ */
+ public void updateUnpaidInstallmentData();
+
+
+
+}
diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/impl/InvestJobImpl.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/impl/InvestJobImpl.java
new file mode 100644
index 0000000..ab58701
--- /dev/null
+++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/impl/InvestJobImpl.java
@@ -0,0 +1,166 @@
+package com.ruoyi.job.service.impl;
+
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.IdWorker;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.invest.domain.CreditCardBill;
+import com.ruoyi.invest.domain.dto.AccountsDealRecordDto;
+import com.ruoyi.invest.domain.dto.BankCardLendDto;
+import com.ruoyi.invest.domain.dto.CreditCardBillDto;
+import com.ruoyi.invest.domain.vo.AccountsDealRecordVo;
+import com.ruoyi.invest.domain.vo.BankCardLendVo;
+import com.ruoyi.invest.domain.vo.CreditCardBillVo;
+import com.ruoyi.invest.mapper.AccountsDealRecordMapper;
+import com.ruoyi.invest.mapper.AccountsMapper;
+import com.ruoyi.invest.mapper.BankCardLendMapper;
+import com.ruoyi.invest.mapper.CreditCardBillMapper;
+import com.ruoyi.job.service.IInvestJobService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 生成数据
+ *
+ * @author tianyongbao
+ * @date 2023-12-11
+ */
+@Service
+public class InvestJobImpl implements IInvestJobService
+{
+ @Resource
+ private BankCardLendMapper bankCardLendMapper;
+ @Resource
+ private AccountsMapper accountsMapper;
+
+ @Resource
+ private AccountsDealRecordMapper accountsDealRecordMapper;
+
+ @Resource
+ private CreditCardBillMapper creditCardBillMapper;
+
+
+ /**
+ * 生成数据
+ *
+ * @author tianyongbao
+ * @date 2023-12-11
+ */
+ @Override
+ public void generateUnpaidCreditBill() {
+ //未出账单生成,定时任务,每3个小时同步计算一次,作为未出账单,根据信用卡基础信息,包括账单日及账单日消费信息,遍历信用卡记录信息表和交易记录表即可
+ BankCardLendDto bankCardLendDto=new BankCardLendDto();
+ bankCardLendDto.setType("2");
+ List bankCardVoList=bankCardLendMapper.selectBankCardLendList(bankCardLendDto);
+ // 获取当前日期
+ Date currentDate = new Date();
+ // 创建SimpleDateFormat实例,指定日期格式
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+ // 格式化日期为字符串
+ String formattedDate = sdf.format(currentDate);
+ // 从格式化后的字符串中提取年份和月份
+ String year = formattedDate.substring(0, 4);
+ String month = formattedDate.substring(5);
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月账单");
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+ Date billDate= new Date();
+ //遍历数据,获取信用卡账单日及数据
+ for (BankCardLendVo bankCard : bankCardVoList) {
+ //0表示当期,1表示下期
+ String isNextBillDate = bankCard.getIsNextBillDate();
+ String billDateStr=year+"-"+month+"-"+String.format("%02d", bankCard.getBillDate());
+ try {
+ billDate=formatter.parse(billDateStr);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+
+ Calendar calendarStart = Calendar.getInstance();
+ calendarStart.setTime(billDate);
+ calendarStart.add(Calendar.MONTH, -1);
+ if(isNextBillDate.equals("0")){
+ calendarStart.add(Calendar.DATE, 1);
+ }
+ Date startDate = calendarStart.getTime();
+ String periodStart = formatter.format(startDate);
+
+ Calendar calendarEnd = Calendar.getInstance();
+ calendarEnd.setTime(billDate);
+ if(isNextBillDate.equals("1")){
+ calendarEnd.add(Calendar.DATE, -1);
+ }
+ Date endDate = calendarEnd.getTime();
+ String periodEnd= formatter.format(endDate);
+
+ double billAmount=0;
+ AccountsDealRecordDto accountsDealRecordDto=new AccountsDealRecordDto();
+ accountsDealRecordDto.setAccountId(bankCard.getId());
+ accountsDealRecordDto.setStartDateTime(startDate);
+ accountsDealRecordDto.setEndDateTime(endDate);
+ //获取所有交易记录
+ List accountsDealRecordVoList=accountsDealRecordMapper.selectAccountsDealRecordList(accountsDealRecordDto);
+ //支出转为负数
+ for (AccountsDealRecordVo vo:accountsDealRecordVoList
+ ) {
+ if(vo.getDealType().equals("2")){
+ vo.setAmount(vo.getAmount()*(-1));
+ }
+ }
+ if(accountsDealRecordVoList.size()>0){
+ billAmount=accountsDealRecordVoList.stream().mapToDouble(AccountsDealRecordVo::getAmount).sum();
+ }
+ CreditCardBillDto creditCardBillDto=new CreditCardBillDto();
+ creditCardBillDto.setCreditCardId(bankCard.getId());
+ 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);
+ //更新未出账单
+ creditCardBillMapper.updateCreditCardBill(creditCardBill);
+ }else {
+
+ 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(SecurityUtils.getUsername());
+ creditCardBill.setCreateTime(DateUtils.getNowDate());
+ creditCardBill.setId(IdWorker.getId());
+ creditCardBill.setCreditCardId(bankCard.getId());
+ creditCardBill.setBillAmount(billAmount);
+ creditCardBill.setBillState("0");
+ //插入未出账单
+ creditCardBillMapper.insertCreditCardBill(creditCardBill);
+ }
+
+ }
+ }
+
+ @Override
+ public void updateUnpaidInstallmentData(){
+ //信用卡分期入账信息自动入账,同时更新信用卡额度相关信息
+ // 获取当前日期
+ Date currentDate = new Date();
+ // 创建SimpleDateFormat实例,指定日期格式
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ // 格式化日期为字符串
+ String formattedDate = sdf.format(currentDate);
+ }
+
+
+}
diff --git a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/AccountsDealRecordMapper.xml b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/AccountsDealRecordMapper.xml
index 7d84f35..53dc414 100644
--- a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/AccountsDealRecordMapper.xml
+++ b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/AccountsDealRecordMapper.xml
@@ -62,6 +62,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and to_char(a.create_time, 'yyyy-MM-dd')>=#{startTime}
+
+ and #{endDateTime}>a.create_time
+
+
+ and a.create_time>=#{startDateTime}
+
+
order by a.create_time desc
diff --git a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/CreditCardBillMapper.xml b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/CreditCardBillMapper.xml
index f6c9502..2280568 100644
--- a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/CreditCardBillMapper.xml
+++ b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/CreditCardBillMapper.xml
@@ -16,6 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -33,6 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.update_by,
a.update_time,
a.del_flag,
+ a.bill_state,
bc."name" as bank_name,
bc.code as bank_code
from
@@ -47,12 +49,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.del_flag='0'
and a.name like '%'|| #{name}||'%'
and a.credit_card_id = #{creditCardId}
+ and a.bill_state = #{billState}
and to_char(a.bill_date, 'yyyy-MM')>=#{startMonth}
and #{endMonth}>=to_char(a.bill_date, 'yyyy-MM')
+
+ and #{billDate}=to_char(a.bill_date, 'yyyy-MM-dd')
+
+
+
order by a.bill_date desc
@@ -76,6 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update_by,
update_time,
del_flag,
+ bill_state,
#{id},
@@ -89,6 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{updateBy},
#{updateTime},
#{delFlag},
+ #{billState},
@@ -105,6 +115,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update_by = #{updateBy},
update_time = #{updateTime},
del_flag = #{delFlag},
+ bill_state = #{billState},
where id = #{id}
diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml
index b5b68c3..fd7dd42 100644
--- a/ruoyi-modules/ruoyi-job/pom.xml
+++ b/ruoyi-modules/ruoyi-job/pom.xml
@@ -54,7 +54,12 @@
springfox-swagger-ui
${swagger.fox.version}
-
+
+ com.ruoyi
+ ruoyi-api-invest
+ 3.6.3
+ compile
+
org.quartz-scheduler
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/InvestJobTask.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/InvestJobTask.java
new file mode 100644
index 0000000..f2d76fe
--- /dev/null
+++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/InvestJobTask.java
@@ -0,0 +1,34 @@
+package com.ruoyi.job.task;
+
+import com.ruoyi.api.invest.RemoteInvestService;
+import com.ruoyi.common.core.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 照明平台定时任务
+ *
+ * @author ruoyi
+ */
+@Component("investJobTask")
+public class InvestJobTask
+{
+ @Autowired
+ private RemoteInvestService remoteInvestService;
+
+ /**生成未出信用卡账单数据*/
+ public void generateUnpaidCreditBillTask(){
+ System.out.println("================================开始生成未出账单数据("+ DateUtils.getTime() +")=================================");
+ remoteInvestService.generateUnpaidCreditBillTask();
+ System.out.println("================================结束生成未出账单据("+ DateUtils.getTime() +")=================================");
+ }
+
+ /**未出信用卡分期账单入账数据*/
+ public void updateUnpaidInstallmentDataTask(){
+ System.out.println("================================开始更新未出信用卡分期账单入账数据("+ DateUtils.getTime() +")=================================");
+ remoteInvestService.updateUnpaidInstallmentDataTask();
+ System.out.println("================================结束更新未出信用卡分期账单入账拟数据("+ DateUtils.getTime() +")=================================");
+ }
+
+
+}