From 8d4c53fbab391de06701bcc38da6b1e6dc5e9bd7 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期三, 03 九月 2025 11:55:03 +0800 Subject: [PATCH] update --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java | 92 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 74 insertions(+), 18 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java index edeb7f5..4e08aa9 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java @@ -15,8 +15,10 @@ import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.utils.AliSmsUtil; import com.ruoyi.common.utils.QiChaChaUtil; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.VoiceNotifyMain; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.AddScheduleDto; import com.ruoyi.system.dto.CompanyUpdateStatusDto; @@ -71,6 +73,9 @@ @Autowired private TbQichachaService tbQichachaService; + + @Autowired + private TbUserService userService; @Autowired private RedisCache redisCache; @@ -149,7 +154,7 @@ } public static void main(String[] args) { - Object report = getReport("ZZD20250321019744801521301"); + Object report = getReport("ZZE2025070102412440776825"); System.out.println(report); } @ApiOperation(value = "立即发布",tags = {"发布模块"}) @@ -165,14 +170,17 @@ return R.fail("该公司已发布"); } // 判断水母报告和 公司名称是否一致 - String link = dto.getLink(); - String[] split = link.split("="); - String sign =split [split.length-1]; - boolean b = checkName(dto.getCompanyName(), sign); - if(b){ - return R.fail("水母报告和公司名称不一致"); + if(dto.getTaxpayerType()!=3){ + if(dto.getLink()==null){ + return R.fail("请上传水母报告"); + } + String link = dto.getLink(); + String sign = extractSnFromUrl(link); + boolean b = checkName(dto.getCompanyName(), sign); + if(b){ + return R.fail("水母报告和公司名称不一致"); + } } - String companyId = tbCompanyService.pushCompany(dto, userId); return R.ok(companyId); } @@ -225,12 +233,16 @@ return R.fail("订单状态不能修改"); } // 判断水母报告和 公司名称是否一致 - String link = dto.getLink(); - String[] split = link.split("="); - String sign =split [split.length-1]; - boolean b = checkName(dto.getCompanyName(), sign); - if(b){ - return R.fail("水母报告和公司名称不一致"); + if(dto.getTaxpayerType()!=3){ + if(dto.getLink()==null){ + return R.fail("请上传水母报告"); + } + String link = dto.getLink(); + String sign = extractSnFromUrl(link); + boolean b = checkName(dto.getCompanyName(), sign); + if(b){ + return R.fail("水母报告和公司名称不一致"); + } } tbCompanyService.editCompany(dto,company,userId); return R.ok(dto.getId()); @@ -313,6 +325,14 @@ order.setStatus(3); order.setConfirmTime(new Date()); order.updateById(); + TbUser user = userService.getById(order.getUserId()); + AliSmsUtil.sendGoPayMessageBuyer(user.getPhone()); + messageService.addMessage("您的订单已确认,请尽快支付。", order.getUserId(), order.getId(),2); + try { + VoiceNotifyMain.call1(user.getPhone()); + }catch (Exception e){ + e.printStackTrace(); + } return R.ok(); } @@ -389,6 +409,7 @@ return jsonObject; } + @ApiOperation(value = "已完成",tags = {"发布模块"}) @PostMapping("/saleSuccessOrder") public R<?> saleSuccessOrder(String orderId) { @@ -458,14 +479,49 @@ return R.fail("参数错误"); } TbCompany company = tbCompanyService.getById(companyId); + String link = company.getLink(); - String[] split = link.split("="); - String sign =split [split.length-1]; - Object report = getReport(sign); - return R.ok(report); + if(link!=null){ + String sign = extractSnFromUrl(link); + Object report = getReport(sign); + return R.ok(report); + }else { + return R.ok(new Object()); + } + } + /** + * 从URL中提取sn参数 + * @param url 包含sn参数的URL + * @return sn参数值 + */ + public static String extractSnFromUrl(String url) { + if (url == null || url.isEmpty()) { + return null; + } + + // 查找sn参数的位置 + String snParam = "sn="; + int startIndex = url.indexOf(snParam); + + if (startIndex == -1) { + return null; // 未找到sn参数 + } + + // 计算sn值的起始位置 + startIndex += snParam.length(); + + // 查找sn值的结束位置(遇到&或字符串结束) + int endIndex = url.indexOf("&", startIndex); + if (endIndex == -1) { + endIndex = url.length(); + } + + // 提取并返回sn值 + return url.substring(startIndex, endIndex); + } -- Gitblit v1.7.1