CommonController.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. package com.zhongzheng.controller.common;
  2. import cn.hutool.core.lang.Validator;
  3. import cn.hutool.core.util.StrUtil;
  4. import com.alibaba.fastjson.JSON;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.zhongzheng.common.annotation.Log;
  7. import com.zhongzheng.common.config.RuoYiConfig;
  8. import com.zhongzheng.common.core.controller.BaseController;
  9. import com.zhongzheng.common.core.domain.AjaxResult;
  10. import com.zhongzheng.common.core.domain.model.TopLoginUser;
  11. import com.zhongzheng.common.core.page.TableDataInfo;
  12. import com.zhongzheng.common.core.redis.RedisCache;
  13. import com.zhongzheng.common.enums.BusinessType;
  14. import com.zhongzheng.common.exception.CustomException;
  15. import com.zhongzheng.common.utils.DateUtils;
  16. import com.zhongzheng.common.utils.ServletUtils;
  17. import com.zhongzheng.common.utils.ToolsUtils;
  18. import com.zhongzheng.common.utils.file.FileUtils;
  19. import com.zhongzheng.framework.web.service.WxLoginService;
  20. import com.zhongzheng.modules.activity.vo.ActivityGoodsPriceVo;
  21. import com.zhongzheng.modules.base.bo.ConfigQueryBo;
  22. import com.zhongzheng.modules.course.bo.CourseQueryBo;
  23. import com.zhongzheng.modules.course.bo.CourseTopicGoodsQueryBo;
  24. import com.zhongzheng.modules.course.service.ICourseService;
  25. import com.zhongzheng.modules.course.service.ICourseTopicService;
  26. import com.zhongzheng.modules.course.vo.CourseTopicGoodsVo;
  27. import com.zhongzheng.modules.course.vo.CourseTopicVo;
  28. import com.zhongzheng.modules.course.vo.CourseUserVo;
  29. import com.zhongzheng.modules.data.domain.DataWxTpClick;
  30. import com.zhongzheng.modules.data.service.IDataWxTpClickService;
  31. import com.zhongzheng.modules.distribution.bo.DistributionActivityGoodsQueryBo;
  32. import com.zhongzheng.modules.distribution.service.IDistributionActivityGoodsService;
  33. import com.zhongzheng.modules.distribution.service.IDistributionSellerService;
  34. import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
  35. import com.zhongzheng.modules.goods.bo.DistributionGoodsBo;
  36. import com.zhongzheng.modules.goods.service.IGoodsSpecTemplateService;
  37. import com.zhongzheng.modules.goods.vo.GoodsSpecTemplateVo;
  38. import com.zhongzheng.modules.goods.vo.GoodsUserVo;
  39. import com.zhongzheng.modules.goods.vo.GoodsVo;
  40. import com.zhongzheng.modules.order.domain.Printer;
  41. import com.zhongzheng.modules.sdk.bo.TopNuoMplatformLogAddBo;
  42. import com.zhongzheng.modules.sdk.service.ITopNuoMplatformLogService;
  43. import com.zhongzheng.modules.sdk.service.NuonuoService;
  44. import com.zhongzheng.modules.system.bo.SysTenantQueryBo;
  45. import com.zhongzheng.modules.system.service.ISysConfigService;
  46. import com.zhongzheng.modules.system.service.ISysTenantService;
  47. import com.zhongzheng.modules.top.financial.bo.*;
  48. import com.zhongzheng.modules.top.financial.vo.TopOrderLogVo;
  49. import com.zhongzheng.modules.top.financial.vo.TopOrderOrgVo;
  50. import com.zhongzheng.modules.top.financial.vo.TopOrderRevocationVo;
  51. import com.zhongzheng.modules.top.financial.vo.TopSellerDiscountVo;
  52. import com.zhongzheng.modules.top.goods.bo.*;
  53. import com.zhongzheng.modules.top.goods.service.ITopOldOrderService;
  54. import com.zhongzheng.modules.top.order.bo.PayOrderCallBackBo;
  55. import com.zhongzheng.modules.wx.bo.WxInfoBo;
  56. import com.zhongzheng.modules.wx.bo.WxInfoQuery;
  57. import com.zhongzheng.modules.wx.bo.WxServerBody;
  58. import com.zhongzheng.modules.wx.domain.*;
  59. import io.swagger.annotations.Api;
  60. import io.swagger.annotations.ApiOperation;
  61. import lombok.RequiredArgsConstructor;
  62. import org.slf4j.Logger;
  63. import org.slf4j.LoggerFactory;
  64. import org.springframework.beans.factory.annotation.Autowired;
  65. import org.springframework.http.MediaType;
  66. import org.springframework.security.access.prepost.PreAuthorize;
  67. import org.springframework.web.bind.annotation.*;
  68. import javax.servlet.http.HttpServletRequest;
  69. import javax.servlet.http.HttpServletResponse;
  70. import java.text.ParseException;
  71. import java.util.HashMap;
  72. import java.util.List;
  73. import java.util.Map;
  74. /**
  75. * 课程Controller
  76. *
  77. * @author hjl
  78. * @date 2021-10-09
  79. */
  80. @Api(value = "游客访问接口", tags = {"游客访问接口"})
  81. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  82. @RestController
  83. @RequestMapping("/sys/common/")
  84. public class CommonController extends BaseController {
  85. private static final Logger log = LoggerFactory.getLogger(CommonController.class);
  86. private final ITopNuoMplatformLogService iTopNuoMplatformLogService;
  87. private final ITopOldOrderService iTopOldOrderService;
  88. /**
  89. * 通用下载请求
  90. *
  91. * @param fileName 文件名称
  92. * @param delete 是否删除
  93. */
  94. @GetMapping("/download")
  95. public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) {
  96. try {
  97. if (!FileUtils.checkAllowDownload(fileName)) {
  98. throw new Exception(StrUtil.format("文件名称({})非法,不允许下载。 ", fileName));
  99. }
  100. String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
  101. String filePath = RuoYiConfig.getDownloadPath() + fileName;
  102. response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
  103. FileUtils.setAttachmentResponseHeader(response, realFileName);
  104. FileUtils.writeBytes(filePath, response.getOutputStream());
  105. /* if (delete)
  106. {
  107. FileUtils.deleteFile(filePath);
  108. }*/
  109. FileUtils.deleteFile(filePath);
  110. } catch (Exception e) {
  111. log.error("下载文件失败", e);
  112. }
  113. }
  114. /**
  115. * 新增诺税通开单记录
  116. */
  117. @ApiOperation("新增诺税通开单记录")
  118. @PreAuthorize("@ss.hasPermi('system:log:add')")
  119. @Log(title = "诺税通开单记录", businessType = BusinessType.INSERT)
  120. @PostMapping("/openMplatform/log")
  121. public AjaxResult<Map<String, String>> add(@RequestBody TopNuoMplatformLogAddBo bo) {
  122. if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
  123. throw new CustomException("签名错误");
  124. }
  125. return AjaxResult.success(iTopNuoMplatformLogService.insertByAddBo(bo));
  126. }
  127. /**
  128. * B端订单退款申请
  129. */
  130. @ApiOperation("B端订单退款申请")
  131. @PostMapping("/refund/apply")
  132. public AjaxResult<Void> orderRefundApply(@RequestBody TopOrderRefundApplyBo bo) {
  133. if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){
  134. throw new CustomException("签名错误");
  135. }
  136. return toAjax(iTopOldOrderService.orderRefundApply(bo) ? 1 : 0);
  137. }
  138. /**
  139. * B端订单新增订单
  140. */
  141. @ApiOperation("新增订单")
  142. @PostMapping("/save/order")
  143. public AjaxResult<Void> saveOrder(@RequestBody TopOldOrderAddBo bo) {
  144. if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){
  145. throw new CustomException("签名错误");
  146. }
  147. return toAjax(iTopOldOrderService.insertByAddBo(bo) ? 1 : 0);
  148. }
  149. /**
  150. * B端订单回款
  151. */
  152. @ApiOperation("B端订单回款")
  153. @PostMapping("/proceeds")
  154. public AjaxResult<Void> orderProceeds(@RequestBody TopOrderProceedsBo bo) {
  155. if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){
  156. throw new CustomException("签名错误");
  157. }
  158. return toAjax(iTopOldOrderService.orderProceeds(bo) ? 1 : 0);
  159. }
  160. /**
  161. * 新增诺税通开单记录
  162. */
  163. @ApiOperation("付款企业网银")
  164. @PreAuthorize("@ss.hasPermi('system:log:add')")
  165. @Log(title = "付款企业网银", businessType = BusinessType.INSERT)
  166. @PostMapping("/payToCompany")
  167. public AjaxResult<Void> payToCompany(@RequestBody TopOldOrderQueryBo bo) {
  168. return toAjax(iTopOldOrderService.payToCompany(bo) ? 1 : 0);
  169. }
  170. @ApiOperation("付款企业网银支付回调")
  171. @PreAuthorize("@ss.hasPermi('system:log:add')")
  172. @Log(title = "付款企业网银支付回调", businessType = BusinessType.INSERT)
  173. @PostMapping("/payToCompanyCallBack")
  174. public AjaxResult<Void> payToCompanyCallBack(@RequestBody PayOrderCallBackBo bo) {
  175. if(!ToolsUtils.checkSignCwSnFromOldSys(bo.getMainUniqueId(),bo.getStamp().toString(),bo.getSign())){
  176. throw new CustomException("签名错误");
  177. }
  178. return toAjax(iTopOldOrderService.payToCompanyCallBack(bo) ? 1 : 0);
  179. }
  180. /**
  181. * B端订单修改
  182. */
  183. @ApiOperation("B端订单修改")
  184. @PostMapping("/edit/order")
  185. public AjaxResult<Void> editOrder(@RequestBody TopOldOrderAddBo bo) {
  186. if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){
  187. throw new CustomException("签名错误");
  188. }
  189. return toAjax(iTopOldOrderService.editOrder(bo) ? 1 : 0);
  190. }
  191. /**
  192. * B端订单审核修改
  193. */
  194. @ApiOperation("B端订单审核修改")
  195. @PostMapping("/edit/order/check")
  196. public AjaxResult<Void> editOrderCheck(@RequestBody TopOldOrderAddBo bo) {
  197. if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){
  198. throw new CustomException("签名错误");
  199. }
  200. return toAjax(iTopOldOrderService.editOrderCheck(bo) ? 1 : 0);
  201. }
  202. /**
  203. * B端订单佣金修改
  204. */
  205. @ApiOperation("B端订单佣金修改")
  206. @PostMapping("/edit/order/brokerage")
  207. public AjaxResult<Void> editOrderBrokerage(@RequestBody OrderBrokerageBo bo) {
  208. if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){
  209. throw new CustomException("签名错误");
  210. }
  211. return toAjax(iTopOldOrderService.editOrderBrokerage(bo) ? 1 : 0);
  212. }
  213. /**
  214. * 批量修改订单备注
  215. */
  216. @ApiOperation("批量修改订单备注")
  217. @PostMapping("/update/order/remark")
  218. public AjaxResult<Void> updateRemark(@RequestBody TopUpdateRemarkBo bo) {
  219. if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
  220. throw new CustomException("签名错误");
  221. }
  222. return toAjax(iTopOldOrderService.updateRemark(bo) ? 1 : 0);
  223. }
  224. /**
  225. * 订单修改(不审核)
  226. */
  227. @ApiOperation("订单修改(不审核)")
  228. @PostMapping("/update/order/info")
  229. public AjaxResult<Void> updateOrderInfo(@RequestBody TopOldOrderAddBo bo) {
  230. if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){
  231. throw new CustomException("签名错误");
  232. }
  233. return toAjax(iTopOldOrderService.updateOrderInfo(bo) ? 1 : 0);
  234. }
  235. /**
  236. * B端订单审核修改通知
  237. */
  238. @ApiOperation("B端订单审核修改通知")
  239. @PostMapping("/edit/order/remind")
  240. public AjaxResult<Void> editOrderRemind(@RequestBody TopOrderRemindBo bo) {
  241. if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
  242. throw new CustomException("签名错误");
  243. }
  244. return toAjax(iTopOldOrderService.editOrderRemind(bo) ? 1 : 0);
  245. }
  246. /**
  247. * B端订单批量完单
  248. */
  249. @ApiOperation("B端订单批量完单")
  250. @PostMapping("/order/finish")
  251. public AjaxResult<Void> finishOrder(@RequestBody TopFinishOrderBo bo) {
  252. if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
  253. throw new CustomException("签名错误");
  254. }
  255. return toAjax(iTopOldOrderService.finishOrder(bo) ? 1 : 0);
  256. }
  257. /**
  258. * B端订单获取业务员优惠额度
  259. */
  260. @ApiOperation("B端订单获取业务员优惠额度")
  261. @PostMapping("/seller/discount")
  262. public AjaxResult<TopSellerDiscountVo> getSellerDiscount(@RequestBody TopSellerDiscountBo bo) {
  263. if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
  264. throw new CustomException("签名错误");
  265. }
  266. return AjaxResult.success(iTopOldOrderService.getSellerDiscount(bo));
  267. }
  268. /**
  269. * B端订单撤销
  270. */
  271. @ApiOperation("B端订单撤销")
  272. @PostMapping("/order/revocation")
  273. public AjaxResult<TopOrderRevocationVo> orderRevocation(@RequestBody TopOrderRevocationBo bo) {
  274. if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){
  275. throw new CustomException("签名错误");
  276. }
  277. return AjaxResult.success(iTopOldOrderService.orderRevocation(bo));
  278. }
  279. /**
  280. * B端订单操作历史记录
  281. */
  282. @ApiOperation("B端订单操作历史记录")
  283. @PostMapping("/order/record")
  284. public TableDataInfo<TopOrderLogVo> orderRevocation(@RequestBody TopOldOrderQueryBo bo) {
  285. if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){
  286. throw new CustomException("签名错误");
  287. }
  288. startPage();
  289. List<TopOrderLogVo> list = iTopOldOrderService.logList(bo);
  290. return getDataTable(list);
  291. }
  292. /**
  293. * 获取订单商品信息
  294. */
  295. @ApiOperation("获取订单商品信息")
  296. @PostMapping("/order/goods/list")
  297. public AjaxResult<TopOrderOrgVo> getOrderGoodsList(@RequestBody TopOldOrderQueryBo bo) {
  298. if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
  299. throw new CustomException("签名错误");
  300. }
  301. return AjaxResult.success(iTopOldOrderService.getTopOrderGoodsList(bo));
  302. }
  303. }