package com.nova.sankuai.controller.v1;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.nova.sankuai.domain.dto.*;
|
import com.nova.sankuai.domain.entity.ChannelInfo;
|
import com.nova.sankuai.domain.vo.LoanMarketHotLinkVo;
|
import com.nova.sankuai.domain.vo.LoanSupermarketVo;
|
import com.nova.sankuai.domain.vo.channel.ChannelConfigVo;
|
import com.nova.sankuai.domain.vo.channel.ChannelInfoVo;
|
import com.nova.sankuai.infra.config.CommonException;
|
import com.nova.sankuai.infra.utils.PageRequest;
|
import com.nova.sankuai.infra.utils.ResultJson;
|
import com.nova.sankuai.service.IChannelInfoService;
|
import com.nova.sankuai.service.IChannelSupermarketService;
|
import com.nova.sankuai.service.IH5ChannelLoanMarketService;
|
import com.nova.sankuai.service.ILoanSupermarketService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.AllArgsConstructor;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.List;
|
|
/**
|
* @author weikangdi
|
* @create 2021/12/27
|
*/
|
@Api(tags = "渠道管理")
|
@RestController
|
@RequestMapping(value = "/api/v1/channelInfo")
|
@AllArgsConstructor
|
public class ChannelInfoController {
|
|
private final IChannelInfoService channelInfoService;
|
|
private final IChannelSupermarketService channelSupermarketService;
|
|
private final IH5ChannelLoanMarketService h5ChannelLoanMarketService;
|
|
private final ILoanSupermarketService loanSupermarketService;
|
|
@GetMapping(value = "/getChannelInfo/{id}")
|
@ApiOperation(value = "根据Id获取渠道信息")
|
@PreAuthorize("hasAuthority('channelInfo.getChannelInfo')")
|
public ResultJson<ChannelInfo> getChannelInfo(@PathVariable("id") Long id) {
|
ChannelInfo channelInfo = channelInfoService.getById(id);
|
if (channelInfo == null) {
|
throw new CommonException("该渠道不存在");
|
}
|
return ResultJson.ok(channelInfo);
|
}
|
|
|
@GetMapping(value = "/pageImportList")
|
@ApiOperation(value = "分页获取入口渠道列表")
|
@PreAuthorize("hasAuthority('channelInfo.pageImportList')")
|
public ResultJson<IPage<ChannelInfoVo>> pageImportList(ChannelInfoPageDto pageDto) {
|
IPage<ChannelInfoVo> result = channelInfoService.pageImportList(pageDto);
|
return ResultJson.ok(result);
|
}
|
|
@PostMapping(value = "/addChannelInfo")
|
@ApiOperation(value = "新增渠道")
|
@PreAuthorize("hasAuthority('channelInfo.addChannelInfo')")
|
public ResultJson<ChannelInfoVo> addChannelInfo(@RequestBody ChannelInfoDto channelInfoDto) {
|
ChannelInfoVo info = channelInfoService.addChannelInfo(channelInfoDto);
|
return ResultJson.ok(info);
|
}
|
|
|
@PostMapping(value = "/editChannelInfo")
|
@ApiOperation(value = "编辑渠道")
|
@PreAuthorize("hasAuthority('channelInfo.editChannelInfo')")
|
public ResultJson<Void> editChannelInfo(@RequestBody ChannelInfoDto channelInfoDto) {
|
System.out.println("channelInfoDto::"+channelInfoDto);
|
channelInfoService.editChannelInfo(channelInfoDto);
|
return ResultJson.success();
|
}
|
|
@GetMapping(value = "/pageSupermarkets/{id}")
|
@ApiOperation(value = "根据渠道Id获取贷超管理列表")
|
@PreAuthorize("hasAuthority('channelInfo.pageSupermarkets')")
|
public ResultJson<IPage<LoanSupermarketVo>> getSupermarketList(@PathVariable("id") Long id, PageRequest pageRequest) {
|
IPage<LoanSupermarketVo> result = channelInfoService.pageSupermarkets(id, pageRequest);
|
return ResultJson.ok(result);
|
}
|
|
@GetMapping(value = "/getChannelInfoByKey")
|
@ApiOperation(value = "通过渠道Key获取渠道信息")
|
public ResultJson<ChannelConfigVo> getChannelInfoByKey(String appId, HttpServletRequest request) {
|
ChannelConfigVo result = channelInfoService.getChannelInfoByKey(appId, request);
|
return ResultJson.ok(result);
|
}
|
|
@PostMapping(value = "/editMemberDefault")
|
@ApiOperation(value = "编辑会员默认权益")
|
public ResultJson<Void> editMemberDefault(@RequestBody ChannelInfoDefaultVipDto channelInfo) {
|
channelInfoService.editMemberDefault(channelInfo);
|
return ResultJson.success();
|
}
|
|
@PostMapping(value = "/editChannelLoanMarket")
|
@ApiOperation(value = "编辑渠道贷超配置")
|
@PreAuthorize("hasAuthority('channelInfo.editChannelLoanMarket')")
|
public ResultJson<Void> editChannelLoanMarket(@RequestBody ChannelLoanMarketDto channelLoanMarketDto) {
|
channelSupermarketService.editChannelLoanMarket(channelLoanMarketDto);
|
return ResultJson.success();
|
}
|
|
@GetMapping(value = "/pageH5LoanMarkets/{id}")
|
@ApiOperation(value = "根据渠道Id获取H5贷超管理列表")
|
@PreAuthorize("hasAuthority('channelInfo.pageH5LoanMarkets')")
|
public ResultJson<IPage<LoanSupermarketVo>> pageH5LoanMarkets(@PathVariable("id") Long id, PageRequest pageRequest) {
|
IPage<LoanSupermarketVo> result = channelInfoService.pageH5LoanMarkets(id, pageRequest);
|
return ResultJson.ok(result);
|
}
|
|
@PostMapping(value = "/editH5LoanMarket")
|
@ApiOperation(value = "编辑H5渠道贷超配置")
|
@PreAuthorize("hasAuthority('channelInfo.editH5LoanMarket')")
|
public ResultJson<Void> editH5LoanMarket(@RequestBody ChannelLoanMarketDto channelLoanMarketDto) {
|
h5ChannelLoanMarketService.editH5LoanMarket(channelLoanMarketDto);
|
return ResultJson.success();
|
}
|
|
|
@GetMapping(value = "/getLoanMarketHotLinkList")
|
@ApiOperation(value = "获取贷超直链列表")
|
@PreAuthorize("hasAuthority('loanMarketHotLink.getLoanMarketHotLinkList')")
|
public ResultJson<List<LoanMarketHotLinkVo>> getLoanMarketHotLinkList() {
|
List<LoanMarketHotLinkVo> result = loanSupermarketService.getLoanMarketHotLinkList();
|
return ResultJson.ok(result);
|
}
|
|
@PostMapping(value = "/editLoanMarketHotLink")
|
@ApiOperation(value = "编辑渠道贷超直链配置")
|
@PreAuthorize("hasAuthority('loanMarketHotLink.edit')")
|
public ResultJson<Void> editLoanMarketHotLink(@RequestBody ChannelLoanMarketHotLinkDto loanMarketHotLinkDto) {
|
channelInfoService.editLoanMarketHotLink(loanMarketHotLinkDto);
|
return ResultJson.success();
|
}
|
}
|