package com.zhongzheng.controller.common; import cn.hutool.core.util.StrUtil; import com.zhongzheng.common.annotation.Log; import com.zhongzheng.common.config.RuoYiConfig; 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.utils.ToolsUtils; import com.zhongzheng.common.utils.file.FileUtils; import com.zhongzheng.modules.sdk.bo.TopNuoMplatformLogAddBo; import com.zhongzheng.modules.sdk.service.ITopNuoMplatformLogService; import com.zhongzheng.modules.top.financial.bo.*; import com.zhongzheng.modules.top.financial.vo.TopOrderLogVo; import com.zhongzheng.modules.top.financial.vo.TopOrderOrgVo; import com.zhongzheng.modules.top.financial.vo.TopOrderRevocationVo; import com.zhongzheng.modules.top.financial.vo.TopSellerDiscountVo; import com.zhongzheng.modules.top.goods.bo.*; import com.zhongzheng.modules.top.goods.service.ITopOldOrderService; import com.zhongzheng.modules.top.order.bo.PayOrderCallBackBo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; 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 javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; /** * 课程Controller * * @author hjl * @date 2021-10-09 */ @Api(value = "游客访问接口", tags = {"游客访问接口"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/sys/common/") public class CommonController extends BaseController { private static final Logger log = LoggerFactory.getLogger(CommonController.class); private final ITopNuoMplatformLogService iTopNuoMplatformLogService; private final ITopOldOrderService iTopOldOrderService; /** * 通用下载请求 * * @param fileName 文件名称 * @param delete 是否删除 */ @GetMapping("/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); }*/ FileUtils.deleteFile(filePath); } catch (Exception e) { log.error("下载文件失败", e); } } /** * 新增诺税通开单记录 */ @ApiOperation("新增诺税通开单记录") @PreAuthorize("@ss.hasPermi('system:log:add')") @Log(title = "诺税通开单记录", businessType = BusinessType.INSERT) @PostMapping("/openMplatform/log") public AjaxResult> add(@RequestBody TopNuoMplatformLogAddBo bo) { if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return AjaxResult.success(iTopNuoMplatformLogService.insertByAddBo(bo)); } /** * B端订单退款申请 */ @ApiOperation("B端订单退款申请") @PostMapping("/refund/apply") public AjaxResult orderRefundApply(@RequestBody TopOrderRefundApplyBo bo) { if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.orderRefundApply(bo) ? 1 : 0); } /** * B端订单新增订单 */ @ApiOperation("新增订单") @PostMapping("/save/order") public AjaxResult saveOrder(@RequestBody TopOldOrderAddBo bo) { if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.insertByAddBo(bo) ? 1 : 0); } /** * B端订单回款 */ @ApiOperation("B端订单回款") @PostMapping("/proceeds") public AjaxResult orderProceeds(@RequestBody TopOrderProceedsBo bo) { if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.orderProceeds(bo) ? 1 : 0); } /** * 新增诺税通开单记录 */ @ApiOperation("付款企业网银") @PreAuthorize("@ss.hasPermi('system:log:add')") @Log(title = "付款企业网银", businessType = BusinessType.INSERT) @PostMapping("/payToCompany") public AjaxResult payToCompany(@RequestBody TopOldOrderQueryBo bo) { return toAjax(iTopOldOrderService.payToCompany(bo) ? 1 : 0); } @ApiOperation("付款企业网银支付回调") @PreAuthorize("@ss.hasPermi('system:log:add')") @Log(title = "付款企业网银支付回调", businessType = BusinessType.INSERT) @PostMapping("/payToCompanyCallBack") public AjaxResult payToCompanyCallBack(@RequestBody PayOrderCallBackBo bo) { if(!ToolsUtils.checkSignCwSnFromOldSys(bo.getMainUniqueId(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.payToCompanyCallBack(bo) ? 1 : 0); } /** * B端订单修改 */ @ApiOperation("B端订单修改") @PostMapping("/edit/order") public AjaxResult editOrder(@RequestBody TopOldOrderAddBo bo) { if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.editOrder(bo) ? 1 : 0); } /** * B端订单审核修改 */ @ApiOperation("B端订单审核修改") @PostMapping("/edit/order/check") public AjaxResult editOrderCheck(@RequestBody TopOldOrderAddBo bo) { if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.editOrderCheck(bo) ? 1 : 0); } /** * B端订单佣金修改 */ @ApiOperation("B端订单佣金修改") @PostMapping("/edit/order/brokerage") public AjaxResult editOrderBrokerage(@RequestBody OrderBrokerageBo bo) { if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.editOrderBrokerage(bo) ? 1 : 0); } /** * 批量修改订单备注 */ @ApiOperation("批量修改订单备注") @PostMapping("/update/order/remark") public AjaxResult updateRemark(@RequestBody TopUpdateRemarkBo bo) { if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.updateRemark(bo) ? 1 : 0); } /** * 订单修改(不审核) */ @ApiOperation("订单修改(不审核)") @PostMapping("/update/order/info") public AjaxResult updateOrderInfo(@RequestBody TopOldOrderAddBo bo) { if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.updateOrderInfo(bo) ? 1 : 0); } /** * B端订单审核修改通知 */ @ApiOperation("B端订单审核修改通知") @PostMapping("/edit/order/remind") public AjaxResult editOrderRemind(@RequestBody TopOrderRemindBo bo) { if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.editOrderRemind(bo) ? 1 : 0); } /** * B端订单批量完单 */ @ApiOperation("B端订单批量完单") @PostMapping("/order/finish") public AjaxResult finishOrder(@RequestBody TopFinishOrderBo bo) { if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return toAjax(iTopOldOrderService.finishOrder(bo) ? 1 : 0); } /** * B端订单获取业务员优惠额度 */ @ApiOperation("B端订单获取业务员优惠额度") @PostMapping("/seller/discount") public AjaxResult getSellerDiscount(@RequestBody TopSellerDiscountBo bo) { if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return AjaxResult.success(iTopOldOrderService.getSellerDiscount(bo)); } /** * B端订单撤销 */ @ApiOperation("B端订单撤销") @PostMapping("/order/revocation") public AjaxResult orderRevocation(@RequestBody TopOrderRevocationBo bo) { if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return AjaxResult.success(iTopOldOrderService.orderRevocation(bo)); } /** * B端订单操作历史记录 */ @ApiOperation("B端订单操作历史记录") @PostMapping("/order/record") public TableDataInfo orderRevocation(@RequestBody TopOldOrderQueryBo bo) { if(!ToolsUtils.checkOrderSignFromOldSys(bo.getOrderSn(),bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } startPage(); List list = iTopOldOrderService.logList(bo); return getDataTable(list); } /** * 获取订单商品信息 */ @ApiOperation("获取订单商品信息") @PostMapping("/order/goods/list") public AjaxResult getOrderGoodsList(@RequestBody TopOldOrderQueryBo bo) { if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){ throw new CustomException("签名错误"); } return AjaxResult.success(iTopOldOrderService.getTopOrderGoodsList(bo)); } }