CommonController.java 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975
  1. package com.zhongzheng.controller.common;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.lang.Validator;
  4. import cn.hutool.core.util.StrUtil;
  5. import com.alibaba.fastjson.JSON;
  6. import com.alibaba.fastjson.JSONObject;
  7. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  8. import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
  9. import com.zhongzheng.common.annotation.Log;
  10. import com.zhongzheng.common.config.RuoYiConfig;
  11. import com.zhongzheng.common.constant.Constants;
  12. import com.zhongzheng.common.core.controller.BaseController;
  13. import com.zhongzheng.common.core.domain.AjaxResult;
  14. import com.zhongzheng.common.core.page.TableDataInfo;
  15. import com.zhongzheng.common.enums.BusinessType;
  16. import com.zhongzheng.common.exception.CustomException;
  17. import com.zhongzheng.common.type.EncryptHandler;
  18. import com.zhongzheng.common.utils.DateUtils;
  19. import com.zhongzheng.common.utils.ServletUtils;
  20. import com.zhongzheng.common.utils.ToolsUtils;
  21. import com.zhongzheng.common.utils.file.FileUploadUtils;
  22. import com.zhongzheng.common.utils.file.FileUtils;
  23. import com.zhongzheng.common.utils.poi.EasyPoiUtil;
  24. import com.zhongzheng.common.utils.poi.ExcelUtil;
  25. import com.zhongzheng.framework.config.ServerConfig;
  26. import com.zhongzheng.framework.web.service.WxLoginService;
  27. import com.zhongzheng.modules.activity.vo.ActivityGoodsPriceVo;
  28. import com.zhongzheng.modules.alioss.bo.OssRequest;
  29. import com.zhongzheng.modules.alioss.service.OssService;
  30. import com.zhongzheng.modules.bank.bo.QuestionQueryBo;
  31. import com.zhongzheng.modules.bank.service.IExamService;
  32. import com.zhongzheng.modules.bank.service.IQuestionOtherService;
  33. import com.zhongzheng.modules.bank.service.IQuestionService;
  34. import com.zhongzheng.modules.bank.vo.QuestionVo;
  35. import com.zhongzheng.modules.base.bo.ConfigQueryBo;
  36. import com.zhongzheng.modules.base.service.ICertificateTpService;
  37. import com.zhongzheng.modules.course.bo.ExternalQuestionBo;
  38. import com.zhongzheng.modules.course.bo.ReplenishExamBo;
  39. import com.zhongzheng.modules.course.domain.Major;
  40. import com.zhongzheng.modules.course.service.IMajorService;
  41. import com.zhongzheng.modules.course.vo.CourseChapterVo;
  42. import com.zhongzheng.modules.course.vo.ExternalQuestionVo;
  43. import com.zhongzheng.modules.course.vo.ReplenishExamVo;
  44. import com.zhongzheng.modules.distribution.bo.DistributionActivityGoodsQueryBo;
  45. import com.zhongzheng.modules.distribution.bo.DistributionCashWithdrawalPayBo;
  46. import com.zhongzheng.modules.distribution.service.IDistributionActivityGoodsService;
  47. import com.zhongzheng.modules.distribution.service.IDistributionCashWithdrawalService;
  48. import com.zhongzheng.modules.distribution.service.IDistributionSellerService;
  49. import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
  50. import com.zhongzheng.modules.exam.bo.*;
  51. import com.zhongzheng.modules.exam.service.IExamApplyService;
  52. import com.zhongzheng.modules.exam.vo.ExamApplyDetailVo;
  53. import com.zhongzheng.modules.goods.bo.*;
  54. import com.zhongzheng.modules.goods.service.IGoodsService;
  55. import com.zhongzheng.modules.goods.vo.*;
  56. import com.zhongzheng.modules.grade.bo.*;
  57. import com.zhongzheng.modules.grade.mapper.ClassGradeUserMapper;
  58. import com.zhongzheng.modules.grade.service.IClassGradeService;
  59. import com.zhongzheng.modules.grade.service.IClassGradeUserService;
  60. import com.zhongzheng.modules.grade.service.IUserPeriodService;
  61. import com.zhongzheng.modules.grade.vo.ClassBusinessVo;
  62. import com.zhongzheng.modules.grade.vo.ClassGradeUserVo;
  63. import com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo;
  64. import com.zhongzheng.modules.grade.vo.SyncGoodsExport;
  65. import com.zhongzheng.modules.order.bo.CommonGradeBo;
  66. import com.zhongzheng.modules.order.bo.CommonOrderBo;
  67. import com.zhongzheng.modules.order.bo.TopOldOrderRefundBo;
  68. import com.zhongzheng.modules.order.domain.Order;
  69. import com.zhongzheng.modules.order.domain.OrderGoods;
  70. import com.zhongzheng.modules.order.service.IOrderGoodsRefundService;
  71. import com.zhongzheng.modules.order.service.IOrderGoodsService;
  72. import com.zhongzheng.modules.order.service.IOrderService;
  73. import com.zhongzheng.modules.order.vo.CommonGradeVo;
  74. import com.zhongzheng.modules.order.vo.OrderGoodsVo;
  75. import com.zhongzheng.modules.sdk.service.IZsBankService;
  76. import com.zhongzheng.modules.system.bo.SysTenantAdminBo;
  77. import com.zhongzheng.modules.system.bo.SysTenantAdminOldBo;
  78. import com.zhongzheng.modules.system.bo.SysTenantQueryBo;
  79. import com.zhongzheng.modules.system.domain.SysTenant;
  80. import com.zhongzheng.modules.system.service.ISysConfigService;
  81. import com.zhongzheng.modules.system.service.ISysTenantService;
  82. import com.zhongzheng.modules.system.service.ISysWebService;
  83. import com.zhongzheng.modules.system.vo.SysTenantVo;
  84. import com.zhongzheng.modules.tencentcloud.bo.FaceQueryBo;
  85. import com.zhongzheng.modules.tencentcloud.service.IFaceOcrService;
  86. import com.zhongzheng.modules.tencentcloud.service.IVodService;
  87. import com.zhongzheng.modules.top.order.bo.TopOldOrderCustomerBo;
  88. import com.zhongzheng.modules.top.user.bo.TopSysTenantRegisterAddBo;
  89. import com.zhongzheng.modules.top.user.service.ITopSysTenantRegisterService;
  90. import com.zhongzheng.modules.user.bo.UserBusinessGoodsBo;
  91. import com.zhongzheng.modules.user.service.IUserService;
  92. import com.zhongzheng.modules.user.service.IUserSubscribeService;
  93. import com.zhongzheng.modules.user.vo.UserBusinessGoodsVo;
  94. import com.zhongzheng.modules.user.vo.UserStudyExportVo;
  95. import com.zhongzheng.modules.user.vo.UserStudyTimeVo;
  96. import com.zhongzheng.modules.wx.bo.WxShareGoodsBo;
  97. import com.zhongzheng.modules.wx.service.IWxPayService;
  98. import io.swagger.annotations.ApiOperation;
  99. import org.slf4j.Logger;
  100. import org.slf4j.LoggerFactory;
  101. import org.springframework.beans.factory.annotation.Autowired;
  102. import org.springframework.http.MediaType;
  103. import org.springframework.security.access.prepost.PreAuthorize;
  104. import org.springframework.web.bind.annotation.*;
  105. import org.springframework.web.multipart.MultipartFile;
  106. import javax.servlet.http.HttpServletRequest;
  107. import javax.servlet.http.HttpServletResponse;
  108. import java.io.UnsupportedEncodingException;
  109. import java.math.BigDecimal;
  110. import java.net.URLEncoder;
  111. import java.util.ArrayList;
  112. import java.util.HashMap;
  113. import java.util.List;
  114. import java.util.Map;
  115. import java.util.regex.Matcher;
  116. import java.util.regex.Pattern;
  117. import java.util.stream.Collectors;
  118. /**
  119. * 通用请求处理
  120. *
  121. * @author zhongzheng
  122. */
  123. @RestController
  124. public class CommonController extends BaseController {
  125. private static final Logger log = LoggerFactory.getLogger(CommonController.class);
  126. @Autowired
  127. private ServerConfig serverConfig;
  128. @Autowired
  129. private IGoodsService iGoodsService;
  130. @Autowired
  131. private IUserPeriodService iUserPeriodService;
  132. @Autowired
  133. private IOrderService iOrderService;
  134. @Autowired
  135. private WxLoginService wxLoginService;
  136. @Autowired
  137. private IOrderGoodsService iOrderGoodsService;
  138. @Autowired
  139. private IWxPayService iWxPayService;
  140. @Autowired
  141. private IClassGradeService iClassGradeService;
  142. @Autowired
  143. private ISysTenantService iSysTenantService;
  144. @Autowired
  145. private IUserService iUserService;
  146. @Autowired
  147. private ITopSysTenantRegisterService iTopSysTenantRegisterService;
  148. @Autowired
  149. private ISysWebService webService;
  150. @Autowired
  151. private ISysConfigService configService;
  152. @Autowired
  153. private IDistributionCashWithdrawalService iDistributionCashWithdrawalService;
  154. @Autowired
  155. private IDistributionSellerService iDistributionSellerService;
  156. @Autowired
  157. private IDistributionActivityGoodsService iDistributionActivityGoodsService;
  158. @Autowired
  159. private IOrderGoodsRefundService iOrderGoodsRefundService;
  160. @Autowired
  161. private IExamApplyService iExamApplyService;
  162. @Autowired
  163. private IUserSubscribeService iUserSubscribeService;
  164. @Autowired
  165. private IClassGradeUserService iClassGradeUserService;
  166. @Autowired
  167. private IQuestionService iQuestionService;
  168. @Autowired
  169. private ICertificateTpService iCertificateTpService;
  170. @Autowired
  171. private ClassGradeUserMapper classGradeUserMapper;
  172. @Autowired
  173. private IVodService iVodService;
  174. @Autowired
  175. private IMajorService iMajorService;
  176. @Autowired
  177. private IFaceOcrService iFaceService;
  178. /**
  179. * 通用下载请求
  180. *
  181. * @param fileName 文件名称
  182. * @param delete 是否删除
  183. */
  184. @GetMapping("common/download")
  185. public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) {
  186. try {
  187. if (!FileUtils.checkAllowDownload(fileName)) {
  188. throw new Exception(StrUtil.format("文件名称({})非法,不允许下载。 ", fileName));
  189. }
  190. String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
  191. String filePath = RuoYiConfig.getDownloadPath() + fileName;
  192. response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
  193. FileUtils.setAttachmentResponseHeader(response, realFileName);
  194. FileUtils.writeBytes(filePath, response.getOutputStream());
  195. if (delete)
  196. {
  197. FileUtils.deleteFile(filePath);
  198. }
  199. } catch (Exception e) {
  200. log.error("下载文件失败", e);
  201. }
  202. }
  203. /**
  204. * 通用上传请求
  205. */
  206. @PostMapping("/common/upload")
  207. public AjaxResult uploadFile(MultipartFile file) throws Exception {
  208. try {
  209. // 上传文件路径
  210. String filePath = RuoYiConfig.getUploadPath();
  211. // 上传并返回新文件名称
  212. String fileName = FileUploadUtils.upload(filePath, file);
  213. String url = serverConfig.getUrl() + fileName;
  214. AjaxResult ajax = AjaxResult.success();
  215. ajax.put("fileName", fileName);
  216. ajax.put("url", url);
  217. return ajax;
  218. } catch (Exception e) {
  219. return AjaxResult.error(e.getMessage());
  220. }
  221. }
  222. /**
  223. * 本地资源通用下载
  224. */
  225. @GetMapping("/common/download/resource")
  226. public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
  227. throws Exception {
  228. try {
  229. if (!FileUtils.checkAllowDownload(resource)) {
  230. throw new Exception(StrUtil.format("资源文件({})非法,不允许下载。 ", resource));
  231. }
  232. // 本地资源路径
  233. String localPath = RuoYiConfig.getProfile();
  234. // 数据库资源地址
  235. String downloadPath = localPath + StrUtil.subAfter(resource, Constants.RESOURCE_PREFIX, false);
  236. // 下载名称
  237. String downloadName = StrUtil.subAfter(downloadPath, "/", true);
  238. response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
  239. FileUtils.setAttachmentResponseHeader(response, downloadName);
  240. FileUtils.writeBytes(downloadPath, response.getOutputStream());
  241. } catch (Exception e) {
  242. log.error("下载文件失败", e);
  243. }
  244. }
  245. @ApiOperation("获取继教二建的商品结构列表")
  246. @GetMapping("common/jzs/goodsList")
  247. public AjaxResult<GoodsJzsVo> goodsList() {
  248. GoodsQueryBo queryBo = new GoodsQueryBo();
  249. List<SyncGoodsExport> goodsJzsVoList = iGoodsService.selectRjJzsList(queryBo);
  250. ExcelUtil<SyncGoodsExport> util = new ExcelUtil<SyncGoodsExport>(SyncGoodsExport.class);
  251. // ExcelUtil<SyncGoodsExport> util = new ExcelUtil<>(SyncGoodsExport.class);
  252. return util.exportEasyExcel(util.exportEasyData(goodsJzsVoList), "继建商品");
  253. }
  254. @ApiOperation("测试列表")
  255. @PostMapping("common/jzs/test")
  256. public AjaxResult<Void> testList(@RequestBody UserPeriodEditBo bo) {
  257. UserPeriodEditBo queryBo = new UserPeriodEditBo();
  258. queryBo.setGoodsId(1085L);
  259. queryBo.setGradeId(978L);
  260. queryBo.setUserId(114L);
  261. iUserPeriodService.syncStudyLogToOld(bo);
  262. return AjaxResult.success();
  263. }
  264. @ApiOperation("旧系统打回重审")
  265. @PostMapping("common/rollback/period")
  266. public AjaxResult<Void> rollbackPeriod(@RequestBody RollBackPeriodBo bo) {
  267. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  268. return AjaxResult.error("签名错误");
  269. }
  270. UserPeriodEditBo queryBo = new UserPeriodEditBo();
  271. queryBo.setRollBackPlat(2);
  272. queryBo.setOrderGoodsId(bo.getOrderGoodsId());
  273. queryBo.setAuditUserName("旧系统操作");
  274. iUserPeriodService.confirmRollbackPeriod(queryBo);
  275. return AjaxResult.success();
  276. }
  277. @ApiOperation("旧系统获取用户商品信息")
  278. @PostMapping("common/get/goods")
  279. public AjaxResult getUserGoodsList(@RequestBody UserGoodsListBo bo) {
  280. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  281. return AjaxResult.error("签名错误");
  282. }
  283. List<UserGoodsListVo> voList = iGoodsService.getUserGoodsList(bo);
  284. return AjaxResult.success(voList);
  285. }
  286. @ApiOperation("旧系统获取用户订单商品信息")
  287. @PostMapping("common/get/orderGoods")
  288. public AjaxResult getUserOrderGoods(@RequestBody UserGoodsListBo bo) {
  289. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  290. return AjaxResult.error("签名错误");
  291. }
  292. UserNewGoodsVo goodsVo = iGoodsService.getUserOrderGoods(bo);
  293. return AjaxResult.success(goodsVo);
  294. }
  295. @ApiOperation("校验用户是否有账号")
  296. @PostMapping("common/check/account")
  297. public AjaxResult checkUserAccount(@RequestBody UserGoodsListBo bo) {
  298. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  299. return AjaxResult.error("签名错误");
  300. }
  301. Map<String,String> url = iGoodsService.checkUserAccount(bo);
  302. return AjaxResult.success(url);
  303. }
  304. @ApiOperation("创建用户账号")
  305. @PostMapping("common/create/account")
  306. public AjaxResult createUserAccount(@RequestBody UserAccountBo bo) {
  307. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  308. return AjaxResult.error("签名错误");
  309. }
  310. String url = iGoodsService.createUserAccount(bo);
  311. return AjaxResult.success(url);
  312. }
  313. @ApiOperation("七大员学员资料批量变更")
  314. @PostMapping("common/apply/user/profile")
  315. public AjaxResult updateExamUserProfile(MultipartFile file) {
  316. iExamApplyService.updateExamUserProfile(file);
  317. return AjaxResult.success();
  318. }
  319. @ApiOperation("七大员新考结果")
  320. @PostMapping("common/apply/result/receipt")
  321. public AjaxResult examApplyResultReceipt(List<MultipartFile> files) {
  322. files.forEach(item -> {
  323. try {
  324. ExcelUtil<ExamApplyResultExportBo> util = new ExcelUtil<ExamApplyResultExportBo>(ExamApplyResultExportBo.class);
  325. //测试时间
  326. String time = util.examApplyTimeAnalysis(item.getInputStream(), 1);
  327. //成绩数据
  328. List<ExamApplyResultExportBo> exportBo = util.examApplyImportExcel("", item.getInputStream());
  329. iExamApplyService.examApplyResultReceipt(exportBo,time);
  330. } catch (Exception e) {
  331. e.printStackTrace();
  332. }
  333. });
  334. return AjaxResult.success("操作成功",null);
  335. }
  336. @ApiOperation("七大员新考证书")
  337. @PostMapping("common/apply/result/certificate")
  338. public AjaxResult examApplyResultCertificate(List<MultipartFile> files) {
  339. String msg = iExamApplyService.examApplyResultCertificate(files);
  340. return AjaxResult.success("操作成功",msg);
  341. }
  342. @ApiOperation("七大员考试结果回执")
  343. @PostMapping("common/apply/result")
  344. public AjaxResult examApplyResult(@RequestBody ExamApplyResultBo bo) {
  345. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  346. return AjaxResult.error("签名错误");
  347. }
  348. iExamApplyService.examApplyResult(bo);
  349. return AjaxResult.success();
  350. }
  351. @ApiOperation("七大员考试预约")
  352. @PostMapping("common/apply/subscribe")
  353. public AjaxResult examApplySubscribe(@RequestBody ExamApplySubscribeBo bo) {
  354. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  355. return AjaxResult.error("签名错误");
  356. }
  357. ServletUtils.getResponse().setHeader("TenantId",bo.getTenantId().toString());
  358. iUserSubscribeService.examApplySubscribe(bo);
  359. return AjaxResult.success();
  360. }
  361. @ApiOperation("七大员考试预约取消")
  362. @PostMapping("common/apply/subscribe/cancel")
  363. public AjaxResult examApplySubscribeCancel(@RequestBody ExamApplySubscribeBo bo) {
  364. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  365. return AjaxResult.error("签名错误");
  366. }
  367. ServletUtils.getResponse().setHeader("TenantId",bo.getTenantId().toString());
  368. iUserSubscribeService.examApplySubscribeCancel(bo);
  369. return AjaxResult.success();
  370. }
  371. @ApiOperation("学员学时图片修改")
  372. @PostMapping("common/student/image/update")
  373. public AjaxResult updateStudentImage(@RequestBody UpdateStudentImageBo bo) {
  374. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  375. return AjaxResult.error("签名错误");
  376. }
  377. String base = iUserSubscribeService.updateStudentImage(bo);
  378. return AjaxResult.success(base);
  379. }
  380. @ApiOperation("学员学时图片修改")
  381. @PostMapping("common/student/image/spin")
  382. public AjaxResult updateStudentImageSpin(@RequestBody UpdateStudentImageBo bo) {
  383. iUserSubscribeService.updateStudentImageSpin(bo);
  384. return AjaxResult.success();
  385. }
  386. @ApiOperation("获取外部题库商品(山东题库)")
  387. @PostMapping("common/external/question")
  388. public AjaxResult getExternalQuestion(@RequestBody ExternalQuestionBo bo) {
  389. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  390. return AjaxResult.error("签名错误");
  391. }
  392. List<ExternalQuestionVo> questionVos = iGoodsService.getExternalQuestion(bo);
  393. return AjaxResult.success(questionVos);
  394. }
  395. @ApiOperation("获取补考商品")
  396. @PostMapping("common/replenish/exam")
  397. public AjaxResult getReplenishExam(@RequestBody ReplenishExamBo bo) {
  398. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  399. return AjaxResult.error("签名错误");
  400. }
  401. List<ReplenishExamVo> questionVos = iGoodsService.getReplenishExam(bo);
  402. return AjaxResult.success(questionVos);
  403. }
  404. @ApiOperation("获取某场考试信息")
  405. @PostMapping("common/apply/detail")
  406. public AjaxResult examApplyDetail(@RequestBody ExamApplyDetailBo bo) {
  407. ExamApplyDetailVo voList = iExamApplyService.examApplyDetail(bo);
  408. return AjaxResult.success(voList);
  409. }
  410. @ApiOperation("旧系统获取商品学习中心路径")
  411. @PostMapping("common/get/goods/studyUrl")
  412. public AjaxResult getGoodsStudyUrl(@RequestBody GoodsStudyUrlBo bo) {
  413. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  414. return AjaxResult.error("签名错误");
  415. }
  416. String studyUrl = iGoodsService.getGoodsStudyUrl(bo);
  417. return AjaxResult.success(studyUrl);
  418. }
  419. @ApiOperation("批量查询官方班级人数")
  420. @PostMapping("common/free/batch/officialGradeCount")
  421. public AjaxResult batchOfficialGradeCount(@RequestBody ClassGradeBatchQueryBo bo) {
  422. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  423. return AjaxResult.error("签名错误");
  424. }
  425. String[] list = bo.getOfficialNameStr().split(",");
  426. List<Map<String, Object>> numList = new ArrayList<>();
  427. for (String officialName : list) {
  428. Map<String, Object> map = new HashMap<>();
  429. ClassGradeQueryBo queryBo = new ClassGradeQueryBo();
  430. queryBo.setOfficialName(officialName);
  431. map.put("officialName", officialName);
  432. Integer num = iClassGradeService.queryOfficialGradeCount(queryBo);
  433. map.put("num", num);
  434. numList.add(map);
  435. }
  436. return AjaxResult.success(numList);
  437. }
  438. @ApiOperation("查询官方班级详情")
  439. @PostMapping("common/free/officialGradeDetail")
  440. public AjaxResult officialGradeDetail(@RequestBody ClassNpUserInfoBo bo) {
  441. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  442. return AjaxResult.error("签名错误");
  443. }
  444. return AjaxResult.success(iClassGradeService.officialGradeDetail(bo));
  445. }
  446. @ApiOperation("查询预开班官方班级编号")
  447. @PostMapping("common/free/officialGrade/num")
  448. public AjaxResult getOfficialGradeNum(@RequestBody ClassOfficialNumBo bo) {
  449. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  450. return AjaxResult.error("签名错误");
  451. }
  452. return AjaxResult.success(iClassGradeService.getOfficialGradeNum(bo));
  453. }
  454. @ApiOperation("新增二建班级")
  455. @PostMapping("common/free/save/class")
  456. public AjaxResult openOfficialSaveGrade(@RequestBody ClassGradeOpenBo bo) {
  457. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  458. return AjaxResult.error("签名错误");
  459. }
  460. iClassGradeService.openOfficialSaveGrade(bo);
  461. return AjaxResult.success();
  462. }
  463. @ApiOperation("预报名班级开班")
  464. @PostMapping("common/free/open/class")
  465. public AjaxResult openOfficialGrade(@RequestBody ClassGradeOpenBo bo) {
  466. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  467. return AjaxResult.error("签名错误");
  468. }
  469. iClassGradeService.openOfficialGrade(bo);
  470. return AjaxResult.success();
  471. }
  472. @ApiOperation("测试分班")
  473. @PostMapping("common/free/grade")
  474. public AjaxResult<Void> testGrade(@RequestBody ClassGradeUserQueryBo bo) {
  475. // iClassGradeService.checkEjjjPeopleNumLimit(195L,984L);
  476. // iUserService.batchUpdateTelId();
  477. iCertificateTpService.makeCertificatePhoto(bo);
  478. return AjaxResult.success();
  479. }
  480. @ApiOperation("获取商品分享码")
  481. @PostMapping("/shareGoodsCode")
  482. public AjaxResult getWxSmallAccessToken(@RequestBody WxShareGoodsBo bo) {
  483. String token = wxLoginService.shareGoodsCode(bo);
  484. return AjaxResult.success(token);
  485. }
  486. @ApiOperation("获取同价格商品")
  487. @PostMapping("/common/alike/goods")
  488. public AjaxResult getAlikeGoods(@RequestBody AlikeGoodsBo bo) {
  489. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  490. return AjaxResult.error("签名错误");
  491. }
  492. List<GoodsVo> voList = iGoodsService.getAlikeGoods(bo);
  493. return AjaxResult.success(voList);
  494. }
  495. @ApiOperation("推送分销商品")
  496. @PostMapping("/toshareGoods")
  497. public AjaxResult toshareGoods(@RequestBody WxShareGoodsBo bo) {
  498. String out_trade_no = "22110210122554298238";
  499. Map<String, Object> map = new HashMap<>();
  500. map.put("order_sn", out_trade_no);
  501. List<OrderGoods> goodsList = iOrderGoodsService.listByMap(map);
  502. Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, out_trade_no));
  503. iWxPayService.shareToOldSys(order, goodsList);
  504. return AjaxResult.success();
  505. }
  506. @ApiOperation("创建新机构后台")
  507. @PostMapping("common/create/tenant/admin")
  508. public AjaxResult createTenantAdmin(@RequestBody SysTenantAdminBo bo) {
  509. iSysTenantService.createTenantAdmin(bo);
  510. return AjaxResult.success();
  511. }
  512. @ApiOperation("创建新机构后台(旧系统)")
  513. @PostMapping("common/create/tenant/admin/old")
  514. public AjaxResult createTenantAdminOld(@RequestBody SysTenantAdminOldBo bo) {
  515. iSysTenantService.createTenantAdminOld(bo);
  516. return AjaxResult.success();
  517. }
  518. @ApiOperation("同步其他机构角色菜单")
  519. @PostMapping("common/update/role")
  520. public AjaxResult updateRoleTenant(@RequestBody List<Long> tenantIds) {
  521. iSysTenantService.updateRoleTenant(tenantIds);
  522. return AjaxResult.success();
  523. }
  524. @ApiOperation("同步其他机构字典")
  525. @PostMapping("common/update/dict")
  526. public AjaxResult updateDictTenant(@RequestBody List<Long> tenantIds) {
  527. iSysTenantService.updateDictTenant(tenantIds);
  528. return AjaxResult.success();
  529. }
  530. /**
  531. * 总平台退款支付
  532. */
  533. @ApiOperation("总平台退款支付")
  534. @PostMapping("/common/platform/pay")
  535. public AjaxResult<Void> platformRefundPay(@RequestBody List<TopOldOrderRefundBo> bo) {
  536. return toAjax(iOrderGoodsRefundService.platformRefundPay(bo) ? 1 : 0);
  537. }
  538. /**
  539. * 总平台退款支付订单处理
  540. */
  541. @ApiOperation("总平台退款支付订单处理")
  542. @PostMapping("/common/platform/pay/handle")
  543. public AjaxResult<Void> platformRefundPayHandle(@RequestBody List<OrderGoodsVo> orderGoodsVos) {
  544. return toAjax(iOrderGoodsRefundService.handleRefundOrder(orderGoodsVos) ? 1 : 0);
  545. }
  546. @ApiOperation("获取企业列表")
  547. @GetMapping("common/tenant/list")
  548. public AjaxResult<List<SysTenantVo>> getTenantList() {
  549. String tenant = ServletUtils.getRequest().getHeader("TenantId");
  550. List<SysTenant> list = iSysTenantService.list();
  551. if (CollectionUtils.isEmpty(list)) {
  552. return AjaxResult.success(new ArrayList<>());
  553. }
  554. List<SysTenantVo> collect = list.stream().filter(x -> !x.getTenantId().equals(Long.valueOf(tenant)))
  555. .map(item -> BeanUtil.toBean(item, SysTenantVo.class)).collect(Collectors.toList());
  556. return AjaxResult.success(collect);
  557. }
  558. @ApiOperation("机构注册开通")
  559. @PostMapping("common/free/tenant/register")
  560. public AjaxResult tenantRegister(@RequestBody TopSysTenantRegisterAddBo bo) {
  561. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  562. return AjaxResult.error("签名错误");
  563. }
  564. return AjaxResult.success("成功", iTopSysTenantRegisterService.insertByAddBo(bo) ? 1 : 0);
  565. }
  566. @ApiOperation("重启服务restart")
  567. @PostMapping("common/free/webRestart")
  568. public AjaxResult<Void> webRestart(@RequestBody ConfigQueryBo bo) {
  569. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  570. return AjaxResult.error("签名错误");
  571. }
  572. webService.restartWebService();
  573. return AjaxResult.success();
  574. }
  575. /* @ApiOperation("nginx配置")
  576. @PostMapping("common/free/configNginxFile")
  577. public AjaxResult<Void> configNginxFile(@RequestBody SysNginxConfigAddBo bo) {
  578. iTopSysTenantRegisterService.test(new TopSysTenantRegisterAddBo());
  579. return AjaxResult.success();
  580. }*/
  581. @ApiOperation("登录双重验证")
  582. @GetMapping("common/free/dual_auth")
  583. public AjaxResult<String> dual_auth() {
  584. String dualAuth = configService.selectConfigByKey("login.dual.auth");
  585. return AjaxResult.success("成功", dualAuth);
  586. }
  587. @ApiOperation("decodeTel加密")
  588. @GetMapping("common/free/decodeTel")
  589. public AjaxResult<String> decodeTel(String key) {
  590. return AjaxResult.success("成功", EncryptHandler.encrypt(key));
  591. }
  592. @ApiOperation("分销打款结果回调")
  593. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  594. @Log(title = "打款", businessType = BusinessType.INSERT)
  595. @PostMapping("/common/free/payCashCallBack")
  596. public AjaxResult payCashCallBack(@RequestBody DistributionCashWithdrawalPayBo bo) {
  597. if (!ToolsUtils.checkSignCwSnFromOldSys(bo.getCwSn(), bo.getStamp().toString(), bo.getSign())) {
  598. return AjaxResult.error("签名错误");
  599. }
  600. return AjaxResult.success("成功", iDistributionCashWithdrawalService.payCashCallBack(bo) ? 1 : 0);
  601. }
  602. @ApiOperation("根据身份证查询当前学员是否有学习")
  603. @GetMapping("common/free/getStudyTimeByCard")
  604. public AjaxResult<UserStudyTimeVo> getStudyTimeByCard(@RequestParam("idCard")String idCard,@RequestParam("type")Integer type) {
  605. return AjaxResult.success(iUserService.getStudyTimeByCard(idCard,type));
  606. }
  607. /**
  608. * 获取企业ID
  609. */
  610. @ApiOperation("获取企业ID")
  611. @GetMapping("common/free/findTenantId")
  612. public AjaxResult<String> findTenantId(SysTenantQueryBo bo) {
  613. Long tenantId = iSysTenantService.findTenantId(bo);
  614. if (Validator.isNotEmpty(tenantId)) {
  615. return AjaxResult.success("成功", tenantId.toString());
  616. } else {
  617. if (Validator.isNotEmpty(bo.getHostH5()) && bo.getHostH5().equals("120.79.166.78:19012")) {
  618. return AjaxResult.success("成功", "867735392558919680");
  619. }
  620. if (Validator.isNotEmpty(bo.getHostLive()) && bo.getHostLive().equals("120.79.166.78:19012")) {
  621. return AjaxResult.success("成功", "867735392558919680");
  622. }
  623. if (Validator.isNotEmpty(bo.getHostPc()) && bo.getHostPc().equals("120.79.166.78:19012")) {
  624. return AjaxResult.success("成功", "867735392558919680");
  625. }
  626. if (Validator.isNotEmpty(bo.getHostAdmin()) && bo.getHostAdmin().equals("120.79.166.78:19012")) {
  627. return AjaxResult.success("成功", "867735392558919680");
  628. }
  629. if (Validator.isNotEmpty(bo.getHostH5Seller()) && bo.getHostH5Seller().equals("120.79.166.78:19012")) {
  630. return AjaxResult.success("成功", "867735392558919680");
  631. }
  632. return AjaxResult.error(511, "失败", null);
  633. }
  634. }
  635. /**
  636. * 获取企业ID
  637. */
  638. @ApiOperation("获取系统配置")
  639. @GetMapping("common/free/config")
  640. public AjaxResult<Map<String, Object>> findConfig(SysTenantQueryBo bo) {
  641. Map<String, Object> map = new HashMap<>();
  642. String jsonStr = configService.selectConfigByKey("home.header");
  643. JSONObject objectJson = JSON.parseObject(jsonStr);
  644. if(Validator.isEmpty(objectJson)){
  645. throw new CustomException("数据错误");
  646. }
  647. map.put("companyName", String.valueOf(objectJson.get("companyName")));
  648. return AjaxResult.success(map);
  649. }
  650. @ApiOperation("获取微信参数")
  651. @GetMapping("app/common/wx/config")
  652. public AjaxResult<Map<String, Object>> wxConfig() {
  653. Map<String, Object> map = new HashMap<>();
  654. String smallAppId = configService.selectConfigByKey("wx.small.appid");
  655. String gzhAppId = configService.selectConfigByKey("wx.gzh.appid");
  656. map.put("smallAppId", smallAppId);
  657. map.put("gzhAppId", gzhAppId);
  658. return AjaxResult.success(map);
  659. }
  660. @ApiOperation("移动端配置参数")
  661. @GetMapping("app/common/mobileConfig")
  662. public AjaxResult<Map<String, Object>> mobileConfig(ConfigQueryBo bo) {
  663. Map<String, Object> map = new HashMap<>();
  664. String json = configService.selectConfigByKey("home.mobile");
  665. map.put("mobileConfig", json);
  666. return AjaxResult.success(map);
  667. }
  668. @ApiOperation("通过分享code查询业务员用户信息")
  669. @GetMapping("app/common/distribution/getInfoByShareCode")
  670. public AjaxResult<DistributionSellerVo> getInfoByShareCode(String shareCode) {
  671. DistributionSellerVo vo = iDistributionSellerService.queryByShareCode(shareCode);
  672. vo.setNull();
  673. String jsonStr = configService.selectConfigByKey("home.header");
  674. JSONObject objectJson = JSON.parseObject(jsonStr);
  675. vo.setTenantName(String.valueOf(objectJson.get("companyName")));
  676. return AjaxResult.success(vo);
  677. }
  678. @ApiOperation("获取分销活动商品列表")
  679. @GetMapping("app/common/distribution/getGoodsList")
  680. public TableDataInfo<ActivityGoodsPriceVo> distributionGoodsList(DistributionActivityGoodsQueryBo bo) {
  681. startPage();
  682. List<ActivityGoodsPriceVo> list = iDistributionActivityGoodsService.getGoodsList(bo);
  683. return getDataTable(list);
  684. }
  685. @ApiOperation("学时抽查")
  686. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  687. @Log(title = "学时抽查", businessType = BusinessType.INSERT)
  688. @PostMapping("/common/free/decryptOfficialInfo")
  689. public AjaxResult<ClassPeriodStudentVo> decryptOfficialInfo(@RequestBody ClassGradeDecryptQueryBo bo) {
  690. return AjaxResult.success(iClassGradeUserService.DecryptOfficialInfo(bo));
  691. }
  692. @ApiOperation("七大员学时抽查")
  693. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  694. @Log(title = "学时抽查", businessType = BusinessType.INSERT)
  695. @PostMapping("/common/free/decryptSevenOfficialInfo")
  696. public AjaxResult<ClassPeriodStudentVo> decryptSevenOfficialInfo(@RequestBody ClassGradeDecryptQueryBo bo) {
  697. return AjaxResult.success(iClassGradeUserService.DecryptSevenOfficialInfo(bo));
  698. }
  699. @ApiOperation("学时抽查加密")
  700. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  701. @PostMapping("/common/free/encryptDes")
  702. public AjaxResult encryptDes(@RequestBody ClassGradeDecryptQueryBo bo) {
  703. try{
  704. byte[] Keys = new byte[]{0x22, 0x34, 0x76, 0x58, (byte) 0x90, (byte) 0xAB, (byte) 0xAD, (byte) 0xBF};
  705. byte[] rgbKey = "83A3C737FC54B575CC2ABDEFDCE090".substring(0, 8).getBytes("UTF-8");
  706. // String source = "bh="+bo.getBh()+"&idnum="+bo.getIdnum()+"&datetime=20230821";
  707. String source = "bh="+bo.getBh()+"&idnum="+bo.getIdnum()+"&datetime="+bo.getData();
  708. System.out.println(source);
  709. return AjaxResult.success(ToolsUtils.encryptDesNew(source,bo.getToken().substring(0, 8)));
  710. }catch (Exception e){
  711. return null;
  712. }
  713. }
  714. @ApiOperation("学时抽查解密")
  715. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  716. @PostMapping("/common/free/dncryptDes")
  717. public AjaxResult dncryptDes(@RequestBody ClassGradeDecryptQueryBo bo) {
  718. try{
  719. byte[] Keys = new byte[]{0x22, 0x34, 0x76, 0x58, (byte) 0x90, (byte) 0xAB, (byte) 0xAD, (byte) 0xBF};
  720. byte[] rgbKey = "01b5d9833987efdff54483cdc9720da6".substring(0, 8).getBytes("UTF-8");
  721. System.out.println(ToolsUtils.decryptDesNew(bo.getData(), bo.getToken().substring(0, 8)));
  722. return AjaxResult.success();
  723. }catch (Exception e){
  724. System.out.println(e.getMessage());
  725. return null;
  726. }
  727. }
  728. @ApiOperation("商品列表")
  729. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  730. @Log(title = "商品列表", businessType = BusinessType.INSERT)
  731. @GetMapping("/common/free/goods/list")
  732. public TableDataInfo<GoodsVo> goodsList(GoodsQueryBo bo) {
  733. /* bo.setStatus(new ArrayList<Integer>(){{
  734. add(1);
  735. }});*/
  736. startPage();
  737. List<GoodsVo> list = iGoodsService.selectList(bo);
  738. return getDataTable(list);
  739. }
  740. @ApiOperation("批量学时信息推送")
  741. @PreAuthorize("@ss.hasPermi('app:user:edit')")
  742. @PostMapping("/common/free/pushPeriod")
  743. public AjaxResult pushPeriod(@RequestBody List<ClassGradeUserQueryBo> list) {
  744. return AjaxResult.success(iClassGradeUserService.pushOfficialPeriodMore(list));
  745. }
  746. @ApiOperation("测试获取山东题库")
  747. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  748. @Log(title = "测试获取山东题库", businessType = BusinessType.INSERT)
  749. @GetMapping("/common/free/getShanDongExam")
  750. public AjaxResult getShanDongExam(GoodsQueryBo bo) throws UnsupportedEncodingException {
  751. // System.out.println(bo.getBuyNote());
  752. iVodService.describeMediaInfos(null);
  753. return AjaxResult.success();
  754. }
  755. @ApiOperation("测试网银")
  756. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  757. @Log(title = "测试网银", businessType = BusinessType.INSERT)
  758. @GetMapping("/common/free/zsBank")
  759. public AjaxResult zsBank() {
  760. String date = DateUtils.dateTimeNow("yyyyMMdd");
  761. // System.out.println(iZsBankService.searchBreakPoint(null,"755915680210507",date,date));
  762. return AjaxResult.success();
  763. }
  764. @ApiOperation("旧系统post请求")
  765. @PostMapping("/common/free/clientPost")
  766. public AjaxResult<Void> clientPost(@RequestBody ClientPostAddBo bo) {
  767. ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo();
  768. queryBo.setUserId(434L);
  769. queryBo.setGradeId(1738L);
  770. queryBo.setOrderGoodsId(5252L);
  771. ClassGradeUserVo userVo = classGradeUserMapper.selectUser(queryBo);
  772. Major major = iMajorService.getOne(new LambdaQueryWrapper<Major>()
  773. .eq(Major::getId, 38));
  774. if("材料员".equals(major.getCategoryName())||"劳务员".equals(major.getCategoryName())||"资料员".equals(major.getCategoryName())){
  775. if(userVo.getEduLevel().equals("小学")||userVo.getEduLevel().equals("中学")){
  776. userVo.setEduLevel("高中");
  777. }
  778. }else{
  779. if(userVo.getEduLevel().equals("小学")||userVo.getEduLevel().equals("中学")||userVo.getEduLevel().equals("职高")||userVo.getEduLevel().equals("高中")){
  780. userVo.setEduLevel("专科");
  781. }
  782. }
  783. System.out.println(userVo);
  784. return AjaxResult.success();
  785. }
  786. @ApiOperation("新考题库导入")
  787. @GetMapping("/common/question/import")
  788. public AjaxResult<Void> questionImport() {
  789. iQuestionService.questionImport();
  790. return AjaxResult.success();
  791. }
  792. @ApiOperation("七大员推送权限结果回调")
  793. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  794. @PostMapping("/common/free/sevenPushAuthCallBack")
  795. public AjaxResult sevenPushAuthCallBack(@RequestBody SevenPushAuthAddBo bo) {
  796. ServletUtils.getRequestAttributes().getResponse().setHeader("TenantId", "867735392558919680");
  797. if (!ToolsUtils.checkSignCwSnFromOldSys(bo.getGradeUserId().toString(), bo.getStamp().toString(), bo.getSign())) {
  798. return AjaxResult.error("签名错误");
  799. }
  800. return AjaxResult.success("成功", iClassGradeUserService.sevenPushAuthCallBack(bo) ? 1 : 0);
  801. }
  802. @PostMapping("/common/question/getMeasureList")
  803. public AjaxResult<String> getMeasureList() {
  804. String aa = iQuestionService.getMeasureList();
  805. return AjaxResult.success("操作成功",aa);
  806. }
  807. @PostMapping("/common/question/getTopicList")
  808. public AjaxResult<String> getTopicList(@RequestBody String topParam) {
  809. String aa = iQuestionService.getTopicList(topParam);
  810. return AjaxResult.success("操作成功", aa);
  811. }
  812. @PostMapping("/common/free/makeBatchCertificatePhoto")
  813. public AjaxResult makeBatchCertificatePhoto(@RequestBody ClassGradeUserQueryBo bo) {
  814. iCertificateTpService.makeBatchCertificatePhoto(bo);
  815. return AjaxResult.success();
  816. }
  817. @ApiOperation("导入二建精选题目Word模板列表")
  818. @PreAuthorize("@ss.hasPermi('system:question:import')")
  819. @PostMapping("/importErJianWordQuestionList")
  820. public AjaxResult<Map<String,Object>> importErJianWordQuestionList(MultipartFile file, Long eduId, Long projectId, Long businessId, Long subjectId) throws Exception {
  821. Map<String, Object> result = iQuestionService.importErJianWordQuestionList(file, eduId, projectId, businessId, subjectId);
  822. return AjaxResult.success(result);
  823. }
  824. @ApiOperation("人脸属性")
  825. @PostMapping("/common/free/detectFaceAttributes")
  826. public AjaxResult<Void> DetectFaceAttributes(@RequestBody FaceQueryBo bo) {
  827. iFaceService.DetectFace(bo);
  828. return AjaxResult.success();
  829. }
  830. /**
  831. * 回复试卷业务层次
  832. */
  833. @ApiOperation("回复试卷业务层次")
  834. @GetMapping("/common/free/update/exam/business")
  835. public AjaxResult<Void> updateExamBusiness() {
  836. return toAjax(iGoodsService.updateExamBusiness() ? 1 : 0);
  837. }
  838. @ApiOperation("获取用户同专业下课程")
  839. @PostMapping("/common/free/studyRecord")
  840. public AjaxResult<Void> studyRecord(MultipartFile file) {
  841. List<UserStudyExportVo> customerBos = EasyPoiUtil.importExcel(file,0,1,UserStudyExportVo.class);
  842. return AjaxResult.success(iUserService.studyRecord(customerBos));
  843. }
  844. @ApiOperation("获取业务层次下的所有班级")
  845. @PostMapping("/common/free/class")
  846. public TableDataInfo<ClassBusinessVo> getBusinessClassList(@RequestBody ClassBusinessQuery query) {
  847. if (!ToolsUtils.checkSignFromOldSys(query.getStamp().toString(), query.getSign())) {
  848. throw new CustomException("签名错误");
  849. }
  850. startPage();
  851. List<ClassBusinessVo> list = iClassGradeService.getBusinessClassList(query);
  852. return getDataTable(list);
  853. }
  854. @ApiOperation("外部下单接口")
  855. @PostMapping("/common/free/order")
  856. public AjaxResult<Void> commonWithoutOrder(@RequestBody CommonOrderBo bo) {
  857. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  858. throw new CustomException("签名错误");
  859. }
  860. return AjaxResult.success(iOrderService.commonWithoutOrder(bo));
  861. }
  862. @ApiOperation("外部获取班级接口")
  863. @PostMapping("/common/free/grade/list")
  864. public AjaxResult<List<CommonGradeVo>> getCommonGrade(@RequestBody CommonGradeBo bo) {
  865. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  866. throw new CustomException("签名错误");
  867. }
  868. List<CommonGradeVo> list = iOrderService.getCommonGrade(bo);
  869. return AjaxResult.success(list);
  870. }
  871. }