Browse Source

余额告警

MSY 3 years ago
parent
commit
ce7c950ab0

+ 70 - 0
src/main/java/com/jkcredit/invoice/controller/localBussiness/CustomerController.java

@@ -1,14 +1,18 @@
 package com.jkcredit.invoice.controller.localBussiness;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jkcredit.invoice.annotation.LoginRequired;
 import com.jkcredit.invoice.model.entity.customer.Customer;
 import com.jkcredit.invoice.model.entity.CustomerRecharge;
 import com.jkcredit.invoice.model.entity.customer.CustomerRec;
+import com.jkcredit.invoice.model.entity.manager.Param;
 import com.jkcredit.invoice.service.customer.CustomerRecService;
 import com.jkcredit.invoice.service.customer.CustomerRechargeService;
 import com.jkcredit.invoice.service.customer.CustomerService;
 import com.jkcredit.invoice.service.lowerService.CustomeLowerService;
+import com.jkcredit.invoice.service.manager.ParamService;
+import com.jkcredit.invoice.util.DateUtil;
 import com.jkcredit.invoice.util.RespR;
 import com.jkcredit.invoice.util.WordUtil;
 import io.swagger.annotations.Api;
@@ -19,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
+import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.util.*;
 
@@ -39,6 +44,10 @@ public class CustomerController {
 
     @Autowired
     CustomerRecService customerRecService;
+
+
+    @Autowired
+    private ParamService paramService;
     /**
      * 分页查询客户
      *
@@ -209,4 +218,65 @@ public class CustomerController {
         return new RespR(false);
     }
 
+
+
+
+    /**
+     * 分页查询客户备案预警信息
+     *
+     * @param page    参数集
+     * @return 用户集合
+     */
+    @PostMapping("/findCustomerRecTimeList")
+    @ApiOperation(value="客户备案预警查询", notes="客户备案预警查询")
+    @LoginRequired
+    public RespR findCustomerRecTimeList(Page page, CustomerRec customerRec) {
+
+        Param param = paramService.getParamsByParamName("CUST_EARLY_WARNING");
+        IPage ipage = customerRecService.findAllCustomerRec(page, customerRec);
+        List<CustomerRec> lists = ipage.getRecords();
+        if(lists.size()>0){
+        //遍历删除
+        Iterator<CustomerRec> iterator = lists.iterator();
+        while (iterator.hasNext()) {
+            CustomerRec customerRec1 = iterator.next();
+            if (Integer.valueOf(param.getParamValue()) <= (DateUtil.daysBetween(customerRec1.getServiceEndTime(),new Date()))) {
+                iterator.remove();//使用迭代器的删除方法删除
+            }
+          }
+        }
+        ipage.setTotal(lists.size());
+        return new RespR(ipage);
+    }
+
+
+
+
+
+    /**
+     * 分页查询余额告警用户
+     *
+     * @param page    参数集
+     * @return 用户集合
+     */
+    @PostMapping("/findCustomerMoney")
+    @ApiOperation(value="分页查询余额告警用户", notes="分页查询余额告警用户")
+    @LoginRequired
+    public RespR getCustomerMoneysByPage(Page page, Customer customer) {
+        Param param = paramService.getParamsByParamName("CUST_MONEY_WARNING");
+        IPage ipage = customerService.findAllCustomers(page, customer);
+        List<Customer> lists = ipage.getRecords();
+        if(lists.size()>0){
+            //遍历删除
+            Iterator<Customer> iterator = lists.iterator();
+            while (iterator.hasNext()) {
+                Customer customer1 = iterator.next();
+                if (new BigDecimal(Double.valueOf(param.getParamValue())).compareTo(new BigDecimal(customer1.getAccountBalance())) < 0) {
+                    iterator.remove();//使用迭代器的删除方法删除
+                }
+            }
+        }
+        ipage.setTotal(lists.size());
+        return new RespR(ipage);
+    }
 }

+ 34 - 0
src/main/java/com/jkcredit/invoice/util/DateUtil.java

@@ -190,6 +190,40 @@ public class DateUtil {
         //正数表示在当前时间之后,负数表示在当前时间之前
         return days;
     }
+
+    /**
+     * 计算两个日期之间相差的天数
+     * @param smdate 较小的时间
+     * @param bdate  较大的时间
+     * @return 相差天数
+     * @throws ParseException
+     */
+    public static int daysBetween(String smdate,Date bdate)
+    {
+
+        long between_days = 0L;
+        try {
+            DateTimeFormatter format = DateTimeFormat .forPattern("yyyy-MM-dd HH:mm:ss");
+            DateTime dateTime = DateTime.parse(smdate, format);
+
+            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date smdate1= dateTime.toDate();
+            bdate=sdf.parse(sdf.format(bdate));
+            Calendar cal = Calendar.getInstance();
+            cal.setTime(smdate1);
+            long time1 = cal.getTimeInMillis();
+            cal.setTime(bdate);
+            long time2 = cal.getTimeInMillis();
+            between_days=(time1-time2)/(1000*3600*24);
+        }  catch (Exception e) {
+        e.printStackTrace();
+    }
+
+
+        return Integer.parseInt(String.valueOf(between_days));
+    }
+
+
     /**
      * 判断给定时间与当前时间相差多少天
      * @param