package com.zhongzheng.controller.common; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.zhongzheng.common.annotation.Log; import com.zhongzheng.common.config.RuoYiConfig; import com.zhongzheng.common.constant.Constants; import com.zhongzheng.common.core.controller.BaseController; import com.zhongzheng.common.core.domain.AjaxResult; import com.zhongzheng.common.core.page.TableDataInfo; import com.zhongzheng.common.enums.BusinessType; import com.zhongzheng.common.exception.CustomException; import com.zhongzheng.common.type.EncryptHandler; import com.zhongzheng.common.utils.DateUtils; import com.zhongzheng.common.utils.ServletUtils; import com.zhongzheng.common.utils.ToolsUtils; import com.zhongzheng.common.utils.file.FileUploadUtils; import com.zhongzheng.common.utils.file.FileUtils; import com.zhongzheng.common.utils.poi.EasyPoiUtil; import com.zhongzheng.common.utils.poi.ExcelUtil; import com.zhongzheng.framework.config.ServerConfig; import com.zhongzheng.framework.web.service.WxLoginService; import com.zhongzheng.modules.activity.vo.ActivityGoodsPriceVo; import com.zhongzheng.modules.alioss.bo.OssRequest; import com.zhongzheng.modules.alioss.service.OssService; import com.zhongzheng.modules.bank.bo.QuestionQueryBo; import com.zhongzheng.modules.bank.service.IExamService; import com.zhongzheng.modules.bank.service.IQuestionOtherService; import com.zhongzheng.modules.bank.service.IQuestionService; import com.zhongzheng.modules.bank.vo.QuestionVo; import com.zhongzheng.modules.base.bo.ConfigQueryBo; import com.zhongzheng.modules.base.service.ICertificateTpService; import com.zhongzheng.modules.course.bo.ExternalQuestionBo; import com.zhongzheng.modules.course.bo.ReplenishExamBo; import com.zhongzheng.modules.course.domain.Major; import com.zhongzheng.modules.course.service.IMajorService; import com.zhongzheng.modules.course.vo.CourseChapterVo; import com.zhongzheng.modules.course.vo.ExternalQuestionVo; import com.zhongzheng.modules.course.vo.ReplenishExamVo; import com.zhongzheng.modules.distribution.bo.DistributionActivityGoodsQueryBo; import com.zhongzheng.modules.distribution.bo.DistributionCashWithdrawalPayBo; import com.zhongzheng.modules.distribution.service.IDistributionActivityGoodsService; import com.zhongzheng.modules.distribution.service.IDistributionCashWithdrawalService; import com.zhongzheng.modules.distribution.service.IDistributionSellerService; import com.zhongzheng.modules.distribution.vo.DistributionSellerVo; import com.zhongzheng.modules.exam.bo.*; import com.zhongzheng.modules.exam.service.IExamApplyService; import com.zhongzheng.modules.exam.vo.ExamApplyDetailVo; import com.zhongzheng.modules.goods.bo.*; import com.zhongzheng.modules.goods.service.IGoodsService; import com.zhongzheng.modules.goods.vo.*; import com.zhongzheng.modules.grade.bo.*; import com.zhongzheng.modules.grade.mapper.ClassGradeUserMapper; import com.zhongzheng.modules.grade.service.IClassGradeService; import com.zhongzheng.modules.grade.service.IClassGradeUserService; import com.zhongzheng.modules.grade.service.IUserPeriodService; import com.zhongzheng.modules.grade.vo.ClassBusinessVo; import com.zhongzheng.modules.grade.vo.ClassGradeUserVo; import com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo; import com.zhongzheng.modules.grade.vo.SyncGoodsExport; import com.zhongzheng.modules.order.bo.CommonGradeBo; import com.zhongzheng.modules.order.bo.CommonOrderBo; import com.zhongzheng.modules.order.bo.TopOldOrderRefundBo; import com.zhongzheng.modules.order.domain.Order; import com.zhongzheng.modules.order.domain.OrderGoods; import com.zhongzheng.modules.order.service.IOrderGoodsRefundService; import com.zhongzheng.modules.order.service.IOrderGoodsService; import com.zhongzheng.modules.order.service.IOrderService; import com.zhongzheng.modules.order.vo.CommonGradeVo; import com.zhongzheng.modules.order.vo.OrderGoodsVo; import com.zhongzheng.modules.sdk.service.IZsBankService; import com.zhongzheng.modules.system.bo.SysTenantAdminBo; import com.zhongzheng.modules.system.bo.SysTenantAdminOldBo; import com.zhongzheng.modules.system.bo.SysTenantQueryBo; import com.zhongzheng.modules.system.domain.SysTenant; import com.zhongzheng.modules.system.service.ISysConfigService; import com.zhongzheng.modules.system.service.ISysTenantService; import com.zhongzheng.modules.system.service.ISysWebService; import com.zhongzheng.modules.system.vo.SysTenantVo; import com.zhongzheng.modules.tencentcloud.bo.FaceQueryBo; import com.zhongzheng.modules.tencentcloud.service.IFaceOcrService; import com.zhongzheng.modules.tencentcloud.service.IVodService; import com.zhongzheng.modules.top.order.bo.TopOldOrderCustomerBo; import com.zhongzheng.modules.top.user.bo.TopSysTenantRegisterAddBo; import com.zhongzheng.modules.top.user.service.ITopSysTenantRegisterService; import com.zhongzheng.modules.user.bo.UserBusinessGoodsBo; import com.zhongzheng.modules.user.service.IUserService; import com.zhongzheng.modules.user.service.IUserSubscribeService; import com.zhongzheng.modules.user.vo.UserBusinessGoodsVo; import com.zhongzheng.modules.user.vo.UserStudyExportVo; import com.zhongzheng.modules.user.vo.UserStudyTimeVo; import com.zhongzheng.modules.wx.bo.WxShareGoodsBo; import com.zhongzheng.modules.wx.service.IWxPayService; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; /** * 通用请求处理 * * @author zhongzheng */ @RestController public class CommonController extends BaseController { private static final Logger log = LoggerFactory.getLogger(CommonController.class); @Autowired private ServerConfig serverConfig; @Autowired private IGoodsService iGoodsService; @Autowired private IUserPeriodService iUserPeriodService; @Autowired private IOrderService iOrderService; @Autowired private WxLoginService wxLoginService; @Autowired private IOrderGoodsService iOrderGoodsService; @Autowired private IWxPayService iWxPayService; @Autowired private IClassGradeService iClassGradeService; @Autowired private ISysTenantService iSysTenantService; @Autowired private IUserService iUserService; @Autowired private ITopSysTenantRegisterService iTopSysTenantRegisterService; @Autowired private ISysWebService webService; @Autowired private ISysConfigService configService; @Autowired private IDistributionCashWithdrawalService iDistributionCashWithdrawalService; @Autowired private IDistributionSellerService iDistributionSellerService; @Autowired private IDistributionActivityGoodsService iDistributionActivityGoodsService; @Autowired private IOrderGoodsRefundService iOrderGoodsRefundService; @Autowired private IExamApplyService iExamApplyService; @Autowired private IUserSubscribeService iUserSubscribeService; @Autowired private IClassGradeUserService iClassGradeUserService; @Autowired private IQuestionService iQuestionService; @Autowired private ICertificateTpService iCertificateTpService; @Autowired private ClassGradeUserMapper classGradeUserMapper; @Autowired private IVodService iVodService; @Autowired private IMajorService iMajorService; @Autowired private IFaceOcrService iFaceService; /** * 通用下载请求 * * @param fileName 文件名称 * @param delete 是否删除 */ @GetMapping("common/download") public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) { try { if (!FileUtils.checkAllowDownload(fileName)) { throw new Exception(StrUtil.format("文件名称({})非法,不允许下载。 ", fileName)); } String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1); String filePath = RuoYiConfig.getDownloadPath() + fileName; response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); FileUtils.setAttachmentResponseHeader(response, realFileName); FileUtils.writeBytes(filePath, response.getOutputStream()); if (delete) { FileUtils.deleteFile(filePath); } } catch (Exception e) { log.error("下载文件失败", e); } } /** * 通用上传请求 */ @PostMapping("/common/upload") public AjaxResult uploadFile(MultipartFile file) throws Exception { try { // 上传文件路径 String filePath = RuoYiConfig.getUploadPath(); // 上传并返回新文件名称 String fileName = FileUploadUtils.upload(filePath, file); String url = serverConfig.getUrl() + fileName; AjaxResult ajax = AjaxResult.success(); ajax.put("fileName", fileName); ajax.put("url", url); return ajax; } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } /** * 本地资源通用下载 */ @GetMapping("/common/download/resource") public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response) throws Exception { try { if (!FileUtils.checkAllowDownload(resource)) { throw new Exception(StrUtil.format("资源文件({})非法,不允许下载。 ", resource)); } // 本地资源路径 String localPath = RuoYiConfig.getProfile(); // 数据库资源地址 String downloadPath = localPath + StrUtil.subAfter(resource, Constants.RESOURCE_PREFIX, false); // 下载名称 String downloadName = StrUtil.subAfter(downloadPath, "/", true); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); FileUtils.setAttachmentResponseHeader(response, downloadName); FileUtils.writeBytes(downloadPath, response.getOutputStream()); } catch (Exception e) { log.error("下载文件失败", e); } } @ApiOperation("获取继教二建的商品结构列表") @GetMapping("common/jzs/goodsList") public AjaxResult goodsList() { GoodsQueryBo queryBo = new GoodsQueryBo(); List goodsJzsVoList = iGoodsService.selectRjJzsList(queryBo); ExcelUtil util = new ExcelUtil(SyncGoodsExport.class); // ExcelUtil util = new ExcelUtil<>(SyncGoodsExport.class); return util.exportEasyExcel(util.exportEasyData(goodsJzsVoList), "继建商品"); } @ApiOperation("测试列表") @PostMapping("common/jzs/test") public AjaxResult testList(@RequestBody UserPeriodEditBo bo) { UserPeriodEditBo queryBo = new UserPeriodEditBo(); queryBo.setGoodsId(1085L); queryBo.setGradeId(978L); queryBo.setUserId(114L); iUserPeriodService.syncStudyLogToOld(bo); return AjaxResult.success(); } @ApiOperation("旧系统打回重审") @PostMapping("common/rollback/period") public AjaxResult rollbackPeriod(@RequestBody RollBackPeriodBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } UserPeriodEditBo queryBo = new UserPeriodEditBo(); queryBo.setRollBackPlat(2); queryBo.setOrderGoodsId(bo.getOrderGoodsId()); queryBo.setAuditUserName("旧系统操作"); iUserPeriodService.confirmRollbackPeriod(queryBo); return AjaxResult.success(); } @ApiOperation("旧系统获取用户商品信息") @PostMapping("common/get/goods") public AjaxResult getUserGoodsList(@RequestBody UserGoodsListBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } List voList = iGoodsService.getUserGoodsList(bo); return AjaxResult.success(voList); } @ApiOperation("旧系统获取用户订单商品信息") @PostMapping("common/get/orderGoods") public AjaxResult getUserOrderGoods(@RequestBody UserGoodsListBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } UserNewGoodsVo goodsVo = iGoodsService.getUserOrderGoods(bo); return AjaxResult.success(goodsVo); } @ApiOperation("校验用户是否有账号") @PostMapping("common/check/account") public AjaxResult checkUserAccount(@RequestBody UserGoodsListBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } Map url = iGoodsService.checkUserAccount(bo); return AjaxResult.success(url); } @ApiOperation("创建用户账号") @PostMapping("common/create/account") public AjaxResult createUserAccount(@RequestBody UserAccountBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } String url = iGoodsService.createUserAccount(bo); return AjaxResult.success(url); } @ApiOperation("七大员学员资料批量变更") @PostMapping("common/apply/user/profile") public AjaxResult updateExamUserProfile(MultipartFile file) { iExamApplyService.updateExamUserProfile(file); return AjaxResult.success(); } @ApiOperation("七大员新考结果") @PostMapping("common/apply/result/receipt") public AjaxResult examApplyResultReceipt(List files) { files.forEach(item -> { try { ExcelUtil util = new ExcelUtil(ExamApplyResultExportBo.class); //测试时间 String time = util.examApplyTimeAnalysis(item.getInputStream(), 1); //成绩数据 List exportBo = util.examApplyImportExcel("", item.getInputStream()); iExamApplyService.examApplyResultReceipt(exportBo,time); } catch (Exception e) { e.printStackTrace(); } }); return AjaxResult.success("操作成功",null); } @ApiOperation("七大员新考证书") @PostMapping("common/apply/result/certificate") public AjaxResult examApplyResultCertificate(List files) { String msg = iExamApplyService.examApplyResultCertificate(files); return AjaxResult.success("操作成功",msg); } @ApiOperation("七大员考试结果回执") @PostMapping("common/apply/result") public AjaxResult examApplyResult(@RequestBody ExamApplyResultBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } iExamApplyService.examApplyResult(bo); return AjaxResult.success(); } @ApiOperation("七大员考试预约") @PostMapping("common/apply/subscribe") public AjaxResult examApplySubscribe(@RequestBody ExamApplySubscribeBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } ServletUtils.getResponse().setHeader("TenantId",bo.getTenantId().toString()); iUserSubscribeService.examApplySubscribe(bo); return AjaxResult.success(); } @ApiOperation("七大员考试预约取消") @PostMapping("common/apply/subscribe/cancel") public AjaxResult examApplySubscribeCancel(@RequestBody ExamApplySubscribeBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } ServletUtils.getResponse().setHeader("TenantId",bo.getTenantId().toString()); iUserSubscribeService.examApplySubscribeCancel(bo); return AjaxResult.success(); } @ApiOperation("学员学时图片修改") @PostMapping("common/student/image/update") public AjaxResult updateStudentImage(@RequestBody UpdateStudentImageBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } String base = iUserSubscribeService.updateStudentImage(bo); return AjaxResult.success(base); } @ApiOperation("学员学时图片修改") @PostMapping("common/student/image/spin") public AjaxResult updateStudentImageSpin(@RequestBody UpdateStudentImageBo bo) { iUserSubscribeService.updateStudentImageSpin(bo); return AjaxResult.success(); } @ApiOperation("获取外部题库商品(山东题库)") @PostMapping("common/external/question") public AjaxResult getExternalQuestion(@RequestBody ExternalQuestionBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } List questionVos = iGoodsService.getExternalQuestion(bo); return AjaxResult.success(questionVos); } @ApiOperation("获取补考商品") @PostMapping("common/replenish/exam") public AjaxResult getReplenishExam(@RequestBody ReplenishExamBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } List questionVos = iGoodsService.getReplenishExam(bo); return AjaxResult.success(questionVos); } @ApiOperation("获取某场考试信息") @PostMapping("common/apply/detail") public AjaxResult examApplyDetail(@RequestBody ExamApplyDetailBo bo) { ExamApplyDetailVo voList = iExamApplyService.examApplyDetail(bo); return AjaxResult.success(voList); } @ApiOperation("旧系统获取商品学习中心路径") @PostMapping("common/get/goods/studyUrl") public AjaxResult getGoodsStudyUrl(@RequestBody GoodsStudyUrlBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } String studyUrl = iGoodsService.getGoodsStudyUrl(bo); return AjaxResult.success(studyUrl); } @ApiOperation("批量查询官方班级人数") @PostMapping("common/free/batch/officialGradeCount") public AjaxResult batchOfficialGradeCount(@RequestBody ClassGradeBatchQueryBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } String[] list = bo.getOfficialNameStr().split(","); List> numList = new ArrayList<>(); for (String officialName : list) { Map map = new HashMap<>(); ClassGradeQueryBo queryBo = new ClassGradeQueryBo(); queryBo.setOfficialName(officialName); map.put("officialName", officialName); Integer num = iClassGradeService.queryOfficialGradeCount(queryBo); map.put("num", num); numList.add(map); } return AjaxResult.success(numList); } @ApiOperation("查询官方班级详情") @PostMapping("common/free/officialGradeDetail") public AjaxResult officialGradeDetail(@RequestBody ClassNpUserInfoBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } return AjaxResult.success(iClassGradeService.officialGradeDetail(bo)); } @ApiOperation("查询预开班官方班级编号") @PostMapping("common/free/officialGrade/num") public AjaxResult getOfficialGradeNum(@RequestBody ClassOfficialNumBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } return AjaxResult.success(iClassGradeService.getOfficialGradeNum(bo)); } @ApiOperation("新增二建班级") @PostMapping("common/free/save/class") public AjaxResult openOfficialSaveGrade(@RequestBody ClassGradeOpenBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } iClassGradeService.openOfficialSaveGrade(bo); return AjaxResult.success(); } @ApiOperation("预报名班级开班") @PostMapping("common/free/open/class") public AjaxResult openOfficialGrade(@RequestBody ClassGradeOpenBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } iClassGradeService.openOfficialGrade(bo); return AjaxResult.success(); } @ApiOperation("测试分班") @PostMapping("common/free/grade") public AjaxResult testGrade(@RequestBody ClassGradeUserQueryBo bo) { // iClassGradeService.checkEjjjPeopleNumLimit(195L,984L); // iUserService.batchUpdateTelId(); iCertificateTpService.makeCertificatePhoto(bo); return AjaxResult.success(); } @ApiOperation("获取商品分享码") @PostMapping("/shareGoodsCode") public AjaxResult getWxSmallAccessToken(@RequestBody WxShareGoodsBo bo) { String token = wxLoginService.shareGoodsCode(bo); return AjaxResult.success(token); } @ApiOperation("获取同价格商品") @PostMapping("/common/alike/goods") public AjaxResult getAlikeGoods(@RequestBody AlikeGoodsBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } List voList = iGoodsService.getAlikeGoods(bo); return AjaxResult.success(voList); } @ApiOperation("推送分销商品") @PostMapping("/toshareGoods") public AjaxResult toshareGoods(@RequestBody WxShareGoodsBo bo) { String out_trade_no = "22110210122554298238"; Map map = new HashMap<>(); map.put("order_sn", out_trade_no); List goodsList = iOrderGoodsService.listByMap(map); Order order = iOrderService.getOne(new LambdaQueryWrapper().eq(Order::getOrderSn, out_trade_no)); iWxPayService.shareToOldSys(order, goodsList); return AjaxResult.success(); } @ApiOperation("创建新机构后台") @PostMapping("common/create/tenant/admin") public AjaxResult createTenantAdmin(@RequestBody SysTenantAdminBo bo) { iSysTenantService.createTenantAdmin(bo); return AjaxResult.success(); } @ApiOperation("创建新机构后台(旧系统)") @PostMapping("common/create/tenant/admin/old") public AjaxResult createTenantAdminOld(@RequestBody SysTenantAdminOldBo bo) { iSysTenantService.createTenantAdminOld(bo); return AjaxResult.success(); } @ApiOperation("同步其他机构角色菜单") @PostMapping("common/update/role") public AjaxResult updateRoleTenant(@RequestBody List tenantIds) { iSysTenantService.updateRoleTenant(tenantIds); return AjaxResult.success(); } @ApiOperation("同步其他机构字典") @PostMapping("common/update/dict") public AjaxResult updateDictTenant(@RequestBody List tenantIds) { iSysTenantService.updateDictTenant(tenantIds); return AjaxResult.success(); } /** * 总平台退款支付 */ @ApiOperation("总平台退款支付") @PostMapping("/common/platform/pay") public AjaxResult platformRefundPay(@RequestBody List bo) { return toAjax(iOrderGoodsRefundService.platformRefundPay(bo) ? 1 : 0); } /** * 总平台退款支付订单处理 */ @ApiOperation("总平台退款支付订单处理") @PostMapping("/common/platform/pay/handle") public AjaxResult platformRefundPayHandle(@RequestBody List orderGoodsVos) { return toAjax(iOrderGoodsRefundService.handleRefundOrder(orderGoodsVos) ? 1 : 0); } @ApiOperation("获取企业列表") @GetMapping("common/tenant/list") public AjaxResult> getTenantList() { String tenant = ServletUtils.getRequest().getHeader("TenantId"); List list = iSysTenantService.list(); if (CollectionUtils.isEmpty(list)) { return AjaxResult.success(new ArrayList<>()); } List collect = list.stream().filter(x -> !x.getTenantId().equals(Long.valueOf(tenant))) .map(item -> BeanUtil.toBean(item, SysTenantVo.class)).collect(Collectors.toList()); return AjaxResult.success(collect); } @ApiOperation("机构注册开通") @PostMapping("common/free/tenant/register") public AjaxResult tenantRegister(@RequestBody TopSysTenantRegisterAddBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } return AjaxResult.success("成功", iTopSysTenantRegisterService.insertByAddBo(bo) ? 1 : 0); } @ApiOperation("重启服务restart") @PostMapping("common/free/webRestart") public AjaxResult webRestart(@RequestBody ConfigQueryBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } webService.restartWebService(); return AjaxResult.success(); } /* @ApiOperation("nginx配置") @PostMapping("common/free/configNginxFile") public AjaxResult configNginxFile(@RequestBody SysNginxConfigAddBo bo) { iTopSysTenantRegisterService.test(new TopSysTenantRegisterAddBo()); return AjaxResult.success(); }*/ @ApiOperation("登录双重验证") @GetMapping("common/free/dual_auth") public AjaxResult dual_auth() { String dualAuth = configService.selectConfigByKey("login.dual.auth"); return AjaxResult.success("成功", dualAuth); } @ApiOperation("decodeTel加密") @GetMapping("common/free/decodeTel") public AjaxResult decodeTel(String key) { return AjaxResult.success("成功", EncryptHandler.encrypt(key)); } @ApiOperation("分销打款结果回调") @PreAuthorize("@ss.hasPermi('system:withdrawal:add')") @Log(title = "打款", businessType = BusinessType.INSERT) @PostMapping("/common/free/payCashCallBack") public AjaxResult payCashCallBack(@RequestBody DistributionCashWithdrawalPayBo bo) { if (!ToolsUtils.checkSignCwSnFromOldSys(bo.getCwSn(), bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } return AjaxResult.success("成功", iDistributionCashWithdrawalService.payCashCallBack(bo) ? 1 : 0); } @ApiOperation("根据身份证查询当前学员是否有学习") @GetMapping("common/free/getStudyTimeByCard") public AjaxResult getStudyTimeByCard(@RequestParam("idCard")String idCard,@RequestParam("type")Integer type) { return AjaxResult.success(iUserService.getStudyTimeByCard(idCard,type)); } /** * 获取企业ID */ @ApiOperation("获取企业ID") @GetMapping("common/free/findTenantId") public AjaxResult findTenantId(SysTenantQueryBo bo) { Long tenantId = iSysTenantService.findTenantId(bo); if (Validator.isNotEmpty(tenantId)) { return AjaxResult.success("成功", tenantId.toString()); } else { if (Validator.isNotEmpty(bo.getHostH5()) && bo.getHostH5().equals("120.79.166.78:19012")) { return AjaxResult.success("成功", "867735392558919680"); } if (Validator.isNotEmpty(bo.getHostLive()) && bo.getHostLive().equals("120.79.166.78:19012")) { return AjaxResult.success("成功", "867735392558919680"); } if (Validator.isNotEmpty(bo.getHostPc()) && bo.getHostPc().equals("120.79.166.78:19012")) { return AjaxResult.success("成功", "867735392558919680"); } if (Validator.isNotEmpty(bo.getHostAdmin()) && bo.getHostAdmin().equals("120.79.166.78:19012")) { return AjaxResult.success("成功", "867735392558919680"); } if (Validator.isNotEmpty(bo.getHostH5Seller()) && bo.getHostH5Seller().equals("120.79.166.78:19012")) { return AjaxResult.success("成功", "867735392558919680"); } return AjaxResult.error(511, "失败", null); } } /** * 获取企业ID */ @ApiOperation("获取系统配置") @GetMapping("common/free/config") public AjaxResult> findConfig(SysTenantQueryBo bo) { Map map = new HashMap<>(); String jsonStr = configService.selectConfigByKey("home.header"); JSONObject objectJson = JSON.parseObject(jsonStr); if(Validator.isEmpty(objectJson)){ throw new CustomException("数据错误"); } map.put("companyName", String.valueOf(objectJson.get("companyName"))); return AjaxResult.success(map); } @ApiOperation("获取微信参数") @GetMapping("app/common/wx/config") public AjaxResult> wxConfig() { Map map = new HashMap<>(); String smallAppId = configService.selectConfigByKey("wx.small.appid"); String gzhAppId = configService.selectConfigByKey("wx.gzh.appid"); map.put("smallAppId", smallAppId); map.put("gzhAppId", gzhAppId); return AjaxResult.success(map); } @ApiOperation("移动端配置参数") @GetMapping("app/common/mobileConfig") public AjaxResult> mobileConfig(ConfigQueryBo bo) { Map map = new HashMap<>(); String json = configService.selectConfigByKey("home.mobile"); map.put("mobileConfig", json); return AjaxResult.success(map); } @ApiOperation("通过分享code查询业务员用户信息") @GetMapping("app/common/distribution/getInfoByShareCode") public AjaxResult getInfoByShareCode(String shareCode) { DistributionSellerVo vo = iDistributionSellerService.queryByShareCode(shareCode); vo.setNull(); String jsonStr = configService.selectConfigByKey("home.header"); JSONObject objectJson = JSON.parseObject(jsonStr); vo.setTenantName(String.valueOf(objectJson.get("companyName"))); return AjaxResult.success(vo); } @ApiOperation("获取分销活动商品列表") @GetMapping("app/common/distribution/getGoodsList") public TableDataInfo distributionGoodsList(DistributionActivityGoodsQueryBo bo) { startPage(); List list = iDistributionActivityGoodsService.getGoodsList(bo); return getDataTable(list); } @ApiOperation("学时抽查") @PreAuthorize("@ss.hasPermi('system:withdrawal:add')") @Log(title = "学时抽查", businessType = BusinessType.INSERT) @PostMapping("/common/free/decryptOfficialInfo") public AjaxResult decryptOfficialInfo(@RequestBody ClassGradeDecryptQueryBo bo) { return AjaxResult.success(iClassGradeUserService.DecryptOfficialInfo(bo)); } @ApiOperation("七大员学时抽查") @PreAuthorize("@ss.hasPermi('system:withdrawal:add')") @Log(title = "学时抽查", businessType = BusinessType.INSERT) @PostMapping("/common/free/decryptSevenOfficialInfo") public AjaxResult decryptSevenOfficialInfo(@RequestBody ClassGradeDecryptQueryBo bo) { return AjaxResult.success(iClassGradeUserService.DecryptSevenOfficialInfo(bo)); } @ApiOperation("学时抽查加密") @PreAuthorize("@ss.hasPermi('system:withdrawal:add')") @PostMapping("/common/free/encryptDes") public AjaxResult encryptDes(@RequestBody ClassGradeDecryptQueryBo bo) { try{ byte[] Keys = new byte[]{0x22, 0x34, 0x76, 0x58, (byte) 0x90, (byte) 0xAB, (byte) 0xAD, (byte) 0xBF}; byte[] rgbKey = "83A3C737FC54B575CC2ABDEFDCE090".substring(0, 8).getBytes("UTF-8"); // String source = "bh="+bo.getBh()+"&idnum="+bo.getIdnum()+"&datetime=20230821"; String source = "bh="+bo.getBh()+"&idnum="+bo.getIdnum()+"&datetime="+bo.getData(); System.out.println(source); return AjaxResult.success(ToolsUtils.encryptDesNew(source,bo.getToken().substring(0, 8))); }catch (Exception e){ return null; } } @ApiOperation("学时抽查解密") @PreAuthorize("@ss.hasPermi('system:withdrawal:add')") @PostMapping("/common/free/dncryptDes") public AjaxResult dncryptDes(@RequestBody ClassGradeDecryptQueryBo bo) { try{ byte[] Keys = new byte[]{0x22, 0x34, 0x76, 0x58, (byte) 0x90, (byte) 0xAB, (byte) 0xAD, (byte) 0xBF}; byte[] rgbKey = "01b5d9833987efdff54483cdc9720da6".substring(0, 8).getBytes("UTF-8"); System.out.println(ToolsUtils.decryptDesNew(bo.getData(), bo.getToken().substring(0, 8))); return AjaxResult.success(); }catch (Exception e){ System.out.println(e.getMessage()); return null; } } @ApiOperation("商品列表") @PreAuthorize("@ss.hasPermi('system:withdrawal:add')") @Log(title = "商品列表", businessType = BusinessType.INSERT) @GetMapping("/common/free/goods/list") public TableDataInfo goodsList(GoodsQueryBo bo) { /* bo.setStatus(new ArrayList(){{ add(1); }});*/ startPage(); List list = iGoodsService.selectList(bo); return getDataTable(list); } @ApiOperation("批量学时信息推送") @PreAuthorize("@ss.hasPermi('app:user:edit')") @PostMapping("/common/free/pushPeriod") public AjaxResult pushPeriod(@RequestBody List list) { return AjaxResult.success(iClassGradeUserService.pushOfficialPeriodMore(list)); } @ApiOperation("测试获取山东题库") @PreAuthorize("@ss.hasPermi('system:withdrawal:add')") @Log(title = "测试获取山东题库", businessType = BusinessType.INSERT) @GetMapping("/common/free/getShanDongExam") public AjaxResult getShanDongExam(GoodsQueryBo bo) throws UnsupportedEncodingException { // System.out.println(bo.getBuyNote()); iVodService.describeMediaInfos(null); return AjaxResult.success(); } @ApiOperation("测试网银") @PreAuthorize("@ss.hasPermi('system:withdrawal:add')") @Log(title = "测试网银", businessType = BusinessType.INSERT) @GetMapping("/common/free/zsBank") public AjaxResult zsBank() { String date = DateUtils.dateTimeNow("yyyyMMdd"); // System.out.println(iZsBankService.searchBreakPoint(null,"755915680210507",date,date)); return AjaxResult.success(); } @ApiOperation("旧系统post请求") @PostMapping("/common/free/clientPost") public AjaxResult clientPost(@RequestBody ClientPostAddBo bo) { ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo(); queryBo.setUserId(434L); queryBo.setGradeId(1738L); queryBo.setOrderGoodsId(5252L); ClassGradeUserVo userVo = classGradeUserMapper.selectUser(queryBo); Major major = iMajorService.getOne(new LambdaQueryWrapper() .eq(Major::getId, 38)); if("材料员".equals(major.getCategoryName())||"劳务员".equals(major.getCategoryName())||"资料员".equals(major.getCategoryName())){ if(userVo.getEduLevel().equals("小学")||userVo.getEduLevel().equals("中学")){ userVo.setEduLevel("高中"); } }else{ if(userVo.getEduLevel().equals("小学")||userVo.getEduLevel().equals("中学")||userVo.getEduLevel().equals("职高")||userVo.getEduLevel().equals("高中")){ userVo.setEduLevel("专科"); } } System.out.println(userVo); return AjaxResult.success(); } @ApiOperation("新考题库导入") @GetMapping("/common/question/import") public AjaxResult questionImport() { iQuestionService.questionImport(); return AjaxResult.success(); } @ApiOperation("七大员推送权限结果回调") @PreAuthorize("@ss.hasPermi('system:withdrawal:add')") @PostMapping("/common/free/sevenPushAuthCallBack") public AjaxResult sevenPushAuthCallBack(@RequestBody SevenPushAuthAddBo bo) { ServletUtils.getRequestAttributes().getResponse().setHeader("TenantId", "867735392558919680"); if (!ToolsUtils.checkSignCwSnFromOldSys(bo.getGradeUserId().toString(), bo.getStamp().toString(), bo.getSign())) { return AjaxResult.error("签名错误"); } return AjaxResult.success("成功", iClassGradeUserService.sevenPushAuthCallBack(bo) ? 1 : 0); } @PostMapping("/common/question/getMeasureList") public AjaxResult getMeasureList() { String aa = iQuestionService.getMeasureList(); return AjaxResult.success("操作成功",aa); } @PostMapping("/common/question/getTopicList") public AjaxResult getTopicList(@RequestBody String topParam) { String aa = iQuestionService.getTopicList(topParam); return AjaxResult.success("操作成功", aa); } @PostMapping("/common/free/makeBatchCertificatePhoto") public AjaxResult makeBatchCertificatePhoto(@RequestBody ClassGradeUserQueryBo bo) { iCertificateTpService.makeBatchCertificatePhoto(bo); return AjaxResult.success(); } @ApiOperation("导入二建精选题目Word模板列表") @PreAuthorize("@ss.hasPermi('system:question:import')") @PostMapping("/importErJianWordQuestionList") public AjaxResult> importErJianWordQuestionList(MultipartFile file, Long eduId, Long projectId, Long businessId, Long subjectId) throws Exception { Map result = iQuestionService.importErJianWordQuestionList(file, eduId, projectId, businessId, subjectId); return AjaxResult.success(result); } @ApiOperation("人脸属性") @PostMapping("/common/free/detectFaceAttributes") public AjaxResult DetectFaceAttributes(@RequestBody FaceQueryBo bo) { iFaceService.DetectFace(bo); return AjaxResult.success(); } /** * 回复试卷业务层次 */ @ApiOperation("回复试卷业务层次") @GetMapping("/common/free/update/exam/business") public AjaxResult updateExamBusiness() { return toAjax(iGoodsService.updateExamBusiness() ? 1 : 0); } @ApiOperation("获取用户同专业下课程") @PostMapping("/common/free/studyRecord") public AjaxResult studyRecord(MultipartFile file) { List customerBos = EasyPoiUtil.importExcel(file,0,1,UserStudyExportVo.class); return AjaxResult.success(iUserService.studyRecord(customerBos)); } @ApiOperation("获取业务层次下的所有班级") @PostMapping("/common/free/class") public TableDataInfo getBusinessClassList(@RequestBody ClassBusinessQuery query) { if (!ToolsUtils.checkSignFromOldSys(query.getStamp().toString(), query.getSign())) { throw new CustomException("签名错误"); } startPage(); List list = iClassGradeService.getBusinessClassList(query); return getDataTable(list); } @ApiOperation("外部下单接口") @PostMapping("/common/free/order") public AjaxResult commonWithoutOrder(@RequestBody CommonOrderBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { throw new CustomException("签名错误"); } return AjaxResult.success(iOrderService.commonWithoutOrder(bo)); } @ApiOperation("外部获取班级接口") @PostMapping("/common/free/grade/list") public AjaxResult> getCommonGrade(@RequestBody CommonGradeBo bo) { if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) { throw new CustomException("签名错误"); } List list = iOrderService.getCommonGrade(bo); return AjaxResult.success(list); } }