CommonController.java 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599
  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.ServletUtils;
  19. import com.zhongzheng.common.utils.ToolsUtils;
  20. import com.zhongzheng.common.utils.file.FileUploadUtils;
  21. import com.zhongzheng.common.utils.file.FileUtils;
  22. import com.zhongzheng.common.utils.poi.ExcelUtil;
  23. import com.zhongzheng.framework.config.ServerConfig;
  24. import com.zhongzheng.framework.web.service.WxLoginService;
  25. import com.zhongzheng.modules.activity.vo.ActivityGoodsPriceVo;
  26. import com.zhongzheng.modules.base.bo.ConfigQueryBo;
  27. import com.zhongzheng.modules.distribution.bo.DistributionActivityGoodsQueryBo;
  28. import com.zhongzheng.modules.distribution.bo.DistributionCashWithdrawalPayBo;
  29. import com.zhongzheng.modules.distribution.service.IDistributionActivityGoodsService;
  30. import com.zhongzheng.modules.distribution.service.IDistributionCashWithdrawalService;
  31. import com.zhongzheng.modules.distribution.service.IDistributionSellerService;
  32. import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
  33. import com.zhongzheng.modules.goods.bo.AlikeGoodsBo;
  34. import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
  35. import com.zhongzheng.modules.goods.bo.GoodsStudyUrlBo;
  36. import com.zhongzheng.modules.goods.bo.UserGoodsListBo;
  37. import com.zhongzheng.modules.goods.service.IGoodsService;
  38. import com.zhongzheng.modules.goods.vo.GoodsJzsVo;
  39. import com.zhongzheng.modules.goods.vo.GoodsVo;
  40. import com.zhongzheng.modules.goods.vo.UserGoodsListVo;
  41. import com.zhongzheng.modules.grade.bo.*;
  42. import com.zhongzheng.modules.grade.service.IClassGradeService;
  43. import com.zhongzheng.modules.grade.service.IClassGradeUserService;
  44. import com.zhongzheng.modules.grade.service.IUserPeriodService;
  45. import com.zhongzheng.modules.grade.vo.ClassPeriodStudentVo;
  46. import com.zhongzheng.modules.grade.vo.SyncGoodsExport;
  47. import com.zhongzheng.modules.order.bo.TopOldOrderRefundBo;
  48. import com.zhongzheng.modules.order.domain.Order;
  49. import com.zhongzheng.modules.order.domain.OrderGoods;
  50. import com.zhongzheng.modules.order.service.IOrderGoodsRefundService;
  51. import com.zhongzheng.modules.order.service.IOrderGoodsService;
  52. import com.zhongzheng.modules.order.service.IOrderService;
  53. import com.zhongzheng.modules.order.vo.OrderGoodsVo;
  54. import com.zhongzheng.modules.system.bo.SysTenantAdminBo;
  55. import com.zhongzheng.modules.system.bo.SysTenantAdminOldBo;
  56. import com.zhongzheng.modules.system.bo.SysTenantQueryBo;
  57. import com.zhongzheng.modules.system.domain.SysTenant;
  58. import com.zhongzheng.modules.system.service.ISysConfigService;
  59. import com.zhongzheng.modules.system.service.ISysTenantService;
  60. import com.zhongzheng.modules.system.service.ISysWebService;
  61. import com.zhongzheng.modules.system.vo.SysTenantVo;
  62. import com.zhongzheng.modules.top.user.bo.TopSysTenantRegisterAddBo;
  63. import com.zhongzheng.modules.top.user.service.ITopSysTenantRegisterService;
  64. import com.zhongzheng.modules.user.service.IUserService;
  65. import com.zhongzheng.modules.wx.bo.WxShareGoodsBo;
  66. import com.zhongzheng.modules.wx.service.IWxPayService;
  67. import io.swagger.annotations.ApiOperation;
  68. import org.slf4j.Logger;
  69. import org.slf4j.LoggerFactory;
  70. import org.springframework.beans.factory.annotation.Autowired;
  71. import org.springframework.http.MediaType;
  72. import org.springframework.security.access.prepost.PreAuthorize;
  73. import org.springframework.web.bind.annotation.GetMapping;
  74. import org.springframework.web.bind.annotation.PostMapping;
  75. import org.springframework.web.bind.annotation.RequestBody;
  76. import org.springframework.web.bind.annotation.RestController;
  77. import org.springframework.web.multipart.MultipartFile;
  78. import javax.servlet.http.HttpServletRequest;
  79. import javax.servlet.http.HttpServletResponse;
  80. import java.util.ArrayList;
  81. import java.util.HashMap;
  82. import java.util.List;
  83. import java.util.Map;
  84. import java.util.stream.Collectors;
  85. /**
  86. * 通用请求处理
  87. *
  88. * @author zhongzheng
  89. */
  90. @RestController
  91. public class CommonController extends BaseController {
  92. private static final Logger log = LoggerFactory.getLogger(CommonController.class);
  93. @Autowired
  94. private ServerConfig serverConfig;
  95. @Autowired
  96. private IGoodsService iGoodsService;
  97. @Autowired
  98. private IUserPeriodService iUserPeriodService;
  99. @Autowired
  100. private IOrderService iOrderService;
  101. @Autowired
  102. private WxLoginService wxLoginService;
  103. @Autowired
  104. private IOrderGoodsService iOrderGoodsService;
  105. @Autowired
  106. private IWxPayService iWxPayService;
  107. @Autowired
  108. private IClassGradeService iClassGradeService;
  109. @Autowired
  110. private ISysTenantService iSysTenantService;
  111. @Autowired
  112. private IUserService iUserService;
  113. @Autowired
  114. private ITopSysTenantRegisterService iTopSysTenantRegisterService;
  115. @Autowired
  116. private ISysWebService webService;
  117. @Autowired
  118. private ISysConfigService configService;
  119. @Autowired
  120. private IDistributionCashWithdrawalService iDistributionCashWithdrawalService;
  121. @Autowired
  122. private IDistributionSellerService iDistributionSellerService;
  123. @Autowired
  124. private IDistributionActivityGoodsService iDistributionActivityGoodsService;
  125. @Autowired
  126. private IOrderGoodsRefundService iOrderGoodsRefundService;
  127. @Autowired
  128. private IClassGradeUserService iClassGradeUserService;
  129. /**
  130. * 通用下载请求
  131. *
  132. * @param fileName 文件名称
  133. * @param delete 是否删除
  134. */
  135. @GetMapping("common/download")
  136. public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) {
  137. try {
  138. if (!FileUtils.checkAllowDownload(fileName)) {
  139. throw new Exception(StrUtil.format("文件名称({})非法,不允许下载。 ", fileName));
  140. }
  141. String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
  142. String filePath = RuoYiConfig.getDownloadPath() + fileName;
  143. response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
  144. FileUtils.setAttachmentResponseHeader(response, realFileName);
  145. FileUtils.writeBytes(filePath, response.getOutputStream());
  146. if (delete)
  147. {
  148. FileUtils.deleteFile(filePath);
  149. }
  150. } catch (Exception e) {
  151. log.error("下载文件失败", e);
  152. }
  153. }
  154. /**
  155. * 通用上传请求
  156. */
  157. @PostMapping("/common/upload")
  158. public AjaxResult uploadFile(MultipartFile file) throws Exception {
  159. try {
  160. // 上传文件路径
  161. String filePath = RuoYiConfig.getUploadPath();
  162. // 上传并返回新文件名称
  163. String fileName = FileUploadUtils.upload(filePath, file);
  164. String url = serverConfig.getUrl() + fileName;
  165. AjaxResult ajax = AjaxResult.success();
  166. ajax.put("fileName", fileName);
  167. ajax.put("url", url);
  168. return ajax;
  169. } catch (Exception e) {
  170. return AjaxResult.error(e.getMessage());
  171. }
  172. }
  173. /**
  174. * 本地资源通用下载
  175. */
  176. @GetMapping("/common/download/resource")
  177. public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
  178. throws Exception {
  179. try {
  180. if (!FileUtils.checkAllowDownload(resource)) {
  181. throw new Exception(StrUtil.format("资源文件({})非法,不允许下载。 ", resource));
  182. }
  183. // 本地资源路径
  184. String localPath = RuoYiConfig.getProfile();
  185. // 数据库资源地址
  186. String downloadPath = localPath + StrUtil.subAfter(resource, Constants.RESOURCE_PREFIX, false);
  187. // 下载名称
  188. String downloadName = StrUtil.subAfter(downloadPath, "/", true);
  189. response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
  190. FileUtils.setAttachmentResponseHeader(response, downloadName);
  191. FileUtils.writeBytes(downloadPath, response.getOutputStream());
  192. } catch (Exception e) {
  193. log.error("下载文件失败", e);
  194. }
  195. }
  196. @ApiOperation("获取继教二建的商品结构列表")
  197. @GetMapping("common/jzs/goodsList")
  198. public AjaxResult<GoodsJzsVo> goodsList() {
  199. GoodsQueryBo queryBo = new GoodsQueryBo();
  200. List<SyncGoodsExport> goodsJzsVoList = iGoodsService.selectRjJzsList(queryBo);
  201. ExcelUtil<SyncGoodsExport> util = new ExcelUtil<SyncGoodsExport>(SyncGoodsExport.class);
  202. // ExcelUtil<SyncGoodsExport> util = new ExcelUtil<>(SyncGoodsExport.class);
  203. return util.exportEasyExcel(util.exportEasyData(goodsJzsVoList), "继建商品");
  204. }
  205. @ApiOperation("测试列表")
  206. @PostMapping("common/jzs/test")
  207. public AjaxResult<Void> testList(@RequestBody UserPeriodEditBo bo) {
  208. UserPeriodEditBo queryBo = new UserPeriodEditBo();
  209. queryBo.setGoodsId(1085L);
  210. queryBo.setGradeId(978L);
  211. queryBo.setUserId(114L);
  212. iUserPeriodService.syncStudyLogToOld(bo);
  213. return AjaxResult.success();
  214. }
  215. @ApiOperation("旧系统打回重审")
  216. @PostMapping("common/rollback/period")
  217. public AjaxResult<Void> rollbackPeriod(@RequestBody RollBackPeriodBo bo) {
  218. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  219. return AjaxResult.error("签名错误");
  220. }
  221. UserPeriodEditBo queryBo = new UserPeriodEditBo();
  222. queryBo.setRollBackPlat(2);
  223. queryBo.setOrderGoodsId(bo.getOrderGoodsId());
  224. iUserPeriodService.confirmRollbackPeriod(queryBo);
  225. return AjaxResult.success();
  226. }
  227. @ApiOperation("旧系统获取用户商品信息")
  228. @PostMapping("common/get/goods")
  229. public AjaxResult getUserGoodsList(@RequestBody UserGoodsListBo bo) {
  230. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  231. return AjaxResult.error("签名错误");
  232. }
  233. List<UserGoodsListVo> voList = iGoodsService.getUserGoodsList(bo);
  234. return AjaxResult.success(voList);
  235. }
  236. @ApiOperation("旧系统获取商品学习中心路径")
  237. @PostMapping("common/get/goods/studyUrl")
  238. public AjaxResult getGoodsStudyUrl(@RequestBody GoodsStudyUrlBo bo) {
  239. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  240. return AjaxResult.error("签名错误");
  241. }
  242. String studyUrl = iGoodsService.getGoodsStudyUrl(bo);
  243. return AjaxResult.success(studyUrl);
  244. }
  245. @ApiOperation("批量查询官方班级人数")
  246. @PostMapping("common/free/batch/officialGradeCount")
  247. public AjaxResult batchOfficialGradeCount(@RequestBody ClassGradeBatchQueryBo bo) {
  248. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  249. return AjaxResult.error("签名错误");
  250. }
  251. String[] list = bo.getOfficialNameStr().split(",");
  252. List<Map<String, Object>> numList = new ArrayList<>();
  253. for (String officialName : list) {
  254. Map<String, Object> map = new HashMap<>();
  255. ClassGradeQueryBo queryBo = new ClassGradeQueryBo();
  256. queryBo.setOfficialName(officialName);
  257. map.put("officialName", officialName);
  258. Integer num = iClassGradeService.queryOfficialGradeCount(queryBo);
  259. map.put("num", num);
  260. numList.add(map);
  261. }
  262. return AjaxResult.success(numList);
  263. }
  264. @ApiOperation("查询官方班级详情")
  265. @PostMapping("common/free/officialGradeDetail")
  266. public AjaxResult officialGradeDetail(@RequestBody ClassNpUserInfoBo bo) {
  267. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  268. return AjaxResult.error("签名错误");
  269. }
  270. return AjaxResult.success(iClassGradeService.officialGradeDetail(bo));
  271. }
  272. @ApiOperation("查询预开班官方班级编号")
  273. @PostMapping("common/free/officialGrade/num")
  274. public AjaxResult getOfficialGradeNum(@RequestBody ClassOfficialNumBo bo) {
  275. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  276. return AjaxResult.error("签名错误");
  277. }
  278. return AjaxResult.success(iClassGradeService.getOfficialGradeNum(bo));
  279. }
  280. @ApiOperation("预报名班级开班")
  281. @PostMapping("common/free/open/class")
  282. public AjaxResult openOfficialGrade(@RequestBody ClassGradeOpenBo bo) {
  283. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  284. return AjaxResult.error("签名错误");
  285. }
  286. iClassGradeService.openOfficialGrade(bo);
  287. return AjaxResult.success();
  288. }
  289. @ApiOperation("测试分班")
  290. @GetMapping("common/jzs/grade")
  291. public AjaxResult<Void> testGrade() {
  292. // iClassGradeService.checkEjjjPeopleNumLimit(195L,984L);
  293. // iUserService.batchUpdateTelId();
  294. return AjaxResult.success();
  295. }
  296. @ApiOperation("获取商品分享码")
  297. @PostMapping("/shareGoodsCode")
  298. public AjaxResult getWxSmallAccessToken(@RequestBody WxShareGoodsBo bo) {
  299. String token = wxLoginService.shareGoodsCode(bo);
  300. return AjaxResult.success(token);
  301. }
  302. @ApiOperation("获取同价格商品")
  303. @PostMapping("/common/alike/goods")
  304. public AjaxResult getAlikeGoods(@RequestBody AlikeGoodsBo bo) {
  305. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  306. return AjaxResult.error("签名错误");
  307. }
  308. List<GoodsVo> voList = iGoodsService.getAlikeGoods(bo);
  309. return AjaxResult.success(voList);
  310. }
  311. @ApiOperation("推送分销商品")
  312. @PostMapping("/toshareGoods")
  313. public AjaxResult toshareGoods(@RequestBody WxShareGoodsBo bo) {
  314. String out_trade_no = "22110210122554298238";
  315. Map<String, Object> map = new HashMap<>();
  316. map.put("order_sn", out_trade_no);
  317. List<OrderGoods> goodsList = iOrderGoodsService.listByMap(map);
  318. Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, out_trade_no));
  319. iWxPayService.shareToOldSys(order, goodsList);
  320. return AjaxResult.success();
  321. }
  322. @ApiOperation("创建新机构后台")
  323. @PostMapping("common/create/tenant/admin")
  324. public AjaxResult createTenantAdmin(@RequestBody SysTenantAdminBo bo) {
  325. iSysTenantService.createTenantAdmin(bo);
  326. return AjaxResult.success();
  327. }
  328. @ApiOperation("创建新机构后台(旧系统)")
  329. @PostMapping("common/create/tenant/admin/old")
  330. public AjaxResult createTenantAdminOld(@RequestBody SysTenantAdminOldBo bo) {
  331. iSysTenantService.createTenantAdminOld(bo);
  332. return AjaxResult.success();
  333. }
  334. @ApiOperation("同步其他机构角色菜单")
  335. @PostMapping("common/update/role")
  336. public AjaxResult updateRoleTenant(@RequestBody List<Long> tenantIds) {
  337. iSysTenantService.updateRoleTenant(tenantIds);
  338. return AjaxResult.success();
  339. }
  340. @ApiOperation("同步其他机构字典")
  341. @PostMapping("common/update/dict")
  342. public AjaxResult updateDictTenant(@RequestBody List<Long> tenantIds) {
  343. iSysTenantService.updateDictTenant(tenantIds);
  344. return AjaxResult.success();
  345. }
  346. /**
  347. * 总平台退款支付
  348. */
  349. @ApiOperation("总平台退款支付")
  350. @PostMapping("/common/platform/pay")
  351. public AjaxResult<Void> platformRefundPay(@RequestBody List<TopOldOrderRefundBo> bo) {
  352. return toAjax(iOrderGoodsRefundService.platformRefundPay(bo) ? 1 : 0);
  353. }
  354. /**
  355. * 总平台退款支付订单处理
  356. */
  357. @ApiOperation("总平台退款支付订单处理")
  358. @PostMapping("/common/platform/pay/handle")
  359. public AjaxResult<Void> platformRefundPayHandle(@RequestBody List<OrderGoodsVo> orderGoodsVos) {
  360. return toAjax(iOrderGoodsRefundService.handleRefundOrder(orderGoodsVos) ? 1 : 0);
  361. }
  362. @ApiOperation("获取企业列表")
  363. @GetMapping("common/tenant/list")
  364. public AjaxResult<List<SysTenantVo>> getTenantList() {
  365. String tenant = ServletUtils.getRequest().getHeader("TenantId");
  366. List<SysTenant> list = iSysTenantService.list();
  367. if (CollectionUtils.isEmpty(list)) {
  368. return AjaxResult.success(new ArrayList<>());
  369. }
  370. List<SysTenantVo> collect = list.stream().filter(x -> !x.getTenantId().equals(Long.valueOf(tenant)))
  371. .map(item -> BeanUtil.toBean(item, SysTenantVo.class)).collect(Collectors.toList());
  372. return AjaxResult.success(collect);
  373. }
  374. @ApiOperation("机构注册开通")
  375. @PostMapping("common/free/tenant/register")
  376. public AjaxResult tenantRegister(@RequestBody TopSysTenantRegisterAddBo bo) {
  377. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  378. return AjaxResult.error("签名错误");
  379. }
  380. return AjaxResult.success("成功", iTopSysTenantRegisterService.insertByAddBo(bo) ? 1 : 0);
  381. }
  382. @ApiOperation("重启服务restart")
  383. @PostMapping("common/free/webRestart")
  384. public AjaxResult<Void> webRestart(@RequestBody ConfigQueryBo bo) {
  385. if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
  386. return AjaxResult.error("签名错误");
  387. }
  388. webService.restartWebService();
  389. return AjaxResult.success();
  390. }
  391. /* @ApiOperation("nginx配置")
  392. @PostMapping("common/free/configNginxFile")
  393. public AjaxResult<Void> configNginxFile(@RequestBody SysNginxConfigAddBo bo) {
  394. iTopSysTenantRegisterService.test(new TopSysTenantRegisterAddBo());
  395. return AjaxResult.success();
  396. }*/
  397. @ApiOperation("登录双重验证")
  398. @GetMapping("common/free/dual_auth")
  399. public AjaxResult<String> dual_auth() {
  400. String dualAuth = configService.selectConfigByKey("login.dual.auth");
  401. return AjaxResult.success("成功", dualAuth);
  402. }
  403. @ApiOperation("decodeTel加密")
  404. @GetMapping("common/free/decodeTel")
  405. public AjaxResult<String> decodeTel(String key) {
  406. return AjaxResult.success("成功", EncryptHandler.decrypt(key));
  407. }
  408. @ApiOperation("分销打款结果回调")
  409. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  410. @Log(title = "打款", businessType = BusinessType.INSERT)
  411. @PostMapping("/common/free/payCashCallBack")
  412. public AjaxResult payCashCallBack(@RequestBody DistributionCashWithdrawalPayBo bo) {
  413. if (!ToolsUtils.checkSignCwSnFromOldSys(bo.getCwSn(), bo.getStamp().toString(), bo.getSign())) {
  414. return AjaxResult.error("签名错误");
  415. }
  416. return AjaxResult.success("成功", iDistributionCashWithdrawalService.payCashCallBack(bo) ? 1 : 0);
  417. }
  418. /**
  419. * 获取企业ID
  420. */
  421. @ApiOperation("获取企业ID")
  422. @GetMapping("common/free/findTenantId")
  423. public AjaxResult<String> findTenantId(SysTenantQueryBo bo) {
  424. Long tenantId = iSysTenantService.findTenantId(bo);
  425. if (Validator.isNotEmpty(tenantId)) {
  426. return AjaxResult.success("成功", tenantId.toString());
  427. } else {
  428. if (Validator.isNotEmpty(bo.getHostH5()) && bo.getHostH5().equals("120.79.166.78:19012")) {
  429. return AjaxResult.success("成功", "867735392558919680");
  430. }
  431. if (Validator.isNotEmpty(bo.getHostLive()) && bo.getHostLive().equals("120.79.166.78:19012")) {
  432. return AjaxResult.success("成功", "867735392558919680");
  433. }
  434. if (Validator.isNotEmpty(bo.getHostPc()) && bo.getHostPc().equals("120.79.166.78:19012")) {
  435. return AjaxResult.success("成功", "867735392558919680");
  436. }
  437. if (Validator.isNotEmpty(bo.getHostAdmin()) && bo.getHostAdmin().equals("120.79.166.78:19012")) {
  438. return AjaxResult.success("成功", "867735392558919680");
  439. }
  440. if (Validator.isNotEmpty(bo.getHostH5Seller()) && bo.getHostH5Seller().equals("120.79.166.78:19012")) {
  441. return AjaxResult.success("成功", "867735392558919680");
  442. }
  443. return AjaxResult.error(511, "失败", null);
  444. }
  445. }
  446. /**
  447. * 获取企业ID
  448. */
  449. @ApiOperation("获取系统配置")
  450. @GetMapping("common/free/config")
  451. public AjaxResult<Map<String, Object>> findConfig(SysTenantQueryBo bo) {
  452. Map<String, Object> map = new HashMap<>();
  453. String jsonStr = configService.selectConfigByKey("home.header");
  454. JSONObject objectJson = JSON.parseObject(jsonStr);
  455. if(Validator.isEmpty(objectJson)){
  456. throw new CustomException("数据错误");
  457. }
  458. map.put("companyName", String.valueOf(objectJson.get("companyName")));
  459. return AjaxResult.success(map);
  460. }
  461. @ApiOperation("获取微信参数")
  462. @GetMapping("app/common/wx/config")
  463. public AjaxResult<Map<String, Object>> wxConfig() {
  464. Map<String, Object> map = new HashMap<>();
  465. String smallAppId = configService.selectConfigByKey("wx.small.appid");
  466. String gzhAppId = configService.selectConfigByKey("wx.gzh.appid");
  467. map.put("smallAppId", smallAppId);
  468. map.put("gzhAppId", gzhAppId);
  469. return AjaxResult.success(map);
  470. }
  471. @ApiOperation("移动端配置参数")
  472. @GetMapping("app/common/mobileConfig")
  473. public AjaxResult<Map<String, Object>> mobileConfig(ConfigQueryBo bo) {
  474. Map<String, Object> map = new HashMap<>();
  475. String json = configService.selectConfigByKey("home.mobile");
  476. map.put("mobileConfig", json);
  477. return AjaxResult.success(map);
  478. }
  479. @ApiOperation("通过分享code查询业务员用户信息")
  480. @GetMapping("app/common/distribution/getInfoByShareCode")
  481. public AjaxResult<DistributionSellerVo> getInfoByShareCode(String shareCode) {
  482. DistributionSellerVo vo = iDistributionSellerService.queryByShareCode(shareCode);
  483. vo.setNull();
  484. String jsonStr = configService.selectConfigByKey("home.header");
  485. JSONObject objectJson = JSON.parseObject(jsonStr);
  486. vo.setTenantName(String.valueOf(objectJson.get("companyName")));
  487. return AjaxResult.success(vo);
  488. }
  489. @ApiOperation("获取分销活动商品列表")
  490. @GetMapping("app/common/distribution/getGoodsList")
  491. public TableDataInfo<ActivityGoodsPriceVo> distributionGoodsList(DistributionActivityGoodsQueryBo bo) {
  492. startPage();
  493. List<ActivityGoodsPriceVo> list = iDistributionActivityGoodsService.getGoodsList(bo);
  494. return getDataTable(list);
  495. }
  496. @ApiOperation("学时抽查")
  497. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  498. @Log(title = "学时抽查", businessType = BusinessType.INSERT)
  499. @PostMapping("/common/free/decryptOfficialInfo")
  500. public AjaxResult<ClassPeriodStudentVo> decryptOfficialInfo(@RequestBody ClassGradeDecryptQueryBo bo) {
  501. return AjaxResult.success(iClassGradeUserService.DecryptOfficialInfo(bo));
  502. }
  503. @ApiOperation("学时抽查加密")
  504. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  505. @PostMapping("/common/free/encryptDes")
  506. public AjaxResult encryptDes(@RequestBody ClassGradeDecryptQueryBo bo) {
  507. try{
  508. byte[] Keys = new byte[]{0x22, 0x34, 0x76, 0x58, (byte) 0x90, (byte) 0xAB, (byte) 0xAD, (byte) 0xBF};
  509. byte[] rgbKey = "0ca175b9c0f726a831d895e26933246".substring(0, 8).getBytes("UTF-8");
  510. String source = "bh="+bo.getBh()+"&idnum="+bo.getIdnum()+"&datetime=20230627";
  511. System.out.println(source);
  512. return AjaxResult.success(ToolsUtils.encryptDesNew(source,"0ca175b9c0f726a831d895e26933246".substring(0, 8)));
  513. }catch (Exception e){
  514. System.out.println(e.getMessage());
  515. return null;
  516. }
  517. }
  518. @ApiOperation("学时抽查解密")
  519. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  520. @PostMapping("/common/free/dncryptDes")
  521. public AjaxResult dncryptDes(@RequestBody ClassGradeDecryptQueryBo bo) {
  522. try{
  523. byte[] Keys = new byte[]{0x22, 0x34, 0x76, 0x58, (byte) 0x90, (byte) 0xAB, (byte) 0xAD, (byte) 0xBF};
  524. byte[] rgbKey = "01b5d9833987efdff54483cdc9720da6".substring(0, 8).getBytes("UTF-8");
  525. System.out.println(ToolsUtils.decryptDesNew(bo.getData(), "0ca175b9c0f726a831d895e26933246".substring(0, 8)));
  526. return AjaxResult.success();
  527. }catch (Exception e){
  528. System.out.println(e.getMessage());
  529. return null;
  530. }
  531. }
  532. @ApiOperation("商品列表")
  533. @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
  534. @Log(title = "商品列表", businessType = BusinessType.INSERT)
  535. @GetMapping("/common/free/goods/list")
  536. public TableDataInfo<GoodsVo> goodsList(GoodsQueryBo bo) {
  537. /* bo.setStatus(new ArrayList<Integer>(){{
  538. add(1);
  539. }});*/
  540. startPage();
  541. List<GoodsVo> list = iGoodsService.selectList(bo);
  542. return getDataTable(list);
  543. }
  544. }