From 58723309804cd6afa11e086ccac5346bcad61c0d Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 08 八月 2025 18:48:42 +0800 Subject: [PATCH] update --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java | 160 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 146 insertions(+), 14 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 c79ba47..68ff4bb 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 @@ -5,8 +5,11 @@ import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.domain.BasePage; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.model.LoginUser; @@ -67,6 +70,9 @@ private TbCompanyTypeService companyTypeService; @Autowired + private TbQichachaService tbQichachaService; + + @Autowired private RedisCache redisCache; @@ -76,6 +82,9 @@ @GetMapping("/getMyPushCompanyList") public R< HashMap<String, Object>> getMyPushCompanyList(MyPushCompanyListQuery query) { LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } Long userId = loginUser.getUserId(); Page<MyPushCompanyListVo> page = tbCompanyService.getMyPushCompanyList(query,userId); HashMap<String, Object> map = new HashMap<>(); @@ -84,10 +93,33 @@ return R.ok(map); } + + @ApiOperation(value = "获取上次发布的信息",tags = {"发布模块"}) + @GetMapping("/getMyPushCompanyLast") + public R<HashMap<String, Object>> getMyPushCompanyLast() { + LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } + Long userId = loginUser.getUserId(); + TbCompany company = tbCompanyService.getOne(new LambdaQueryWrapper<TbCompany>().eq(TbCompany::getUserId,userId).orderByDesc(TbCompany::getCreateTime).last("limit 1")); + HashMap<String, Object> map = new HashMap<>(); + if(company!=null){ + map.put("recipient",company.getRecipient()); + map.put("recipientAddress",company.getRecipientAddress()); + }else { + map.put("recipient",""); + map.put("recipientAddress",""); + } + return R.ok(map); + } + + + @ApiOperation(value = "获取行业信息",tags = {"发布模块"}) @GetMapping("/getIndustryList") public R<List<TbIndustry>> getIndustryList() { - List<TbIndustry> page1 = industryService.list(new LambdaQueryWrapper<TbIndustry>().orderByDesc(TbIndustry::getOrderNum)); + List<TbIndustry> page1 = industryService.list(new LambdaQueryWrapper<TbIndustry>().eq(TbIndustry::getDelFlag,0).orderByDesc(TbIndustry::getOrderNum)); return R.ok(page1); } @@ -104,16 +136,42 @@ List<TbLicence> page1 = licenceService.list(new LambdaQueryWrapper<TbLicence>().eq(TbLicence::getDelFlag,0).orderByDesc(TbLicence::getOrderNum)); return R.ok(page1); } + private static boolean checkName(String name,String sign) { + Object report = getReport(sign); + JSONObject jsonObject = JSONObject.parseObject(report.toString()); + Object data = jsonObject.get("data"); + JSONObject jsonObject1 = JSONObject.parseObject(data.toString()); + String company = jsonObject1.get("company").toString(); + if(name.equals(company)){ + return false; + } + return true; + } + public static void main(String[] args) { + Object report = getReport("ZZE2025070102412440776825"); + System.out.println(report); + } @ApiOperation(value = "立即发布",tags = {"发布模块"}) @PostMapping("/pushCompany") - public R<?> pushCompany(@Valid @RequestBody PushCompanyDto dto) { + public synchronized R<?> pushCompany(@Valid @RequestBody PushCompanyDto dto) { LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } Long userId = loginUser.getUserId(); - long count = tbCompanyService.count(new LambdaQueryWrapper<TbCompany>().eq(TbCompany::getCompanyName, dto.getCompanyName()).ne(TbCompany::getStatus, 3)); + long count = tbCompanyService.count(new LambdaQueryWrapper<TbCompany>().eq(TbCompany::getIsDelete,0).eq(TbCompany::getCompanyName, dto.getCompanyName()).ne(TbCompany::getStatus, 3)); if (count > 0) { 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); } @@ -121,7 +179,7 @@ @ApiOperation(value = "发布前获取公司信息--企查查",tags = {"发布模块"}) @GetMapping("/getCompanyFromQiChaCha") public R<Object> getCompanyFromQiChaCha(@RequestParam String companyName) { - long count = tbCompanyService.count(new LambdaQueryWrapper<TbCompany>().eq(TbCompany::getCompanyName,companyName).ne(TbCompany::getStatus, 3)); + long count = tbCompanyService.count(new LambdaQueryWrapper<TbCompany>().eq(TbCompany::getCompanyName,companyName).eq(TbCompany::getIsDelete,0).ne(TbCompany::getStatus, 3)); if (count > 0) { return R.fail("该公司已发布"); } @@ -130,6 +188,9 @@ return R.ok(cacheObject); } Object qiChaChaToken = QiChaChaUtil.getQiChaChaCompanyInfo(companyName); + TbQichacha tbQichacha = new TbQichacha(); + tbQichacha.setType(1); + tbQichachaService.save(tbQichacha); if(qiChaChaToken==null){ return R.fail("查询公司信息失败请联系客服"); } @@ -143,6 +204,9 @@ @PostMapping("/editCompany") public R<?> editCompany(@Valid @RequestBody EditCompanyDto dto) { LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } Long userId = loginUser.getUserId(); TbCompany company = tbCompanyService.getById(dto.getId()); @@ -150,7 +214,7 @@ return R.fail("非法操作"); } - long count1 = tbCompanyService.count(new LambdaQueryWrapper<TbCompany>().eq(TbCompany::getCompanyName, dto.getCompanyName()).ne(TbCompany::getId,dto.getId()).ne(TbCompany::getStatus, 3)); + long count1 = tbCompanyService.count(new LambdaQueryWrapper<TbCompany>().eq(TbCompany::getCompanyName, dto.getCompanyName()).eq(TbCompany::getIsDelete,0).ne(TbCompany::getId,dto.getId()).ne(TbCompany::getStatus, 3)); if (count1 > 0) { return R.fail("该公司已发布"); } @@ -159,7 +223,13 @@ if (count > 0) { 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()); } @@ -169,6 +239,9 @@ @PostMapping("/companyUpdateStatus") public R<?> companyUpdateStatus(@Valid @RequestBody CompanyUpdateStatusDto dto) { LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } Long userId = loginUser.getUserId(); TbCompany company = tbCompanyService.getById(dto.getId()); if (company == null || !company.getUserId().equals(userId.toString())) { @@ -181,6 +254,9 @@ if(dto.getStatus()<1 || dto.getStatus()>2){ return R.fail("状态错误"); } + if(dto.getStatus()==2){ + orderService.update(new LambdaUpdateWrapper<TbOrder>().eq(TbOrder::getCompanyId,dto.getId()).set(TbOrder::getStatus,-1)); + } company.setStatus(dto.getStatus()); tbCompanyService.updateById(company); return R.ok(); @@ -191,6 +267,9 @@ @DeleteMapping("/delete/{id}") public R<?> delete(@PathVariable("id")String id) { LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } Long userId = loginUser.getUserId(); TbCompany company = tbCompanyService.getById(id); if (company == null || !company.getUserId().equals(userId.toString())) { @@ -214,6 +293,9 @@ return R.fail("参数错误"); } LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } Long userId = loginUser.getUserId(); TbOrder order = orderService.getById(orderId); if(order==null){ @@ -241,6 +323,9 @@ return R.fail("参数错误"); } LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } Long userId = loginUser.getUserId(); TbOrder order = orderService.getById(orderId); if(order==null){ @@ -254,14 +339,15 @@ if(order.getStatus()!=3){ return R.fail("该订单状态不需要确认"); } - order.setStatus(3); + order.setStatus(-1); + order.setCancelType(1); order.updateById(); company.setStatus(1); company.updateById(); - messageService.addMessage("您有订单被取消", order.getUserId(),order.getId()); + messageService.addMessage("您有订单被取消", order.getUserId(),order.getId(),2); return R.ok(); } @@ -269,6 +355,9 @@ @PostMapping("/addSchedule") public R<?> addSchedule(@RequestBody @Valid AddScheduleDto dto) { LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } Long userId = loginUser.getUserId(); TbOrder order = orderService.getById(dto.getOrderId()); if(order==null){ @@ -280,7 +369,7 @@ } scheduleService.addSchedule(dto,userId); - messageService.addMessage("您的订单有新的进度提醒", order.getUserId(),order.getId()); + messageService.addMessage("您的订单有新的进度提醒", order.getUserId(),order.getId(),2); return R.ok(); } @@ -298,6 +387,7 @@ return jsonObject; } + @ApiOperation(value = "已完成",tags = {"发布模块"}) @PostMapping("/saleSuccessOrder") public R<?> saleSuccessOrder(String orderId) { @@ -305,6 +395,9 @@ return R.fail("参数错误"); } LoginUser loginUser = tokenService.getLoginUser(); + if(loginUser==null){ + return R.fail(HttpStatus.UNAUTHORIZED,"请重新登录"); + } Long userId = loginUser.getUserId(); TbOrder order = orderService.getById(orderId); if(order==null){ @@ -321,7 +414,7 @@ order.setSellerFinishTime(new Date()); order.updateById(); - messageService.addMessage("您有订单卖家已完成,等待确认", order.getUserId(),orderId); + messageService.addMessage("您有订单卖家已完成,等待确认", order.getUserId(),orderId,2); return R.ok(); } @@ -332,10 +425,13 @@ if(StringUtils.isEmpty(companyId)){ return R.fail("参数错误"); } - LoginUser loginUser = tokenService.getLoginUser(); - Long userId = loginUser.getUserId(); - CompanyDetailVo companyDetailVo = tbCompanyService.companyDetail(companyId,userId); + CompanyDetailVo companyDetailVo = tbCompanyService.companyDetail(companyId,null); Object qiChaChaCompanyExceptionCheck = QiChaChaUtil.getQiChaChaCompanyExceptionCheck(companyDetailVo.getCompanyName()); + if(qiChaChaCompanyExceptionCheck!=null && qiChaChaCompanyExceptionCheck.toString().contains("query_type")){ + TbQichacha tbQichacha = new TbQichacha(); + tbQichacha.setType(2); + tbQichacha.insert(); + } companyDetailVo.setCompanyExceptionInfo(qiChaChaCompanyExceptionCheck); companyDetailVo.setEstablishTime(companyDetailVo.getEstablishTime().substring(0,10)); return R.ok(companyDetailVo); @@ -346,6 +442,11 @@ @GetMapping("/qiChaChaCompanyExceptionCheck") public R<Object> qiChaChaCompanyExceptionCheck(@RequestParam String companyName) { Object qiChaChaCompanyExceptionCheck = QiChaChaUtil.getQiChaChaCompanyExceptionCheck(companyName); + if(qiChaChaCompanyExceptionCheck!=null && qiChaChaCompanyExceptionCheck.toString().contains("query_type")){ + TbQichacha tbQichacha = new TbQichacha(); + tbQichacha.setType(2); + tbQichacha.insert(); + } return R.ok(qiChaChaCompanyExceptionCheck); } @@ -357,12 +458,43 @@ } TbCompany company = tbCompanyService.getById(companyId); String link = company.getLink(); - String sign = link.split("=")[1]; + String[] split = link.split("="); + String sign =split [split.length-1]; Object report = getReport(sign); return R.ok(report); } + /** + * 从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