puzhibing
2023-12-13 1772afb069b75871572c9c438bbd2bc403f864df
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -1,5 +1,6 @@
package com.ruoyi.shop.controller.management;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
@@ -7,12 +8,15 @@
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.pojo.shop.BankBranchCode;
import com.ruoyi.shop.domain.vo.*;
import com.ruoyi.shop.service.shop.*;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -21,7 +25,10 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;
/**
 * @author jqs34
@@ -34,6 +41,8 @@
@RestController
@RequestMapping("/mgt/shop")
public class MgtShopController {
    Logger logger = LoggerFactory.getLogger(MgtShopController.class);
    @Resource
    private ShopService shopService;
@@ -49,6 +58,12 @@
    @Resource
    private ShopCertificateService shopCertificateService;
    @Resource
    private BankBranchCodeService bankBranchCodeService;
    @RequestMapping(value = "/listMgtShopSimpleVo", method = RequestMethod.POST)
    @ApiOperation(value = "获取简易商户列表")
@@ -71,11 +86,16 @@
    @ApiOperation(value = "导出商户列表")
    public void exportPageMgtShop(MgtShopPageDto mgtShopPageDto, HttpServletResponse response) {
        Page<MgtShopPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(mgtShopPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtShopPageDto.getPageSize());
            page.setCurrent(mgtShopPageDto.getPageNum());
        }
        List<MgtShopPageVo> mgtShopPageVoList = shopService.pageMgtShop(page,mgtShopPageDto);
        ExcelUtil<MgtShopPageVo> util = new ExcelUtil<MgtShopPageVo>(MgtShopPageVo.class);
        util.exportExcel(response, mgtShopPageVoList, "用户订单列表");
        util.exportExcel(response, mgtShopPageVoList, "商户列表");
    }
    @RequestMapping(value = "/createMgtShop", method = RequestMethod.POST)
@@ -185,8 +205,13 @@
        Long userId = SecurityUtils.getUserId();
        mgtShopSuggestPageDto.setUserId(userId);
        Page<MgtShopSuggestPageVo> page = new Page<>();
        page.setSize(2000);
        page.setCurrent(1);
        if(mgtShopSuggestPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtShopSuggestPageDto.getPageSize());
            page.setCurrent(mgtShopSuggestPageDto.getPageNum());
        }
        List<MgtShopSuggestPageVo> mgtShopSuggestPageVoList = shopSuggestService.pageMgtShopSuggest(page,mgtShopSuggestPageDto);
        ExcelUtil<MgtShopSuggestPageVo> util = new ExcelUtil<MgtShopSuggestPageVo>(MgtShopSuggestPageVo.class);
        util.exportExcel(response, mgtShopSuggestPageVoList, "商户建议列表");
@@ -271,6 +296,7 @@
        return R.ok();
    }
    @RequestMapping(value = "/getMgtShopAuth", method = RequestMethod.POST)
    @ApiOperation(value = "获取商户进件信息")
    public R<MgtShopAuthGetVo> getMgtShopAuth(@RequestBody MgtShopAuthGetDto mgtShopAuthGetDto) {
@@ -285,5 +311,95 @@
        return R.ok(mgtShopAuthCodeVo);
    }
    @RequestMapping(value = "/mgtAddProfitSharingReceiver", method = RequestMethod.POST)
    @Log(title = "商户进件管理", businessType = BusinessType.UPDATE,operContent = "商户添加分账方")
    @ApiOperation(value = "平台商户添加分账方")
    public R mgtAddProfitSharingReceiver(@RequestBody MgtShopAuthGetDto mgtShopAuthGetDto){
        Long userId = SecurityUtils.getUserId();
        mgtShopAuthGetDto.setUserId(userId);
        shopService.addProfitSharingReceiver(mgtShopAuthGetDto);
        return R.ok();
    }
    @RequestMapping(value = "/pageMgtShopHFTXAuth", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取商户进件列表(汇付天下)")
    public R<Page<MgtShopHFTXAuthPageVo>> pageMgtShopHFTXAuth(@RequestBody MgtShopHFTXAuthPageDto mgtShopAuthPageDto) {
        Page<MgtShopHFTXAuthPageVo> page = new Page<>();
        page.setSize(mgtShopAuthPageDto.getPageSize());
        page.setCurrent(mgtShopAuthPageDto.getPageNum());
        List<MgtShopHFTXAuthPageVo> mgtShopHFTXAuthPageVos = shopService.pageMgtShopHFTXAuth(page, mgtShopAuthPageDto);
        return R.ok(page.setRecords(mgtShopHFTXAuthPageVos));
    }
    @RequestMapping(value = "/mgtShopHFTXAuth", method = RequestMethod.POST)
    @Log(title = "商户进件管理", businessType = BusinessType.UPDATE,operContent = "商户进件")
    @ApiOperation(value = "平台商户进件(汇付天下)")
    public R mgtShopHFTXAuth(@RequestBody MgtShopHFTXAuthDto mgtShopHFTXAuthDto) {
        Long userId = SecurityUtils.getUserId();
        mgtShopHFTXAuthDto.setUserId(userId);
        shopService.mgtShopHFTXAuth(mgtShopHFTXAuthDto);
        return R.ok();
    }
    @RequestMapping(value = "/merchantBasicdataNotify", method = RequestMethod.POST)
    @Log(title = "商户进件回调通知(汇付天下)", businessType = BusinessType.UPDATE,operContent = "商户进件")
    public void merchantBasicdataNotify(MerchantBasicDataNotifyDto dto, HttpServletResponse response){
        R<String> r = shopService.merchantBasicdataNotify(dto);
        if(r.getCode() == 200){
            response.setStatus(200);
            PrintWriter out = null;
            try {
                out = response.getWriter();
                out.print("RECV_ORD_ID_" + r.getData());
                out.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                out.close();
            }
        }
    }
    @RequestMapping(value = "/getMgtShopHFTXAuthInfo", method = RequestMethod.POST)
    @ApiOperation(value = "获取商户进件信息(汇付天下)")
    public R<MgtShopHFTXAuthGetVo> getMgtShopHFTXAuthInfo(@Validated @RequestBody MgtShopHFTXAuthGetDto mgtShopHFTXAuthGetDto){
        MgtShopHFTXAuthGetVo mgtShopHFTXAuthInfo = shopService.getMgtShopHFTXAuthInfo(mgtShopHFTXAuthGetDto.getShopId());
        return R.ok(mgtShopHFTXAuthInfo);
    }
    @RequestMapping(value = "/setMgtShopShareRatio", method = RequestMethod.POST)
    @ApiOperation(value = "设置分账比例(汇付天下)")
    public R setMgtShopShareRatio(@Validated @RequestBody MgtShopShareRatioSetDto mgtShopShareRatioSetDto){
        return shopService.setMgtShopShareRatio(mgtShopShareRatioSetDto);
    }
    @RequestMapping(value = "/getMerchantBasicDataSettlement", method = RequestMethod.POST)
    @ApiOperation(value = "获取提现记录(汇付天下)")
    public R<List<MerchantBasicdataSettlementVo>> getMerchantBasicDataSettlement(@Validated @RequestBody MerchantBasicdataSettlementDto mgtShopShareRatioSetDto){
        return shopService.getMerchantBasicDataSettlement(mgtShopShareRatioSetDto);
    }
    @RequestMapping(value = "/getBankList", method = RequestMethod.POST)
    @ApiOperation(value = "获取银行列表(汇付天下)")
    public R<List<Map<String, String>>> getBankList(@Validated @RequestBody BankListGetDto dto){
        List<Map<String, String>> bankList = bankBranchCodeService.getBankList(dto.getName());
        return R.ok(bankList);
    }
    @RequestMapping(value = "/getBankBranchCode", method = RequestMethod.POST)
    @ApiOperation(value = "获取银行分行列表(汇付天下)")
    public R<List<Map<String, String>>> getBankBranchCode(@Validated @RequestBody BankBranchCodeGetDto dto){
        List<Map<String, String>> bankBranchCode = bankBranchCodeService.getBankBranchCode(dto.getBankNumber());
        return R.ok(bankBranchCode);
    }
}