From f0181cd4f035e8317d6f70b74192dcafd28f79fe Mon Sep 17 00:00:00 2001 From: yupeng <roc__yu@163.com> Date: 星期五, 07 二月 2025 10:59:30 +0800 Subject: [PATCH] 新增支付订单、定时任务 --- ruoyi-admin/src/main/resources/application-test.yml | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BankOutController.java | 5 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java | 8 + ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java | 135 +++++++++++++++++++++++++++++++++ bankapi/src/main/java/com/taxi591/bankapi/service/BankService.java | 1 ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java | 4 + ruoyi-applet/pom.xml | 6 + ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java | 5 + ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 6 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java | 18 ++++ ruoyi-admin/src/main/resources/application-prod.yml | 2 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java | 25 ++++++ ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java | 11 ++ 13 files changed, 219 insertions(+), 9 deletions(-) diff --git a/bankapi/src/main/java/com/taxi591/bankapi/service/BankService.java b/bankapi/src/main/java/com/taxi591/bankapi/service/BankService.java index 39adb3b..657cfc2 100644 --- a/bankapi/src/main/java/com/taxi591/bankapi/service/BankService.java +++ b/bankapi/src/main/java/com/taxi591/bankapi/service/BankService.java @@ -97,6 +97,7 @@ result.setResult(chargeBillRequest); result.setBack(createResponse(chargeBillRequest,dealBack)); }catch (ServiceException e){ + result.setBack(e.getMessage()); throw e; }catch (Exception e){ log.error("解析异常:{}",requestContent,e); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BankOutController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BankOutController.java index 2fa8329..8aa5914 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BankOutController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BankOutController.java @@ -11,14 +11,17 @@ import javax.servlet.http.HttpServletRequest; @RestController -@RequestMapping("out/bank") +@RequestMapping("open/bank") public class BankOutController { @Autowired BankService bankService; + + @PostMapping(value = "payCallback") public @ResponseBody String payCallback(HttpServletRequest request){ CovertPayBackResult result = bankService.covertPayCallBack(request, (billRequest) -> { + return true; }); return result.getBack(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java index dba1a39..5b6b535 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java @@ -1,6 +1,14 @@ package com.ruoyi.web.controller.api; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.system.model.TBill; +import com.ruoyi.system.query.TBillQuery; +import com.ruoyi.system.service.TBillService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -16,5 +24,15 @@ @RequestMapping("/t-bill") public class TBillController { + @Autowired + TBillService tBillService; + + @PostMapping("list") + public R<PageInfo<TBill>> list(@RequestBody TBillQuery query){ + PageInfo<TBill> pageInfo = tBillService.queryPage(query); + return R.ok(pageInfo); + } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java b/ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java new file mode 100644 index 0000000..bfb5688 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java @@ -0,0 +1,135 @@ +package com.ruoyi.web.task; + +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.system.model.TBill; +import com.ruoyi.system.model.TContract; +import com.ruoyi.system.query.TBillQuery; +import com.ruoyi.system.query.TContractQuery; +import com.ruoyi.system.service.TBillService; +import com.ruoyi.system.service.TContractService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Calendar; +import java.util.Collections; +import java.util.Date; + +@Slf4j +@Component("billTask") +public class TbillTask { + + @Autowired + TBillService tBillService; + + @Autowired + TContractService tContractService; + + public void generateBill(){ + try { + int index = 1; + int rows = 20; + long pages = 0; + TContractQuery query = new TContractQuery(); + query.setPageSize(rows); + query.setStatus(4); + Calendar c = Calendar.getInstance(); + Date time = c.getTime(); + do { + query.setPageNum(index); + PageInfo<TContract> pageinfo = tContractService.contractList(query); + if (pages==0){ + pages = pageinfo.getPages(); + } + if (pageinfo.getRecords()!=null && pageinfo.getRecords().size()>0){ + pageinfo.getRecords().forEach(tContract -> { + + //todo 生成账单 + + }); + + } + index++; + }while (index<=pages); + }catch (Exception e){ + log.error(""); + } + + } + + /** + * 判断账单是否到期 + */ + public void checkBillOverdue(){ + try { + int index = 1; + int rows = 20; + long pages = 0; + TBillQuery query = new TBillQuery(); + query.setPageSize(rows); + //查询未缴费的 + query.setPayFeesStatus(1); + Calendar c = Calendar.getInstance(); + Date time = c.getTime(); + do { + query.setPageNum(index); + PageInfo<TBill> pageinfo = tBillService.queryPage(query); + if (pages==0){ + pages = pageinfo.getPages(); + } + if (pageinfo.getRecords()!=null && pageinfo.getRecords().size()>0){ + pageinfo.getRecords().forEach(tBill -> { + + //todo 生成账单 + + }); + + } + index++; + }while (index<=pages); + }catch (Exception e){ + log.error(""); + } + + } + + + /** + * 计算违约金 + */ + public void caculatePenaltyFee(){ + try { + int index = 1; + int rows = 20; + long pages = 0; + TBillQuery query = new TBillQuery(); + query.setPageSize(rows); + //查询已逾期的 + query.setPayFeesStatus(4); + Calendar c = Calendar.getInstance(); + Date time = c.getTime(); + do { + query.setPageNum(index); + PageInfo<TContract> pageinfo = tContractService.contractList(query); + if (pages==0){ + pages = pageinfo.getPages(); + } + if (pageinfo.getRecords()!=null && pageinfo.getRecords().size()>0){ + pageinfo.getRecords().forEach(tContract -> { + + //todo 生成账单 + + }); + + } + index++; + }while (index<=pages); + }catch (Exception e){ + log.error(""); + } + + } + + + +} diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index 027c4d6..caf8b52 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -21,7 +21,7 @@ port: 8081 servlet: # 应用的访问路径 - context-path: / + context-path: /admin tomcat: # tomcat的URI编码 uri-encoding: UTF-8 diff --git a/ruoyi-admin/src/main/resources/application-test.yml b/ruoyi-admin/src/main/resources/application-test.yml index 4ca4b21..e30bce7 100644 --- a/ruoyi-admin/src/main/resources/application-test.yml +++ b/ruoyi-admin/src/main/resources/application-test.yml @@ -21,7 +21,7 @@ port: 8081 servlet: # 应用的访问路径 - context-path: / + context-path: /admin tomcat: # tomcat的URI编码 uri-encoding: UTF-8 diff --git a/ruoyi-applet/pom.xml b/ruoyi-applet/pom.xml index 6c75435..f18e8ca 100644 --- a/ruoyi-applet/pom.xml +++ b/ruoyi-applet/pom.xml @@ -16,7 +16,11 @@ </description> <dependencies> - + <dependency> + <groupId>org.taxi591</groupId> + <artifactId>bankapi</artifactId> + <version>1.0.0-SNAPSHOT</version> + </dependency> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java new file mode 100644 index 0000000..cfd55df --- /dev/null +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java @@ -0,0 +1,25 @@ +package com.ruoyi.web.controller.api; + +import com.ruoyi.common.core.domain.AjaxResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/t-pay") +public class PayController { + + + + + + @PostMapping("makeOrder") + public AjaxResult makeOrder(){ + + return null; + } + + + + +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 972e404..1a4e0fa 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -111,8 +111,15 @@ // 过滤请求 .authorizeRequests() // 对于登录login 注册register 验证码captchaImage 允许匿名访问 - .antMatchers("/getPrivacyAgreement/{agreementType}","/applet/queryProtocolConfigByType","/applet/login","/login","/applet/queryProtocolConfigByType", "/register","/applet/getCode","/applet/loginCode","/applet/changepwd", "/captchaImage","/getCode","/loginCode","/operations/getBySingleNum/**", - "/user/getUserInfoByNumber/**").permitAll() + .antMatchers("/getPrivacyAgreement/{agreementType}", + "/applet/queryProtocolConfigByType","/applet/login", + "/login","/applet/queryProtocolConfigByType", + "/register","/applet/getCode","/applet/loginCode", + "/applet/changepwd", "/captchaImage","/getCode","/loginCode", + "/operations/getBySingleNum/**", + "/user/getUserInfoByNumber/**", + "/open/**" + ).permitAll() // 静态资源,可匿名访问 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers("/swagger-ui.html","/doc.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java index 853243b..b03ebb3 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -25,4 +25,10 @@ { System.out.println("执行无参方法"); } + + + + + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java index 56fb75f..9cfb8cb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java @@ -5,7 +5,10 @@ @Data public class TBillQuery extends BasePage { - + /** + * 缴费状态 1=未缴费 2=待确认 3=已缴费 4=已逾期 + */ + private Integer payFeesStatus; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java index cdf84dd..9dbe020 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java @@ -1,7 +1,9 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TBill; +import com.ruoyi.system.query.TBillQuery; /** * <p> @@ -13,4 +15,6 @@ */ public interface TBillService extends IService<TBill> { + PageInfo<TBill> queryPage(TBillQuery query); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java index 0418f45..e30ccf0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.system.mapper.TBillMapper; @@ -25,8 +26,11 @@ @Autowired RedisCache redisCache; - public AjaxResult queryPage(TBillQuery query){ - return AjaxResult.success(); + @Autowired + TBillMapper tBillMapper; + + public PageInfo<TBill> queryPage(TBillQuery query){ + return null; } -- Gitblit v1.7.1