德富经纪代码生成

master
wangyi 1 year ago
parent 07a3bbdd34
commit 73b0040eef

@ -0,0 +1,199 @@
package com.bs.df.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bs.common.annotation.Log;
import com.bs.common.core.controller.BaseController;
import com.bs.common.core.domain.AjaxResult;
import com.bs.common.core.page.TableDataInfo;
import com.bs.common.enums.BusinessType;
import com.bs.common.utils.poi.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfBizClue;
import com.bs.df.service.IDfBizClueService;
import javax.annotation.Resource;
/**
* 线Controller
*
* @author bs
* @date 2024-04-06
*/
@Api(tags = "业务线索")
@RestController
@RequestMapping("/biz/clue")
public class DfBizClueController extends BaseController {
@Resource
private IDfBizClueService dfBizClueService;
/**
* 线
*/
@ApiOperation("分页查询业务线索列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfBizClue dfBizClue) {
startPage();
LambdaQueryWrapper<DfBizClue> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfBizClue);
List<DfBizClue> list = dfBizClueService.list(queryWrapper);
return getDataTable(list);
}
/**
* 线
*/
@ApiOperation("查询业务线索列表")
@GetMapping("/list")
public AjaxResult list(DfBizClue dfBizClue) {
LambdaQueryWrapper<DfBizClue> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfBizClue);
List<DfBizClue> list = dfBizClueService.list(queryWrapper);
return success(list);
}
/**
* 线
*/
@ApiOperation("导出业务线索列表")
@Log(title = "业务线索导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DfBizClue dfBizClue) {
LambdaQueryWrapper<DfBizClue> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfBizClue);
List<DfBizClue> list = dfBizClueService.list(queryWrapper);
ExcelUtil<DfBizClue> util = new ExcelUtil<DfBizClue>(DfBizClue. class);
util.exportExcel(response, list, "业务线索数据");
}
/**
* 线
*/
@ApiOperation("获取业务线索详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfBizClueService.getById(id));
}
/**
* 线
*/
@ApiOperation("新增业务线索")
@Log(title = "业务线索新增", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DfBizClue dfBizClue) {
return toAjax(dfBizClueService.save(dfBizClue));
}
/**
* 线
*/
@ApiOperation("修改业务线索")
@Log(title = "业务线索修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DfBizClue dfBizClue) {
return toAjax(dfBizClueService.updateById(dfBizClue));
}
/**
* 线
*/
@ApiOperation("删除业务线索")
@Log(title = "业务线索删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids) {
return toAjax(dfBizClueService.removeBatchByIds(ids));
}
/**
*
*/
private void condition (LambdaQueryWrapper<DfBizClue> queryWrapper,DfBizClue dfBizClue){
//id
if(Validator.isNotEmpty(dfBizClue.getId())){
queryWrapper.eq(DfBizClue::getId,dfBizClue.getId());
}
//数据类型0客户1经纪
if(Validator.isNotEmpty(dfBizClue.getDataType())){
queryWrapper.eq(DfBizClue::getDataType,dfBizClue.getDataType());
}
//线索类型
if(Validator.isNotEmpty(dfBizClue.getClueType())){
queryWrapper.eq(DfBizClue::getClueType,dfBizClue.getClueType());
}
//用户id
if(Validator.isNotEmpty(dfBizClue.getUserId())){
queryWrapper.eq(DfBizClue::getUserId,dfBizClue.getUserId());
}
//用户昵称
if(Validator.isNotEmpty(dfBizClue.getNickName())){
queryWrapper.eq(DfBizClue::getNickName,dfBizClue.getNickName());
}
//浏览时间
if(Validator.isNotEmpty(dfBizClue.getBrowseTime())){
queryWrapper.eq(DfBizClue::getBrowseTime,dfBizClue.getBrowseTime());
}
//创建部门
if(Validator.isNotEmpty(dfBizClue.getCreateDept())){
queryWrapper.eq(DfBizClue::getCreateDept,dfBizClue.getCreateDept());
}
//创建人员
if(Validator.isNotEmpty(dfBizClue.getCreateBy())){
queryWrapper.eq(DfBizClue::getCreateBy,dfBizClue.getCreateBy());
}
//创建时间
if(Validator.isNotEmpty(dfBizClue.getCreateTime())){
queryWrapper.eq(DfBizClue::getCreateTime,dfBizClue.getCreateTime());
}
//修改人员
if(Validator.isNotEmpty(dfBizClue.getUpdateBy())){
queryWrapper.eq(DfBizClue::getUpdateBy,dfBizClue.getUpdateBy());
}
//修改时间
if(Validator.isNotEmpty(dfBizClue.getUpdateTime())){
queryWrapper.eq(DfBizClue::getUpdateTime,dfBizClue.getUpdateTime());
}
//删除标志0代表存在 2代表删除
if(Validator.isNotEmpty(dfBizClue.getDelFlag())){
queryWrapper.eq(DfBizClue::getDelFlag,dfBizClue.getDelFlag());
}
//租户id
if(Validator.isNotEmpty(dfBizClue.getTenantId())){
queryWrapper.eq(DfBizClue::getTenantId,dfBizClue.getTenantId());
}
//${column.columnComment}
if(Validator.isNotEmpty(dfBizClue.get())){
queryWrapper.eq(DfBizClue::get,dfBizClue.get());
}
}
}

@ -0,0 +1,224 @@
package com.bs.df.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bs.common.annotation.Log;
import com.bs.common.core.controller.BaseController;
import com.bs.common.core.domain.AjaxResult;
import com.bs.common.core.page.TableDataInfo;
import com.bs.common.enums.BusinessType;
import com.bs.common.utils.poi.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfBroker;
import com.bs.df.service.IDfBrokerService;
import javax.annotation.Resource;
/**
* Controller
*
* @author bs
* @date 2024-04-06
*/
@Api(tags = "代理商经纪")
@RestController
@RequestMapping("/broker/broker")
public class DfBrokerController extends BaseController {
@Resource
private IDfBrokerService dfBrokerService;
/**
*
*/
@ApiOperation("分页查询代理商经纪列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfBroker dfBroker) {
startPage();
LambdaQueryWrapper<DfBroker> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfBroker);
List<DfBroker> list = dfBrokerService.list(queryWrapper);
return getDataTable(list);
}
/**
*
*/
@ApiOperation("查询代理商经纪列表")
@GetMapping("/list")
public AjaxResult list(DfBroker dfBroker) {
LambdaQueryWrapper<DfBroker> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfBroker);
List<DfBroker> list = dfBrokerService.list(queryWrapper);
return success(list);
}
/**
*
*/
@ApiOperation("导出代理商经纪列表")
@Log(title = "代理商经纪导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DfBroker dfBroker) {
LambdaQueryWrapper<DfBroker> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfBroker);
List<DfBroker> list = dfBrokerService.list(queryWrapper);
ExcelUtil<DfBroker> util = new ExcelUtil<DfBroker>(DfBroker. class);
util.exportExcel(response, list, "代理商经纪数据");
}
/**
*
*/
@ApiOperation("获取代理商经纪详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfBrokerService.getById(id));
}
/**
*
*/
@ApiOperation("新增代理商经纪")
@Log(title = "代理商经纪新增", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DfBroker dfBroker) {
return toAjax(dfBrokerService.save(dfBroker));
}
/**
*
*/
@ApiOperation("修改代理商经纪")
@Log(title = "代理商经纪修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DfBroker dfBroker) {
return toAjax(dfBrokerService.updateById(dfBroker));
}
/**
*
*/
@ApiOperation("删除代理商经纪")
@Log(title = "代理商经纪删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids) {
return toAjax(dfBrokerService.removeBatchByIds(ids));
}
/**
*
*/
private void condition (LambdaQueryWrapper<DfBroker> queryWrapper,DfBroker dfBroker){
//id
if(Validator.isNotEmpty(dfBroker.getId())){
queryWrapper.eq(DfBroker::getId,dfBroker.getId());
}
//父级id
if(Validator.isNotEmpty(dfBroker.getParentId())){
queryWrapper.eq(DfBroker::getParentId,dfBroker.getParentId());
}
//代理商名称
if(Validator.isNotEmpty(dfBroker.getBrokerName())){
queryWrapper.eq(DfBroker::getBrokerName,dfBroker.getBrokerName());
}
//地址
if(Validator.isNotEmpty(dfBroker.getBrokerAddress())){
queryWrapper.eq(DfBroker::getBrokerAddress,dfBroker.getBrokerAddress());
}
//简介
if(Validator.isNotEmpty(dfBroker.getBrokerDesc())){
queryWrapper.eq(DfBroker::getBrokerDesc,dfBroker.getBrokerDesc());
}
//显示顺序
if(Validator.isNotEmpty(dfBroker.getOrderNum())){
queryWrapper.eq(DfBroker::getOrderNum,dfBroker.getOrderNum());
}
//负责人
if(Validator.isNotEmpty(dfBroker.getChargePerson())){
queryWrapper.eq(DfBroker::getChargePerson,dfBroker.getChargePerson());
}
//联系电话
if(Validator.isNotEmpty(dfBroker.getContactPhone())){
queryWrapper.eq(DfBroker::getContactPhone,dfBroker.getContactPhone());
}
//邮箱
if(Validator.isNotEmpty(dfBroker.getEmail())){
queryWrapper.eq(DfBroker::getEmail,dfBroker.getEmail());
}
//是否机构
if(Validator.isNotEmpty(dfBroker.getIsInstitution())){
queryWrapper.eq(DfBroker::getIsInstitution,dfBroker.getIsInstitution());
}
//状态
if(Validator.isNotEmpty(dfBroker.getStaus())){
queryWrapper.eq(DfBroker::getStaus,dfBroker.getStaus());
}
//备注
if(Validator.isNotEmpty(dfBroker.getRemark())){
queryWrapper.eq(DfBroker::getRemark,dfBroker.getRemark());
}
//创建部门
if(Validator.isNotEmpty(dfBroker.getCreateDept())){
queryWrapper.eq(DfBroker::getCreateDept,dfBroker.getCreateDept());
}
//创建人员
if(Validator.isNotEmpty(dfBroker.getCreateBy())){
queryWrapper.eq(DfBroker::getCreateBy,dfBroker.getCreateBy());
}
//创建时间
if(Validator.isNotEmpty(dfBroker.getCreateTime())){
queryWrapper.eq(DfBroker::getCreateTime,dfBroker.getCreateTime());
}
//修改人员
if(Validator.isNotEmpty(dfBroker.getUpdateBy())){
queryWrapper.eq(DfBroker::getUpdateBy,dfBroker.getUpdateBy());
}
//修改时间
if(Validator.isNotEmpty(dfBroker.getUpdateTime())){
queryWrapper.eq(DfBroker::getUpdateTime,dfBroker.getUpdateTime());
}
//删除标志0代表存在 2代表删除
if(Validator.isNotEmpty(dfBroker.getDelFlag())){
queryWrapper.eq(DfBroker::getDelFlag,dfBroker.getDelFlag());
}
//租户id
if(Validator.isNotEmpty(dfBroker.getTenantId())){
queryWrapper.eq(DfBroker::getTenantId,dfBroker.getTenantId());
}
}
}

@ -0,0 +1,184 @@
package com.bs.df.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bs.common.annotation.Log;
import com.bs.common.core.controller.BaseController;
import com.bs.common.core.domain.AjaxResult;
import com.bs.common.core.page.TableDataInfo;
import com.bs.common.enums.BusinessType;
import com.bs.common.utils.poi.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfBrokerProduct;
import com.bs.df.service.IDfBrokerProductService;
import javax.annotation.Resource;
/**
* Controller
*
* @author bs
* @date 2024-04-06
*/
@Api(tags = "代理产品权限")
@RestController
@RequestMapping("/broker/product")
public class DfBrokerProductController extends BaseController {
@Resource
private IDfBrokerProductService dfBrokerProductService;
/**
*
*/
@ApiOperation("分页查询代理产品权限列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfBrokerProduct dfBrokerProduct) {
startPage();
LambdaQueryWrapper<DfBrokerProduct> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfBrokerProduct);
List<DfBrokerProduct> list = dfBrokerProductService.list(queryWrapper);
return getDataTable(list);
}
/**
*
*/
@ApiOperation("查询代理产品权限列表")
@GetMapping("/list")
public AjaxResult list(DfBrokerProduct dfBrokerProduct) {
LambdaQueryWrapper<DfBrokerProduct> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfBrokerProduct);
List<DfBrokerProduct> list = dfBrokerProductService.list(queryWrapper);
return success(list);
}
/**
*
*/
@ApiOperation("导出代理产品权限列表")
@Log(title = "代理产品权限导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DfBrokerProduct dfBrokerProduct) {
LambdaQueryWrapper<DfBrokerProduct> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfBrokerProduct);
List<DfBrokerProduct> list = dfBrokerProductService.list(queryWrapper);
ExcelUtil<DfBrokerProduct> util = new ExcelUtil<DfBrokerProduct>(DfBrokerProduct. class);
util.exportExcel(response, list, "代理产品权限数据");
}
/**
*
*/
@ApiOperation("获取代理产品权限详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfBrokerProductService.getById(id));
}
/**
*
*/
@ApiOperation("新增代理产品权限")
@Log(title = "代理产品权限新增", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DfBrokerProduct dfBrokerProduct) {
return toAjax(dfBrokerProductService.save(dfBrokerProduct));
}
/**
*
*/
@ApiOperation("修改代理产品权限")
@Log(title = "代理产品权限修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DfBrokerProduct dfBrokerProduct) {
return toAjax(dfBrokerProductService.updateById(dfBrokerProduct));
}
/**
*
*/
@ApiOperation("删除代理产品权限")
@Log(title = "代理产品权限删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids) {
return toAjax(dfBrokerProductService.removeBatchByIds(ids));
}
/**
*
*/
private void condition (LambdaQueryWrapper<DfBrokerProduct> queryWrapper,DfBrokerProduct dfBrokerProduct){
//id
if(Validator.isNotEmpty(dfBrokerProduct.getId())){
queryWrapper.eq(DfBrokerProduct::getId,dfBrokerProduct.getId());
}
//代理id
if(Validator.isNotEmpty(dfBrokerProduct.getBrokerId())){
queryWrapper.eq(DfBrokerProduct::getBrokerId,dfBrokerProduct.getBrokerId());
}
//产品id
if(Validator.isNotEmpty(dfBrokerProduct.getProductId())){
queryWrapper.eq(DfBrokerProduct::getProductId,dfBrokerProduct.getProductId());
}
//备注
if(Validator.isNotEmpty(dfBrokerProduct.getRemark())){
queryWrapper.eq(DfBrokerProduct::getRemark,dfBrokerProduct.getRemark());
}
//创建部门
if(Validator.isNotEmpty(dfBrokerProduct.getCreateDept())){
queryWrapper.eq(DfBrokerProduct::getCreateDept,dfBrokerProduct.getCreateDept());
}
//创建人员
if(Validator.isNotEmpty(dfBrokerProduct.getCreateBy())){
queryWrapper.eq(DfBrokerProduct::getCreateBy,dfBrokerProduct.getCreateBy());
}
//创建时间
if(Validator.isNotEmpty(dfBrokerProduct.getCreateTime())){
queryWrapper.eq(DfBrokerProduct::getCreateTime,dfBrokerProduct.getCreateTime());
}
//修改人员
if(Validator.isNotEmpty(dfBrokerProduct.getUpdateBy())){
queryWrapper.eq(DfBrokerProduct::getUpdateBy,dfBrokerProduct.getUpdateBy());
}
//修改时间
if(Validator.isNotEmpty(dfBrokerProduct.getUpdateTime())){
queryWrapper.eq(DfBrokerProduct::getUpdateTime,dfBrokerProduct.getUpdateTime());
}
//删除标志0代表存在 2代表删除
if(Validator.isNotEmpty(dfBrokerProduct.getDelFlag())){
queryWrapper.eq(DfBrokerProduct::getDelFlag,dfBrokerProduct.getDelFlag());
}
//租户id
if(Validator.isNotEmpty(dfBrokerProduct.getTenantId())){
queryWrapper.eq(DfBrokerProduct::getTenantId,dfBrokerProduct.getTenantId());
}
}
}

@ -0,0 +1,244 @@
package com.bs.df.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bs.common.annotation.Log;
import com.bs.common.core.controller.BaseController;
import com.bs.common.core.domain.AjaxResult;
import com.bs.common.core.page.TableDataInfo;
import com.bs.common.enums.BusinessType;
import com.bs.common.utils.poi.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfOrder;
import com.bs.df.service.IDfOrderService;
import javax.annotation.Resource;
/**
* Controller
*
* @author bs
* @date 2024-04-06
*/
@Api(tags = "客户订单")
@RestController
@RequestMapping("/order/order")
public class DfOrderController extends BaseController {
@Resource
private IDfOrderService dfOrderService;
/**
*
*/
@ApiOperation("分页查询客户订单列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfOrder dfOrder) {
startPage();
LambdaQueryWrapper<DfOrder> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfOrder);
List<DfOrder> list = dfOrderService.list(queryWrapper);
return getDataTable(list);
}
/**
*
*/
@ApiOperation("查询客户订单列表")
@GetMapping("/list")
public AjaxResult list(DfOrder dfOrder) {
LambdaQueryWrapper<DfOrder> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfOrder);
List<DfOrder> list = dfOrderService.list(queryWrapper);
return success(list);
}
/**
*
*/
@ApiOperation("导出客户订单列表")
@Log(title = "客户订单导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DfOrder dfOrder) {
LambdaQueryWrapper<DfOrder> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfOrder);
List<DfOrder> list = dfOrderService.list(queryWrapper);
ExcelUtil<DfOrder> util = new ExcelUtil<DfOrder>(DfOrder. class);
util.exportExcel(response, list, "客户订单数据");
}
/**
*
*/
@ApiOperation("获取客户订单详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfOrderService.getById(id));
}
/**
*
*/
@ApiOperation("新增客户订单")
@Log(title = "客户订单新增", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DfOrder dfOrder) {
return toAjax(dfOrderService.save(dfOrder));
}
/**
*
*/
@ApiOperation("修改客户订单")
@Log(title = "客户订单修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DfOrder dfOrder) {
return toAjax(dfOrderService.updateById(dfOrder));
}
/**
*
*/
@ApiOperation("删除客户订单")
@Log(title = "客户订单删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids) {
return toAjax(dfOrderService.removeBatchByIds(ids));
}
/**
*
*/
private void condition (LambdaQueryWrapper<DfOrder> queryWrapper,DfOrder dfOrder){
//id
if(Validator.isNotEmpty(dfOrder.getId())){
queryWrapper.eq(DfOrder::getId,dfOrder.getId());
}
//订单号
if(Validator.isNotEmpty(dfOrder.getOrderNo())){
queryWrapper.eq(DfOrder::getOrderNo,dfOrder.getOrderNo());
}
//客户id
if(Validator.isNotEmpty(dfOrder.getUserId())){
queryWrapper.eq(DfOrder::getUserId,dfOrder.getUserId());
}
//经纪id
if(Validator.isNotEmpty(dfOrder.getBrokerId())){
queryWrapper.eq(DfOrder::getBrokerId,dfOrder.getBrokerId());
}
//产品id
if(Validator.isNotEmpty(dfOrder.getProductId())){
queryWrapper.eq(DfOrder::getProductId,dfOrder.getProductId());
}
//产品名称
if(Validator.isNotEmpty(dfOrder.getProductName())){
queryWrapper.eq(DfOrder::getProductName,dfOrder.getProductName());
}
//提交时间
if(Validator.isNotEmpty(dfOrder.getSubmitTime())){
queryWrapper.eq(DfOrder::getSubmitTime,dfOrder.getSubmitTime());
}
//申请额(万元)
if(Validator.isNotEmpty(dfOrder.getApplyAmount())){
queryWrapper.eq(DfOrder::getApplyAmount,dfOrder.getApplyAmount());
}
//授信额(万元)
if(Validator.isNotEmpty(dfOrder.getLimitAmount())){
queryWrapper.eq(DfOrder::getLimitAmount,dfOrder.getLimitAmount());
}
//放款额(万元)
if(Validator.isNotEmpty(dfOrder.getLoanAmount())){
queryWrapper.eq(DfOrder::getLoanAmount,dfOrder.getLoanAmount());
}
//放款利率
if(Validator.isNotEmpty(dfOrder.getLoanRate())){
queryWrapper.eq(DfOrder::getLoanRate,dfOrder.getLoanRate());
}
//贷款期限(月)
if(Validator.isNotEmpty(dfOrder.getLoadMonth())){
queryWrapper.eq(DfOrder::getLoadMonth,dfOrder.getLoadMonth());
}
//是否首贷
if(Validator.isNotEmpty(dfOrder.getIsFirst())){
queryWrapper.eq(DfOrder::getIsFirst,dfOrder.getIsFirst());
}
//可结算金额(万元)
if(Validator.isNotEmpty(dfOrder.getSettleAmount())){
queryWrapper.eq(DfOrder::getSettleAmount,dfOrder.getSettleAmount());
}
//状态
if(Validator.isNotEmpty(dfOrder.getStaus())){
queryWrapper.eq(DfOrder::getStaus,dfOrder.getStaus());
}
//备注
if(Validator.isNotEmpty(dfOrder.getRemark())){
queryWrapper.eq(DfOrder::getRemark,dfOrder.getRemark());
}
//创建部门
if(Validator.isNotEmpty(dfOrder.getCreateDept())){
queryWrapper.eq(DfOrder::getCreateDept,dfOrder.getCreateDept());
}
//创建人员
if(Validator.isNotEmpty(dfOrder.getCreateBy())){
queryWrapper.eq(DfOrder::getCreateBy,dfOrder.getCreateBy());
}
//创建时间
if(Validator.isNotEmpty(dfOrder.getCreateTime())){
queryWrapper.eq(DfOrder::getCreateTime,dfOrder.getCreateTime());
}
//修改人员
if(Validator.isNotEmpty(dfOrder.getUpdateBy())){
queryWrapper.eq(DfOrder::getUpdateBy,dfOrder.getUpdateBy());
}
//修改时间
if(Validator.isNotEmpty(dfOrder.getUpdateTime())){
queryWrapper.eq(DfOrder::getUpdateTime,dfOrder.getUpdateTime());
}
//删除标志0代表存在 2代表删除
if(Validator.isNotEmpty(dfOrder.getDelFlag())){
queryWrapper.eq(DfOrder::getDelFlag,dfOrder.getDelFlag());
}
//租户id
if(Validator.isNotEmpty(dfOrder.getTenantId())){
queryWrapper.eq(DfOrder::getTenantId,dfOrder.getTenantId());
}
}
}

@ -0,0 +1,204 @@
package com.bs.df.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bs.common.annotation.Log;
import com.bs.common.core.controller.BaseController;
import com.bs.common.core.domain.AjaxResult;
import com.bs.common.core.page.TableDataInfo;
import com.bs.common.enums.BusinessType;
import com.bs.common.utils.poi.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfProductArticle;
import com.bs.df.service.IDfProductArticleService;
import javax.annotation.Resource;
/**
* Controller
*
* @author bs
* @date 2024-04-06
*/
@Api(tags = "产品文章")
@RestController
@RequestMapping("/article/article")
public class DfProductArticleController extends BaseController {
@Resource
private IDfProductArticleService dfProductArticleService;
/**
*
*/
@ApiOperation("分页查询产品文章列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfProductArticle dfProductArticle) {
startPage();
LambdaQueryWrapper<DfProductArticle> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductArticle);
List<DfProductArticle> list = dfProductArticleService.list(queryWrapper);
return getDataTable(list);
}
/**
*
*/
@ApiOperation("查询产品文章列表")
@GetMapping("/list")
public AjaxResult list(DfProductArticle dfProductArticle) {
LambdaQueryWrapper<DfProductArticle> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductArticle);
List<DfProductArticle> list = dfProductArticleService.list(queryWrapper);
return success(list);
}
/**
*
*/
@ApiOperation("导出产品文章列表")
@Log(title = "产品文章导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DfProductArticle dfProductArticle) {
LambdaQueryWrapper<DfProductArticle> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductArticle);
List<DfProductArticle> list = dfProductArticleService.list(queryWrapper);
ExcelUtil<DfProductArticle> util = new ExcelUtil<DfProductArticle>(DfProductArticle. class);
util.exportExcel(response, list, "产品文章数据");
}
/**
*
*/
@ApiOperation("获取产品文章详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfProductArticleService.getById(id));
}
/**
*
*/
@ApiOperation("新增产品文章")
@Log(title = "产品文章新增", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DfProductArticle dfProductArticle) {
return toAjax(dfProductArticleService.save(dfProductArticle));
}
/**
*
*/
@ApiOperation("修改产品文章")
@Log(title = "产品文章修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DfProductArticle dfProductArticle) {
return toAjax(dfProductArticleService.updateById(dfProductArticle));
}
/**
*
*/
@ApiOperation("删除产品文章")
@Log(title = "产品文章删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids) {
return toAjax(dfProductArticleService.removeBatchByIds(ids));
}
/**
*
*/
private void condition (LambdaQueryWrapper<DfProductArticle> queryWrapper,DfProductArticle dfProductArticle){
//文章id
if(Validator.isNotEmpty(dfProductArticle.getId())){
queryWrapper.eq(DfProductArticle::getId,dfProductArticle.getId());
}
//文章分类0产品文章1经纪文章
if(Validator.isNotEmpty(dfProductArticle.getArticleType())){
queryWrapper.eq(DfProductArticle::getArticleType,dfProductArticle.getArticleType());
}
//文章类型
if(Validator.isNotEmpty(dfProductArticle.getArticleKind())){
queryWrapper.eq(DfProductArticle::getArticleKind,dfProductArticle.getArticleKind());
}
//文章标题
if(Validator.isNotEmpty(dfProductArticle.getArticleTitle())){
queryWrapper.eq(DfProductArticle::getArticleTitle,dfProductArticle.getArticleTitle());
}
//发布时间
if(Validator.isNotEmpty(dfProductArticle.getPublishTime())){
queryWrapper.eq(DfProductArticle::getPublishTime,dfProductArticle.getPublishTime());
}
//文章正文
if(Validator.isNotEmpty(dfProductArticle.getArticleContent())){
queryWrapper.eq(DfProductArticle::getArticleContent,dfProductArticle.getArticleContent());
}
//状态0草稿1上架
if(Validator.isNotEmpty(dfProductArticle.getStatus())){
queryWrapper.eq(DfProductArticle::getStatus,dfProductArticle.getStatus());
}
//备注
if(Validator.isNotEmpty(dfProductArticle.getRemark())){
queryWrapper.eq(DfProductArticle::getRemark,dfProductArticle.getRemark());
}
//创建部门
if(Validator.isNotEmpty(dfProductArticle.getCreateDept())){
queryWrapper.eq(DfProductArticle::getCreateDept,dfProductArticle.getCreateDept());
}
//创建人员
if(Validator.isNotEmpty(dfProductArticle.getCreateBy())){
queryWrapper.eq(DfProductArticle::getCreateBy,dfProductArticle.getCreateBy());
}
//创建时间
if(Validator.isNotEmpty(dfProductArticle.getCreateTime())){
queryWrapper.eq(DfProductArticle::getCreateTime,dfProductArticle.getCreateTime());
}
//修改人员
if(Validator.isNotEmpty(dfProductArticle.getUpdateBy())){
queryWrapper.eq(DfProductArticle::getUpdateBy,dfProductArticle.getUpdateBy());
}
//修改时间
if(Validator.isNotEmpty(dfProductArticle.getUpdateTime())){
queryWrapper.eq(DfProductArticle::getUpdateTime,dfProductArticle.getUpdateTime());
}
//删除标志0代表存在 2代表删除
if(Validator.isNotEmpty(dfProductArticle.getDelFlag())){
queryWrapper.eq(DfProductArticle::getDelFlag,dfProductArticle.getDelFlag());
}
//租户id
if(Validator.isNotEmpty(dfProductArticle.getTenantId())){
queryWrapper.eq(DfProductArticle::getTenantId,dfProductArticle.getTenantId());
}
}
}

@ -0,0 +1,229 @@
package com.bs.df.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bs.common.annotation.Log;
import com.bs.common.core.controller.BaseController;
import com.bs.common.core.domain.AjaxResult;
import com.bs.common.core.page.TableDataInfo;
import com.bs.common.enums.BusinessType;
import com.bs.common.utils.poi.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfProductInfo;
import com.bs.df.service.IDfProductInfoService;
import javax.annotation.Resource;
/**
* Controller
*
* @author bs
* @date 2024-04-06
*/
@Api(tags = "产品信息")
@RestController
@RequestMapping("/product/info")
public class DfProductInfoController extends BaseController {
@Resource
private IDfProductInfoService dfProductInfoService;
/**
*
*/
@ApiOperation("分页查询产品信息列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfProductInfo dfProductInfo) {
startPage();
LambdaQueryWrapper<DfProductInfo> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductInfo);
List<DfProductInfo> list = dfProductInfoService.list(queryWrapper);
return getDataTable(list);
}
/**
*
*/
@ApiOperation("查询产品信息列表")
@GetMapping("/list")
public AjaxResult list(DfProductInfo dfProductInfo) {
LambdaQueryWrapper<DfProductInfo> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductInfo);
List<DfProductInfo> list = dfProductInfoService.list(queryWrapper);
return success(list);
}
/**
*
*/
@ApiOperation("导出产品信息列表")
@Log(title = "产品信息导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DfProductInfo dfProductInfo) {
LambdaQueryWrapper<DfProductInfo> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductInfo);
List<DfProductInfo> list = dfProductInfoService.list(queryWrapper);
ExcelUtil<DfProductInfo> util = new ExcelUtil<DfProductInfo>(DfProductInfo. class);
util.exportExcel(response, list, "产品信息数据");
}
/**
*
*/
@ApiOperation("获取产品信息详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfProductInfoService.getById(id));
}
/**
*
*/
@ApiOperation("新增产品信息")
@Log(title = "产品信息新增", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DfProductInfo dfProductInfo) {
return toAjax(dfProductInfoService.save(dfProductInfo));
}
/**
*
*/
@ApiOperation("修改产品信息")
@Log(title = "产品信息修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DfProductInfo dfProductInfo) {
return toAjax(dfProductInfoService.updateById(dfProductInfo));
}
/**
*
*/
@ApiOperation("删除产品信息")
@Log(title = "产品信息删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids) {
return toAjax(dfProductInfoService.removeBatchByIds(ids));
}
/**
*
*/
private void condition (LambdaQueryWrapper<DfProductInfo> queryWrapper,DfProductInfo dfProductInfo){
//产品id
if(Validator.isNotEmpty(dfProductInfo.getId())){
queryWrapper.eq(DfProductInfo::getId,dfProductInfo.getId());
}
//产品名称
if(Validator.isNotEmpty(dfProductInfo.getProductName())){
queryWrapper.eq(DfProductInfo::getProductName,dfProductInfo.getProductName());
}
//产品简称
if(Validator.isNotEmpty(dfProductInfo.getSimpleName())){
queryWrapper.eq(DfProductInfo::getSimpleName,dfProductInfo.getSimpleName());
}
//产品类型
if(Validator.isNotEmpty(dfProductInfo.getProductType())){
queryWrapper.eq(DfProductInfo::getProductType,dfProductInfo.getProductType());
}
//产品细类
if(Validator.isNotEmpty(dfProductInfo.getProductSubtype())){
queryWrapper.eq(DfProductInfo::getProductSubtype,dfProductInfo.getProductSubtype());
}
//最高额度(元)
if(Validator.isNotEmpty(dfProductInfo.getMaxAmount())){
queryWrapper.eq(DfProductInfo::getMaxAmount,dfProductInfo.getMaxAmount());
}
//年利率(单利)
if(Validator.isNotEmpty(dfProductInfo.getInterestRate())){
queryWrapper.eq(DfProductInfo::getInterestRate,dfProductInfo.getInterestRate());
}
//产品简介
if(Validator.isNotEmpty(dfProductInfo.getProductIntro())){
queryWrapper.eq(DfProductInfo::getProductIntro,dfProductInfo.getProductIntro());
}
//产品详情(富文本)
if(Validator.isNotEmpty(dfProductInfo.getProductDetail())){
queryWrapper.eq(DfProductInfo::getProductDetail,dfProductInfo.getProductDetail());
}
//上架时间起
if(Validator.isNotEmpty(dfProductInfo.getListBegin())){
queryWrapper.eq(DfProductInfo::getListBegin,dfProductInfo.getListBegin());
}
//上架时间止
if(Validator.isNotEmpty(dfProductInfo.getListEnd())){
queryWrapper.eq(DfProductInfo::getListEnd,dfProductInfo.getListEnd());
}
//状态0草稿1上架
if(Validator.isNotEmpty(dfProductInfo.getStatus())){
queryWrapper.eq(DfProductInfo::getStatus,dfProductInfo.getStatus());
}
//备注
if(Validator.isNotEmpty(dfProductInfo.getRemark())){
queryWrapper.eq(DfProductInfo::getRemark,dfProductInfo.getRemark());
}
//创建部门
if(Validator.isNotEmpty(dfProductInfo.getCreateDept())){
queryWrapper.eq(DfProductInfo::getCreateDept,dfProductInfo.getCreateDept());
}
//创建人员
if(Validator.isNotEmpty(dfProductInfo.getCreateBy())){
queryWrapper.eq(DfProductInfo::getCreateBy,dfProductInfo.getCreateBy());
}
//创建时间
if(Validator.isNotEmpty(dfProductInfo.getCreateTime())){
queryWrapper.eq(DfProductInfo::getCreateTime,dfProductInfo.getCreateTime());
}
//修改人员
if(Validator.isNotEmpty(dfProductInfo.getUpdateBy())){
queryWrapper.eq(DfProductInfo::getUpdateBy,dfProductInfo.getUpdateBy());
}
//修改时间
if(Validator.isNotEmpty(dfProductInfo.getUpdateTime())){
queryWrapper.eq(DfProductInfo::getUpdateTime,dfProductInfo.getUpdateTime());
}
//删除标志0代表存在 2代表删除
if(Validator.isNotEmpty(dfProductInfo.getDelFlag())){
queryWrapper.eq(DfProductInfo::getDelFlag,dfProductInfo.getDelFlag());
}
//租户id
if(Validator.isNotEmpty(dfProductInfo.getTenantId())){
queryWrapper.eq(DfProductInfo::getTenantId,dfProductInfo.getTenantId());
}
}
}

@ -0,0 +1,199 @@
package com.bs.df.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bs.common.annotation.Log;
import com.bs.common.core.controller.BaseController;
import com.bs.common.core.domain.AjaxResult;
import com.bs.common.core.page.TableDataInfo;
import com.bs.common.enums.BusinessType;
import com.bs.common.utils.poi.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfProductMoment;
import com.bs.df.service.IDfProductMomentService;
import javax.annotation.Resource;
/**
* Controller
*
* @author bs
* @date 2024-04-06
*/
@Api(tags = "产品朋友圈")
@RestController
@RequestMapping("/moment/moment")
public class DfProductMomentController extends BaseController {
@Resource
private IDfProductMomentService dfProductMomentService;
/**
*
*/
@ApiOperation("分页查询产品朋友圈列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfProductMoment dfProductMoment) {
startPage();
LambdaQueryWrapper<DfProductMoment> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductMoment);
List<DfProductMoment> list = dfProductMomentService.list(queryWrapper);
return getDataTable(list);
}
/**
*
*/
@ApiOperation("查询产品朋友圈列表")
@GetMapping("/list")
public AjaxResult list(DfProductMoment dfProductMoment) {
LambdaQueryWrapper<DfProductMoment> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductMoment);
List<DfProductMoment> list = dfProductMomentService.list(queryWrapper);
return success(list);
}
/**
*
*/
@ApiOperation("导出产品朋友圈列表")
@Log(title = "产品朋友圈导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DfProductMoment dfProductMoment) {
LambdaQueryWrapper<DfProductMoment> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductMoment);
List<DfProductMoment> list = dfProductMomentService.list(queryWrapper);
ExcelUtil<DfProductMoment> util = new ExcelUtil<DfProductMoment>(DfProductMoment. class);
util.exportExcel(response, list, "产品朋友圈数据");
}
/**
*
*/
@ApiOperation("获取产品朋友圈详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfProductMomentService.getById(id));
}
/**
*
*/
@ApiOperation("新增产品朋友圈")
@Log(title = "产品朋友圈新增", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DfProductMoment dfProductMoment) {
return toAjax(dfProductMomentService.save(dfProductMoment));
}
/**
*
*/
@ApiOperation("修改产品朋友圈")
@Log(title = "产品朋友圈修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DfProductMoment dfProductMoment) {
return toAjax(dfProductMomentService.updateById(dfProductMoment));
}
/**
*
*/
@ApiOperation("删除产品朋友圈")
@Log(title = "产品朋友圈删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids) {
return toAjax(dfProductMomentService.removeBatchByIds(ids));
}
/**
*
*/
private void condition (LambdaQueryWrapper<DfProductMoment> queryWrapper,DfProductMoment dfProductMoment){
//朋友圈id
if(Validator.isNotEmpty(dfProductMoment.getId())){
queryWrapper.eq(DfProductMoment::getId,dfProductMoment.getId());
}
//朋友圈分类0产品朋友圈1经纪朋友圈
if(Validator.isNotEmpty(dfProductMoment.getMomentType())){
queryWrapper.eq(DfProductMoment::getMomentType,dfProductMoment.getMomentType());
}
//朋友圈类型
if(Validator.isNotEmpty(dfProductMoment.getMomentKind())){
queryWrapper.eq(DfProductMoment::getMomentKind,dfProductMoment.getMomentKind());
}
//朋友圈标题
if(Validator.isNotEmpty(dfProductMoment.getMomentTitle())){
queryWrapper.eq(DfProductMoment::getMomentTitle,dfProductMoment.getMomentTitle());
}
//朋友圈正文
if(Validator.isNotEmpty(dfProductMoment.getMomentContent())){
queryWrapper.eq(DfProductMoment::getMomentContent,dfProductMoment.getMomentContent());
}
//状态0草稿1上架
if(Validator.isNotEmpty(dfProductMoment.getStatus())){
queryWrapper.eq(DfProductMoment::getStatus,dfProductMoment.getStatus());
}
//备注
if(Validator.isNotEmpty(dfProductMoment.getRemark())){
queryWrapper.eq(DfProductMoment::getRemark,dfProductMoment.getRemark());
}
//创建部门
if(Validator.isNotEmpty(dfProductMoment.getCreateDept())){
queryWrapper.eq(DfProductMoment::getCreateDept,dfProductMoment.getCreateDept());
}
//创建人员
if(Validator.isNotEmpty(dfProductMoment.getCreateBy())){
queryWrapper.eq(DfProductMoment::getCreateBy,dfProductMoment.getCreateBy());
}
//创建时间
if(Validator.isNotEmpty(dfProductMoment.getCreateTime())){
queryWrapper.eq(DfProductMoment::getCreateTime,dfProductMoment.getCreateTime());
}
//修改人员
if(Validator.isNotEmpty(dfProductMoment.getUpdateBy())){
queryWrapper.eq(DfProductMoment::getUpdateBy,dfProductMoment.getUpdateBy());
}
//修改时间
if(Validator.isNotEmpty(dfProductMoment.getUpdateTime())){
queryWrapper.eq(DfProductMoment::getUpdateTime,dfProductMoment.getUpdateTime());
}
//删除标志0代表存在 2代表删除
if(Validator.isNotEmpty(dfProductMoment.getDelFlag())){
queryWrapper.eq(DfProductMoment::getDelFlag,dfProductMoment.getDelFlag());
}
//租户id
if(Validator.isNotEmpty(dfProductMoment.getTenantId())){
queryWrapper.eq(DfProductMoment::getTenantId,dfProductMoment.getTenantId());
}
}
}

@ -0,0 +1,204 @@
package com.bs.df.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bs.common.annotation.Log;
import com.bs.common.core.controller.BaseController;
import com.bs.common.core.domain.AjaxResult;
import com.bs.common.core.page.TableDataInfo;
import com.bs.common.enums.BusinessType;
import com.bs.common.utils.poi.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfProductPoster;
import com.bs.df.service.IDfProductPosterService;
import javax.annotation.Resource;
/**
* Controller
*
* @author bs
* @date 2024-04-06
*/
@Api(tags = "产品海报")
@RestController
@RequestMapping("/poster/poster")
public class DfProductPosterController extends BaseController {
@Resource
private IDfProductPosterService dfProductPosterService;
/**
*
*/
@ApiOperation("分页查询产品海报列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfProductPoster dfProductPoster) {
startPage();
LambdaQueryWrapper<DfProductPoster> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductPoster);
List<DfProductPoster> list = dfProductPosterService.list(queryWrapper);
return getDataTable(list);
}
/**
*
*/
@ApiOperation("查询产品海报列表")
@GetMapping("/list")
public AjaxResult list(DfProductPoster dfProductPoster) {
LambdaQueryWrapper<DfProductPoster> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductPoster);
List<DfProductPoster> list = dfProductPosterService.list(queryWrapper);
return success(list);
}
/**
*
*/
@ApiOperation("导出产品海报列表")
@Log(title = "产品海报导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DfProductPoster dfProductPoster) {
LambdaQueryWrapper<DfProductPoster> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfProductPoster);
List<DfProductPoster> list = dfProductPosterService.list(queryWrapper);
ExcelUtil<DfProductPoster> util = new ExcelUtil<DfProductPoster>(DfProductPoster. class);
util.exportExcel(response, list, "产品海报数据");
}
/**
*
*/
@ApiOperation("获取产品海报详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfProductPosterService.getById(id));
}
/**
*
*/
@ApiOperation("新增产品海报")
@Log(title = "产品海报新增", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DfProductPoster dfProductPoster) {
return toAjax(dfProductPosterService.save(dfProductPoster));
}
/**
*
*/
@ApiOperation("修改产品海报")
@Log(title = "产品海报修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DfProductPoster dfProductPoster) {
return toAjax(dfProductPosterService.updateById(dfProductPoster));
}
/**
*
*/
@ApiOperation("删除产品海报")
@Log(title = "产品海报删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids) {
return toAjax(dfProductPosterService.removeBatchByIds(ids));
}
/**
*
*/
private void condition (LambdaQueryWrapper<DfProductPoster> queryWrapper,DfProductPoster dfProductPoster){
//海报id
if(Validator.isNotEmpty(dfProductPoster.getId())){
queryWrapper.eq(DfProductPoster::getId,dfProductPoster.getId());
}
//产品id
if(Validator.isNotEmpty(dfProductPoster.getProductId())){
queryWrapper.eq(DfProductPoster::getProductId,dfProductPoster.getProductId());
}
//海报分类0产品海报1经纪海报
if(Validator.isNotEmpty(dfProductPoster.getPosterType())){
queryWrapper.eq(DfProductPoster::getPosterType,dfProductPoster.getPosterType());
}
//海报名称
if(Validator.isNotEmpty(dfProductPoster.getPosterName())){
queryWrapper.eq(DfProductPoster::getPosterName,dfProductPoster.getPosterName());
}
//海报标签
if(Validator.isNotEmpty(dfProductPoster.getPosterTag())){
queryWrapper.eq(DfProductPoster::getPosterTag,dfProductPoster.getPosterTag());
}
//海报图片id
if(Validator.isNotEmpty(dfProductPoster.getPosterFileId())){
queryWrapper.eq(DfProductPoster::getPosterFileId,dfProductPoster.getPosterFileId());
}
//状态0草稿1上架
if(Validator.isNotEmpty(dfProductPoster.getStatus())){
queryWrapper.eq(DfProductPoster::getStatus,dfProductPoster.getStatus());
}
//备注
if(Validator.isNotEmpty(dfProductPoster.getRemark())){
queryWrapper.eq(DfProductPoster::getRemark,dfProductPoster.getRemark());
}
//创建部门
if(Validator.isNotEmpty(dfProductPoster.getCreateDept())){
queryWrapper.eq(DfProductPoster::getCreateDept,dfProductPoster.getCreateDept());
}
//创建人员
if(Validator.isNotEmpty(dfProductPoster.getCreateBy())){
queryWrapper.eq(DfProductPoster::getCreateBy,dfProductPoster.getCreateBy());
}
//创建时间
if(Validator.isNotEmpty(dfProductPoster.getCreateTime())){
queryWrapper.eq(DfProductPoster::getCreateTime,dfProductPoster.getCreateTime());
}
//修改人员
if(Validator.isNotEmpty(dfProductPoster.getUpdateBy())){
queryWrapper.eq(DfProductPoster::getUpdateBy,dfProductPoster.getUpdateBy());
}
//修改时间
if(Validator.isNotEmpty(dfProductPoster.getUpdateTime())){
queryWrapper.eq(DfProductPoster::getUpdateTime,dfProductPoster.getUpdateTime());
}
//删除标志0代表存在 2代表删除
if(Validator.isNotEmpty(dfProductPoster.getDelFlag())){
queryWrapper.eq(DfProductPoster::getDelFlag,dfProductPoster.getDelFlag());
}
//租户id
if(Validator.isNotEmpty(dfProductPoster.getTenantId())){
queryWrapper.eq(DfProductPoster::getTenantId,dfProductPoster.getTenantId());
}
}
}

@ -0,0 +1,179 @@
package com.bs.df.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bs.common.annotation.Log;
import com.bs.common.core.controller.BaseController;
import com.bs.common.core.domain.AjaxResult;
import com.bs.common.core.page.TableDataInfo;
import com.bs.common.enums.BusinessType;
import com.bs.common.utils.poi.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import com.bs.df.domain.DfUserBroker;
import com.bs.df.service.IDfUserBrokerService;
import javax.annotation.Resource;
/**
* Controller
*
* @author bs
* @date 2024-04-06
*/
@Api(tags = "客户经纪")
@RestController
@RequestMapping("/user/broker")
public class DfUserBrokerController extends BaseController {
@Resource
private IDfUserBrokerService dfUserBrokerService;
/**
*
*/
@ApiOperation("分页查询客户经纪列表")
@GetMapping("/pageList")
public TableDataInfo pageList(DfUserBroker dfUserBroker) {
startPage();
LambdaQueryWrapper<DfUserBroker> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfUserBroker);
List<DfUserBroker> list = dfUserBrokerService.list(queryWrapper);
return getDataTable(list);
}
/**
*
*/
@ApiOperation("查询客户经纪列表")
@GetMapping("/list")
public AjaxResult list(DfUserBroker dfUserBroker) {
LambdaQueryWrapper<DfUserBroker> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfUserBroker);
List<DfUserBroker> list = dfUserBrokerService.list(queryWrapper);
return success(list);
}
/**
*
*/
@ApiOperation("导出客户经纪列表")
@Log(title = "客户经纪导出", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DfUserBroker dfUserBroker) {
LambdaQueryWrapper<DfUserBroker> queryWrapper = new LambdaQueryWrapper();
condition(queryWrapper,dfUserBroker);
List<DfUserBroker> list = dfUserBrokerService.list(queryWrapper);
ExcelUtil<DfUserBroker> util = new ExcelUtil<DfUserBroker>(DfUserBroker. class);
util.exportExcel(response, list, "客户经纪数据");
}
/**
*
*/
@ApiOperation("获取客户经纪详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(dfUserBrokerService.getById(id));
}
/**
*
*/
@ApiOperation("新增客户经纪")
@Log(title = "客户经纪新增", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody DfUserBroker dfUserBroker) {
return toAjax(dfUserBrokerService.save(dfUserBroker));
}
/**
*
*/
@ApiOperation("修改客户经纪")
@Log(title = "客户经纪修改", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody DfUserBroker dfUserBroker) {
return toAjax(dfUserBrokerService.updateById(dfUserBroker));
}
/**
*
*/
@ApiOperation("删除客户经纪")
@Log(title = "客户经纪删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids) {
return toAjax(dfUserBrokerService.removeBatchByIds(ids));
}
/**
*
*/
private void condition (LambdaQueryWrapper<DfUserBroker> queryWrapper,DfUserBroker dfUserBroker){
//id
if(Validator.isNotEmpty(dfUserBroker.getId())){
queryWrapper.eq(DfUserBroker::getId,dfUserBroker.getId());
}
//客户id
if(Validator.isNotEmpty(dfUserBroker.getUserId())){
queryWrapper.eq(DfUserBroker::getUserId,dfUserBroker.getUserId());
}
//经纪id
if(Validator.isNotEmpty(dfUserBroker.getBrokerId())){
queryWrapper.eq(DfUserBroker::getBrokerId,dfUserBroker.getBrokerId());
}
//创建部门
if(Validator.isNotEmpty(dfUserBroker.getCreateDept())){
queryWrapper.eq(DfUserBroker::getCreateDept,dfUserBroker.getCreateDept());
}
//创建人员
if(Validator.isNotEmpty(dfUserBroker.getCreateBy())){
queryWrapper.eq(DfUserBroker::getCreateBy,dfUserBroker.getCreateBy());
}
//创建时间
if(Validator.isNotEmpty(dfUserBroker.getCreateTime())){
queryWrapper.eq(DfUserBroker::getCreateTime,dfUserBroker.getCreateTime());
}
//修改人员
if(Validator.isNotEmpty(dfUserBroker.getUpdateBy())){
queryWrapper.eq(DfUserBroker::getUpdateBy,dfUserBroker.getUpdateBy());
}
//修改时间
if(Validator.isNotEmpty(dfUserBroker.getUpdateTime())){
queryWrapper.eq(DfUserBroker::getUpdateTime,dfUserBroker.getUpdateTime());
}
//删除标志0代表存在 2代表删除
if(Validator.isNotEmpty(dfUserBroker.getDelFlag())){
queryWrapper.eq(DfUserBroker::getDelFlag,dfUserBroker.getDelFlag());
}
//租户id
if(Validator.isNotEmpty(dfUserBroker.getTenantId())){
queryWrapper.eq(DfUserBroker::getTenantId,dfUserBroker.getTenantId());
}
}
}

@ -0,0 +1,74 @@
package com.bs.df.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
/**
* 线 df_biz_clue
*
* @author bs
* @date 2024-04-06
*/
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_biz_clue")
@Data
public class DfBizClue extends BaseEntity{
private static final long serialVersionUID = 1L;
/** id */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "id")
private Long id;
/** 数据类型0客户1经纪 */
@Excel(name = "数据类型0客户1经纪")
@ApiModelProperty(value = "数据类型0客户1经纪")
private String dataType;
/** 线索类型 */
@Excel(name = "线索类型")
@ApiModelProperty(value = "线索类型")
private String clueType;
/** 用户id */
@Excel(name = "用户id")
@ApiModelProperty(value = "用户id")
private Long userId;
/** 用户昵称 */
@Excel(name = "用户昵称")
@ApiModelProperty(value = "用户昵称")
private String nickName;
/** 浏览时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "浏览时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty(value = "浏览时间")
private Date browseTime;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
@ApiModelProperty(value = "${column.columnComment}")
private String ;
}

@ -0,0 +1,101 @@
package com.bs.df.domain;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
/**
* df_broker
*
* @author bs
* @date 2024-04-06
*/
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_broker")
@Data
public class DfBroker extends BaseEntity{
private static final long serialVersionUID = 1L;
/** id */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "id")
private Long id;
/** 父级id */
@Excel(name = "父级id")
@ApiModelProperty(value = "父级id")
private Long parentId;
/** 代理商名称 */
@Excel(name = "代理商名称")
@ApiModelProperty(value = "代理商名称")
private String brokerName;
/** 地址 */
@Excel(name = "地址")
@ApiModelProperty(value = "地址")
private String brokerAddress;
/** 简介 */
@Excel(name = "简介")
@ApiModelProperty(value = "简介")
private String brokerDesc;
/** 显示顺序 */
@Excel(name = "显示顺序")
@ApiModelProperty(value = "显示顺序")
private Long orderNum;
/** 负责人 */
@Excel(name = "负责人")
@ApiModelProperty(value = "负责人")
private String chargePerson;
/** 联系电话 */
@Excel(name = "联系电话")
@ApiModelProperty(value = "联系电话")
private String contactPhone;
/** 邮箱 */
@Excel(name = "邮箱")
@ApiModelProperty(value = "邮箱")
private String email;
/** 是否机构 */
@Excel(name = "是否机构")
@ApiModelProperty(value = "是否机构")
private String isInstitution;
/** 状态 */
@Excel(name = "状态")
@ApiModelProperty(value = "状态")
private String staus;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,53 @@
package com.bs.df.domain;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
/**
* df_broker_product
*
* @author bs
* @date 2024-04-06
*/
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_broker_product")
@Data
public class DfBrokerProduct extends BaseEntity{
private static final long serialVersionUID = 1L;
/** id */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "id")
private Long id;
/** 代理id */
@Excel(name = "代理id")
@ApiModelProperty(value = "代理id")
private Long brokerId;
/** 产品id */
@Excel(name = "产品id")
@ApiModelProperty(value = "产品id")
private Long productId;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,128 @@
package com.bs.df.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
/**
* df_order
*
* @author bs
* @date 2024-04-06
*/
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_order")
@Data
public class DfOrder extends BaseEntity{
private static final long serialVersionUID = 1L;
/** id */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "id")
private Long id;
/** 订单号 */
@Excel(name = "订单号")
@ApiModelProperty(value = "订单号")
private String orderNo;
/** 客户id */
@Excel(name = "客户id")
@ApiModelProperty(value = "客户id")
private Long userId;
/** 经纪id */
@Excel(name = "经纪id")
@ApiModelProperty(value = "经纪id")
private Long brokerId;
/** 产品id */
@Excel(name = "产品id")
@ApiModelProperty(value = "产品id")
private Long productId;
/** 产品名称 */
@Excel(name = "产品名称")
@ApiModelProperty(value = "产品名称")
private String productName;
/** 提交时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty(value = "提交时间")
private Date submitTime;
/** 申请额(万元) */
@Excel(name = "申请额", readConverterExp = "万=元")
@ApiModelProperty(value = "申请额(万元)")
private Long applyAmount;
/** 授信额(万元) */
@Excel(name = "授信额", readConverterExp = "万=元")
@ApiModelProperty(value = "授信额(万元)")
private Long limitAmount;
/** 放款额(万元) */
@Excel(name = "放款额", readConverterExp = "万=元")
@ApiModelProperty(value = "放款额(万元)")
private Long loanAmount;
/** 放款利率 */
@Excel(name = "放款利率")
@ApiModelProperty(value = "放款利率")
private Long loanRate;
/** 贷款期限(月) */
@Excel(name = "贷款期限", readConverterExp = "月=")
@ApiModelProperty(value = "贷款期限(月)")
private Long loadMonth;
/** 是否首贷 */
@Excel(name = "是否首贷")
@ApiModelProperty(value = "是否首贷")
private String isFirst;
/** 可结算金额(万元) */
@Excel(name = "可结算金额", readConverterExp = "万=元")
@ApiModelProperty(value = "可结算金额(万元)")
private Long settleAmount;
/** 状态 */
@Excel(name = "状态")
@ApiModelProperty(value = "状态")
private String staus;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,80 @@
package com.bs.df.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
/**
* df_product_article
*
* @author bs
* @date 2024-04-06
*/
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_product_article")
@Data
public class DfProductArticle extends BaseEntity{
private static final long serialVersionUID = 1L;
/** 文章id */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "文章id")
private Long id;
/** 文章分类0产品文章1经纪文章 */
@Excel(name = "文章分类0产品文章1经纪文章")
@ApiModelProperty(value = "文章分类0产品文章1经纪文章")
private String articleType;
/** 文章类型 */
@Excel(name = "文章类型")
@ApiModelProperty(value = "文章类型")
private String articleKind;
/** 文章标题 */
@Excel(name = "文章标题")
@ApiModelProperty(value = "文章标题")
private String articleTitle;
/** 发布时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty(value = "发布时间")
private Date publishTime;
/** 文章正文 */
@Excel(name = "文章正文")
@ApiModelProperty(value = "文章正文")
private String articleContent;
/** 状态0草稿1上架 */
@Excel(name = "状态0草稿1上架")
@ApiModelProperty(value = "状态0草稿1上架")
private String status;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,111 @@
package com.bs.df.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
/**
* df_product_info
*
* @author bs
* @date 2024-04-06
*/
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_product_info")
@Data
public class DfProductInfo extends BaseEntity{
private static final long serialVersionUID = 1L;
/** 产品id */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "产品id")
private Long id;
/** 产品名称 */
@Excel(name = "产品名称")
@ApiModelProperty(value = "产品名称")
private String productName;
/** 产品简称 */
@Excel(name = "产品简称")
@ApiModelProperty(value = "产品简称")
private String simpleName;
/** 产品类型 */
@Excel(name = "产品类型")
@ApiModelProperty(value = "产品类型")
private String productType;
/** 产品细类 */
@Excel(name = "产品细类")
@ApiModelProperty(value = "产品细类")
private String productSubtype;
/** 最高额度(元) */
@Excel(name = "最高额度", readConverterExp = "元=")
@ApiModelProperty(value = "最高额度(元)")
private Long maxAmount;
/** 年利率(单利) */
@Excel(name = "年利率", readConverterExp = "单=利")
@ApiModelProperty(value = "年利率(单利)")
private String interestRate;
/** 产品简介 */
@Excel(name = "产品简介")
@ApiModelProperty(value = "产品简介")
private String productIntro;
/** 产品详情(富文本) */
@Excel(name = "产品详情", readConverterExp = "富=文本")
@ApiModelProperty(value = "产品详情(富文本)")
private String productDetail;
/** 上架时间起 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "上架时间起", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty(value = "上架时间起")
private Date listBegin;
/** 上架时间止 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "上架时间止", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty(value = "上架时间止")
private Date listEnd;
/** 状态0草稿1上架 */
@Excel(name = "状态0草稿1上架")
@ApiModelProperty(value = "状态0草稿1上架")
private String status;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,71 @@
package com.bs.df.domain;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
/**
* df_product_moment
*
* @author bs
* @date 2024-04-06
*/
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_product_moment")
@Data
public class DfProductMoment extends BaseEntity{
private static final long serialVersionUID = 1L;
/** 朋友圈id */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "朋友圈id")
private Long id;
/** 朋友圈分类0产品朋友圈1经纪朋友圈 */
@Excel(name = "朋友圈分类0产品朋友圈1经纪朋友圈")
@ApiModelProperty(value = "朋友圈分类0产品朋友圈1经纪朋友圈")
private String momentType;
/** 朋友圈类型 */
@Excel(name = "朋友圈类型")
@ApiModelProperty(value = "朋友圈类型")
private String momentKind;
/** 朋友圈标题 */
@Excel(name = "朋友圈标题")
@ApiModelProperty(value = "朋友圈标题")
private String momentTitle;
/** 朋友圈正文 */
@Excel(name = "朋友圈正文")
@ApiModelProperty(value = "朋友圈正文")
private String momentContent;
/** 状态0草稿1上架 */
@Excel(name = "状态0草稿1上架")
@ApiModelProperty(value = "状态0草稿1上架")
private String status;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,77 @@
package com.bs.df.domain;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
/**
* df_product_poster
*
* @author bs
* @date 2024-04-06
*/
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_product_poster")
@Data
public class DfProductPoster extends BaseEntity{
private static final long serialVersionUID = 1L;
/** 海报id */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "海报id")
private Long id;
/** 产品id */
@Excel(name = "产品id")
@ApiModelProperty(value = "产品id")
private Long productId;
/** 海报分类0产品海报1经纪海报 */
@Excel(name = "海报分类0产品海报1经纪海报")
@ApiModelProperty(value = "海报分类0产品海报1经纪海报")
private String posterType;
/** 海报名称 */
@Excel(name = "海报名称")
@ApiModelProperty(value = "海报名称")
private String posterName;
/** 海报标签 */
@Excel(name = "海报标签")
@ApiModelProperty(value = "海报标签")
private String posterTag;
/** 海报图片id */
@Excel(name = "海报图片id")
@ApiModelProperty(value = "海报图片id")
private String posterFileId;
/** 状态0草稿1上架 */
@Excel(name = "状态0草稿1上架")
@ApiModelProperty(value = "状态0草稿1上架")
private String status;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,47 @@
package com.bs.df.domain;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
/**
* df_user_broker
*
* @author bs
* @date 2024-04-06
*/
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_user_broker")
@Data
public class DfUserBroker extends BaseEntity{
private static final long serialVersionUID = 1L;
/** id */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(value = "id")
private Long id;
/** 客户id */
@Excel(name = "客户id")
@ApiModelProperty(value = "客户id")
private Long userId;
/** 经纪id */
@Excel(name = "经纪id")
@ApiModelProperty(value = "经纪id")
private Long brokerId;
}

@ -0,0 +1,14 @@
package com.bs.df.mapper;
import com.bs.common.mybatis.mapper.BaseMapperX;
import com.bs.df.domain.DfBizClue;
/**
* 线Mapper
*
* @author bs
* @date 2024-04-06
*/
public interface DfBizClueMapper extends BaseMapperX<DfBizClue> {
}

@ -0,0 +1,14 @@
package com.bs.df.mapper;
import com.bs.common.mybatis.mapper.BaseMapperX;
import com.bs.df.domain.DfBroker;
/**
* Mapper
*
* @author bs
* @date 2024-04-06
*/
public interface DfBrokerMapper extends BaseMapperX<DfBroker> {
}

@ -0,0 +1,14 @@
package com.bs.df.mapper;
import com.bs.common.mybatis.mapper.BaseMapperX;
import com.bs.df.domain.DfBrokerProduct;
/**
* Mapper
*
* @author bs
* @date 2024-04-06
*/
public interface DfBrokerProductMapper extends BaseMapperX<DfBrokerProduct> {
}

@ -0,0 +1,14 @@
package com.bs.df.mapper;
import com.bs.common.mybatis.mapper.BaseMapperX;
import com.bs.df.domain.DfOrder;
/**
* Mapper
*
* @author bs
* @date 2024-04-06
*/
public interface DfOrderMapper extends BaseMapperX<DfOrder> {
}

@ -0,0 +1,14 @@
package com.bs.df.mapper;
import com.bs.common.mybatis.mapper.BaseMapperX;
import com.bs.df.domain.DfProductArticle;
/**
* Mapper
*
* @author bs
* @date 2024-04-06
*/
public interface DfProductArticleMapper extends BaseMapperX<DfProductArticle> {
}

@ -0,0 +1,14 @@
package com.bs.df.mapper;
import com.bs.common.mybatis.mapper.BaseMapperX;
import com.bs.df.domain.DfProductInfo;
/**
* Mapper
*
* @author bs
* @date 2024-04-06
*/
public interface DfProductInfoMapper extends BaseMapperX<DfProductInfo> {
}

@ -0,0 +1,14 @@
package com.bs.df.mapper;
import com.bs.common.mybatis.mapper.BaseMapperX;
import com.bs.df.domain.DfProductMoment;
/**
* Mapper
*
* @author bs
* @date 2024-04-06
*/
public interface DfProductMomentMapper extends BaseMapperX<DfProductMoment> {
}

@ -0,0 +1,14 @@
package com.bs.df.mapper;
import com.bs.common.mybatis.mapper.BaseMapperX;
import com.bs.df.domain.DfProductPoster;
/**
* Mapper
*
* @author bs
* @date 2024-04-06
*/
public interface DfProductPosterMapper extends BaseMapperX<DfProductPoster> {
}

@ -0,0 +1,14 @@
package com.bs.df.mapper;
import com.bs.common.mybatis.mapper.BaseMapperX;
import com.bs.df.domain.DfUserBroker;
/**
* Mapper
*
* @author bs
* @date 2024-04-06
*/
public interface DfUserBrokerMapper extends BaseMapperX<DfUserBroker> {
}

@ -0,0 +1,14 @@
package com.bs.df.service;
import com.github.yulichang.base.MPJBaseService;
import com.bs.df.domain.DfBizClue;
/**
* 线Service
*
* @author bs
* @date 2024-04-06
*/
public interface IDfBizClueService extends MPJBaseService<DfBizClue>{
}

@ -0,0 +1,14 @@
package com.bs.df.service;
import com.github.yulichang.base.MPJBaseService;
import com.bs.df.domain.DfBrokerProduct;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
public interface IDfBrokerProductService extends MPJBaseService<DfBrokerProduct>{
}

@ -0,0 +1,14 @@
package com.bs.df.service;
import com.github.yulichang.base.MPJBaseService;
import com.bs.df.domain.DfBroker;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
public interface IDfBrokerService extends MPJBaseService<DfBroker>{
}

@ -0,0 +1,14 @@
package com.bs.df.service;
import com.github.yulichang.base.MPJBaseService;
import com.bs.df.domain.DfOrder;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
public interface IDfOrderService extends MPJBaseService<DfOrder>{
}

@ -0,0 +1,14 @@
package com.bs.df.service;
import com.github.yulichang.base.MPJBaseService;
import com.bs.df.domain.DfProductArticle;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
public interface IDfProductArticleService extends MPJBaseService<DfProductArticle>{
}

@ -0,0 +1,14 @@
package com.bs.df.service;
import com.github.yulichang.base.MPJBaseService;
import com.bs.df.domain.DfProductInfo;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
public interface IDfProductInfoService extends MPJBaseService<DfProductInfo>{
}

@ -0,0 +1,14 @@
package com.bs.df.service;
import com.github.yulichang.base.MPJBaseService;
import com.bs.df.domain.DfProductMoment;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
public interface IDfProductMomentService extends MPJBaseService<DfProductMoment>{
}

@ -0,0 +1,14 @@
package com.bs.df.service;
import com.github.yulichang.base.MPJBaseService;
import com.bs.df.domain.DfProductPoster;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
public interface IDfProductPosterService extends MPJBaseService<DfProductPoster>{
}

@ -0,0 +1,14 @@
package com.bs.df.service;
import com.github.yulichang.base.MPJBaseService;
import com.bs.df.domain.DfUserBroker;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
public interface IDfUserBrokerService extends MPJBaseService<DfUserBroker>{
}

@ -0,0 +1,19 @@
package com.bs.df.service.impl;
import com.bs.df.mapper.DfBizClueMapper;
import com.bs.df.domain.DfBizClue;
import com.bs.df.service.IDfBizClueService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* 线Service
*
* @author bs
* @date 2024-04-06
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DfBizClueServiceImpl extends MPJBaseServiceImpl<DfBizClueMapper, DfBizClue> implements IDfBizClueService {
}

@ -0,0 +1,19 @@
package com.bs.df.service.impl;
import com.bs.df.mapper.DfBrokerProductMapper;
import com.bs.df.domain.DfBrokerProduct;
import com.bs.df.service.IDfBrokerProductService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DfBrokerProductServiceImpl extends MPJBaseServiceImpl<DfBrokerProductMapper, DfBrokerProduct> implements IDfBrokerProductService {
}

@ -0,0 +1,19 @@
package com.bs.df.service.impl;
import com.bs.df.mapper.DfBrokerMapper;
import com.bs.df.domain.DfBroker;
import com.bs.df.service.IDfBrokerService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DfBrokerServiceImpl extends MPJBaseServiceImpl<DfBrokerMapper, DfBroker> implements IDfBrokerService {
}

@ -0,0 +1,19 @@
package com.bs.df.service.impl;
import com.bs.df.mapper.DfOrderMapper;
import com.bs.df.domain.DfOrder;
import com.bs.df.service.IDfOrderService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DfOrderServiceImpl extends MPJBaseServiceImpl<DfOrderMapper, DfOrder> implements IDfOrderService {
}

@ -0,0 +1,19 @@
package com.bs.df.service.impl;
import com.bs.df.mapper.DfProductArticleMapper;
import com.bs.df.domain.DfProductArticle;
import com.bs.df.service.IDfProductArticleService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DfProductArticleServiceImpl extends MPJBaseServiceImpl<DfProductArticleMapper, DfProductArticle> implements IDfProductArticleService {
}

@ -0,0 +1,19 @@
package com.bs.df.service.impl;
import com.bs.df.mapper.DfProductInfoMapper;
import com.bs.df.domain.DfProductInfo;
import com.bs.df.service.IDfProductInfoService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DfProductInfoServiceImpl extends MPJBaseServiceImpl<DfProductInfoMapper, DfProductInfo> implements IDfProductInfoService {
}

@ -0,0 +1,19 @@
package com.bs.df.service.impl;
import com.bs.df.mapper.DfProductMomentMapper;
import com.bs.df.domain.DfProductMoment;
import com.bs.df.service.IDfProductMomentService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DfProductMomentServiceImpl extends MPJBaseServiceImpl<DfProductMomentMapper, DfProductMoment> implements IDfProductMomentService {
}

@ -0,0 +1,19 @@
package com.bs.df.service.impl;
import com.bs.df.mapper.DfProductPosterMapper;
import com.bs.df.domain.DfProductPoster;
import com.bs.df.service.IDfProductPosterService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DfProductPosterServiceImpl extends MPJBaseServiceImpl<DfProductPosterMapper, DfProductPoster> implements IDfProductPosterService {
}

@ -0,0 +1,19 @@
package com.bs.df.service.impl;
import com.bs.df.mapper.DfUserBrokerMapper;
import com.bs.df.domain.DfUserBroker;
import com.bs.df.service.IDfUserBrokerService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
*
* @author bs
* @date 2024-04-06
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DfUserBrokerServiceImpl extends MPJBaseServiceImpl<DfUserBrokerMapper, DfUserBroker> implements IDfUserBrokerService {
}

@ -6,12 +6,12 @@ spring:
druid:
# 主库数据源
master:
#url: jdbc:mysql://124.71.134.146:63306/bs-jxc-dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
#username: root
#password: fastrise@chain
url: jdbc:mysql://localhost:3306/my-base?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
url: jdbc:mysql://localhost:3306/df-broker?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
username: root
password: abcd123
password: fastrise@chain
# url: jdbc:mysql://124.71.134.146:63306/my-base?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
# username: root
# password: abcd123
# 从库数据源
slave:
# 从数据源开关/默认关闭

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bs.df.mapper.DfProductArticleMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bs.df.mapper.DfBizClueMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bs.df.mapper.DfBrokerMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bs.df.mapper.DfBrokerProductMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bs.df.mapper.DfProductMomentMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bs.df.mapper.DfOrderMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bs.df.mapper.DfProductPosterMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bs.df.mapper.DfProductInfoMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bs.df.mapper.DfUserBrokerMapper">
</mapper>

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 分页查询产品文章列表
export function pageListArticle(query) {
return request({
url: '/article/article/pageList',
method: 'get',
params: query
})
}
// 查询产品文章列表
export function listArticle(query) {
return request({
url: '/article/article/list',
method: 'get',
params: query
})
}
// 查询产品文章详细
export function getArticle(id) {
return request({
url: '/article/article/' + id,
method: 'get'
})
}
// 新增产品文章
export function addArticle(data) {
return request({
url: '/article/article',
method: 'post',
data: data
})
}
// 修改产品文章
export function updateArticle(data) {
return request({
url: '/article/article',
method: 'put',
data: data
})
}
// 删除产品文章
export function delArticle(id) {
return request({
url: '/article/article/' + id,
method: 'delete'
})
}
// 导出产品文章
export function exportArticle(query) {
return request({
url: '/article/article/' + 'export',
method: 'post',
params: query
})
}

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 分页查询业务线索列表
export function pageListClue(query) {
return request({
url: '/biz/clue/pageList',
method: 'get',
params: query
})
}
// 查询业务线索列表
export function listClue(query) {
return request({
url: '/biz/clue/list',
method: 'get',
params: query
})
}
// 查询业务线索详细
export function getClue(id) {
return request({
url: '/biz/clue/' + id,
method: 'get'
})
}
// 新增业务线索
export function addClue(data) {
return request({
url: '/biz/clue',
method: 'post',
data: data
})
}
// 修改业务线索
export function updateClue(data) {
return request({
url: '/biz/clue',
method: 'put',
data: data
})
}
// 删除业务线索
export function delClue(id) {
return request({
url: '/biz/clue/' + id,
method: 'delete'
})
}
// 导出业务线索
export function exportClue(query) {
return request({
url: '/biz/clue/' + 'export',
method: 'post',
params: query
})
}

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 分页查询代理商经纪列表
export function pageListBroker(query) {
return request({
url: '/broker/broker/pageList',
method: 'get',
params: query
})
}
// 查询代理商经纪列表
export function listBroker(query) {
return request({
url: '/broker/broker/list',
method: 'get',
params: query
})
}
// 查询代理商经纪详细
export function getBroker(id) {
return request({
url: '/broker/broker/' + id,
method: 'get'
})
}
// 新增代理商经纪
export function addBroker(data) {
return request({
url: '/broker/broker',
method: 'post',
data: data
})
}
// 修改代理商经纪
export function updateBroker(data) {
return request({
url: '/broker/broker',
method: 'put',
data: data
})
}
// 删除代理商经纪
export function delBroker(id) {
return request({
url: '/broker/broker/' + id,
method: 'delete'
})
}
// 导出代理商经纪
export function exportBroker(query) {
return request({
url: '/broker/broker/' + 'export',
method: 'post',
params: query
})
}

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 分页查询代理产品权限列表
export function pageListProduct(query) {
return request({
url: '/broker/product/pageList',
method: 'get',
params: query
})
}
// 查询代理产品权限列表
export function listProduct(query) {
return request({
url: '/broker/product/list',
method: 'get',
params: query
})
}
// 查询代理产品权限详细
export function getProduct(id) {
return request({
url: '/broker/product/' + id,
method: 'get'
})
}
// 新增代理产品权限
export function addProduct(data) {
return request({
url: '/broker/product',
method: 'post',
data: data
})
}
// 修改代理产品权限
export function updateProduct(data) {
return request({
url: '/broker/product',
method: 'put',
data: data
})
}
// 删除代理产品权限
export function delProduct(id) {
return request({
url: '/broker/product/' + id,
method: 'delete'
})
}
// 导出代理产品权限
export function exportProduct(query) {
return request({
url: '/broker/product/' + 'export',
method: 'post',
params: query
})
}

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 分页查询产品朋友圈列表
export function pageListMoment(query) {
return request({
url: '/moment/moment/pageList',
method: 'get',
params: query
})
}
// 查询产品朋友圈列表
export function listMoment(query) {
return request({
url: '/moment/moment/list',
method: 'get',
params: query
})
}
// 查询产品朋友圈详细
export function getMoment(id) {
return request({
url: '/moment/moment/' + id,
method: 'get'
})
}
// 新增产品朋友圈
export function addMoment(data) {
return request({
url: '/moment/moment',
method: 'post',
data: data
})
}
// 修改产品朋友圈
export function updateMoment(data) {
return request({
url: '/moment/moment',
method: 'put',
data: data
})
}
// 删除产品朋友圈
export function delMoment(id) {
return request({
url: '/moment/moment/' + id,
method: 'delete'
})
}
// 导出产品朋友圈
export function exportMoment(query) {
return request({
url: '/moment/moment/' + 'export',
method: 'post',
params: query
})
}

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 分页查询客户订单列表
export function pageListOrder(query) {
return request({
url: '/order/order/pageList',
method: 'get',
params: query
})
}
// 查询客户订单列表
export function listOrder(query) {
return request({
url: '/order/order/list',
method: 'get',
params: query
})
}
// 查询客户订单详细
export function getOrder(id) {
return request({
url: '/order/order/' + id,
method: 'get'
})
}
// 新增客户订单
export function addOrder(data) {
return request({
url: '/order/order',
method: 'post',
data: data
})
}
// 修改客户订单
export function updateOrder(data) {
return request({
url: '/order/order',
method: 'put',
data: data
})
}
// 删除客户订单
export function delOrder(id) {
return request({
url: '/order/order/' + id,
method: 'delete'
})
}
// 导出客户订单
export function exportOrder(query) {
return request({
url: '/order/order/' + 'export',
method: 'post',
params: query
})
}

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 分页查询产品海报列表
export function pageListPoster(query) {
return request({
url: '/poster/poster/pageList',
method: 'get',
params: query
})
}
// 查询产品海报列表
export function listPoster(query) {
return request({
url: '/poster/poster/list',
method: 'get',
params: query
})
}
// 查询产品海报详细
export function getPoster(id) {
return request({
url: '/poster/poster/' + id,
method: 'get'
})
}
// 新增产品海报
export function addPoster(data) {
return request({
url: '/poster/poster',
method: 'post',
data: data
})
}
// 修改产品海报
export function updatePoster(data) {
return request({
url: '/poster/poster',
method: 'put',
data: data
})
}
// 删除产品海报
export function delPoster(id) {
return request({
url: '/poster/poster/' + id,
method: 'delete'
})
}
// 导出产品海报
export function exportPoster(query) {
return request({
url: '/poster/poster/' + 'export',
method: 'post',
params: query
})
}

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 分页查询产品信息列表
export function pageListInfo(query) {
return request({
url: '/product/info/pageList',
method: 'get',
params: query
})
}
// 查询产品信息列表
export function listInfo(query) {
return request({
url: '/product/info/list',
method: 'get',
params: query
})
}
// 查询产品信息详细
export function getInfo(id) {
return request({
url: '/product/info/' + id,
method: 'get'
})
}
// 新增产品信息
export function addInfo(data) {
return request({
url: '/product/info',
method: 'post',
data: data
})
}
// 修改产品信息
export function updateInfo(data) {
return request({
url: '/product/info',
method: 'put',
data: data
})
}
// 删除产品信息
export function delInfo(id) {
return request({
url: '/product/info/' + id,
method: 'delete'
})
}
// 导出产品信息
export function exportInfo(query) {
return request({
url: '/product/info/' + 'export',
method: 'post',
params: query
})
}

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 分页查询客户经纪列表
export function pageListBroker(query) {
return request({
url: '/user/broker/pageList',
method: 'get',
params: query
})
}
// 查询客户经纪列表
export function listBroker(query) {
return request({
url: '/user/broker/list',
method: 'get',
params: query
})
}
// 查询客户经纪详细
export function getBroker(id) {
return request({
url: '/user/broker/' + id,
method: 'get'
})
}
// 新增客户经纪
export function addBroker(data) {
return request({
url: '/user/broker',
method: 'post',
data: data
})
}
// 修改客户经纪
export function updateBroker(data) {
return request({
url: '/user/broker',
method: 'put',
data: data
})
}
// 删除客户经纪
export function delBroker(id) {
return request({
url: '/user/broker/' + id,
method: 'delete'
})
}
// 导出客户经纪
export function exportBroker(query) {
return request({
url: '/user/broker/' + 'export',
method: 'post',
params: query
})
}

@ -0,0 +1,341 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="文章类型" prop="articleKind">
<el-input
v-model="queryParams.articleKind"
placeholder="请输入文章类型"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="文章标题" prop="articleTitle">
<el-input
v-model="queryParams.articleTitle"
placeholder="请输入文章标题"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="发布时间" prop="publishTime">
<el-date-picker clearable
v-model="queryParams.publishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择发布时间">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['article:article:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['article:article:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['article:article:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['article:article:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="articleList" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="文章id" align="center" prop="id" sortable='custom' />
<el-table-column label="文章分类0产品文章1经纪文章" align="center" prop="articleType" sortable='custom' />
<el-table-column label="文章类型" align="center" prop="articleKind" sortable='custom' />
<el-table-column label="文章标题" align="center" prop="articleTitle" sortable='custom' />
<el-table-column label="发布时间" align="center" prop="publishTime" width="180" sortable='custom'>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.publishTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="文章正文" align="center" prop="articleContent" sortable='custom' />
<el-table-column label="状态0草稿1上架" align="center" prop="status" sortable='custom' />
<el-table-column label="备注" align="center" prop="remark" sortable='custom' />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['article:article:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['article:article:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
hide-on-single-page
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改产品文章对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-form-item label="文章类型" prop="articleKind">
<el-input v-model="form.articleKind" placeholder="请输入文章类型" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="文章标题" prop="articleTitle">
<el-input v-model="form.articleTitle" placeholder="请输入文章标题" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="发布时间" prop="publishTime">
<el-date-picker clearable
v-model="form.publishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择发布时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="文章正文">
<editor v-model="form.articleContent" :min-height="192"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { pageListArticle, getArticle, delArticle, addArticle, updateArticle } from "@/api/article/article";
export default {
name: "Article",
data() {
return {
//
loading: true,
//
ids: [],
//
names: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
articleList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
articleType: null,
articleKind: null,
articleTitle: null,
publishTime: null,
articleContent: null,
status: null,
},
//
form: {},
//
rules: {
articleType: [
{ required: true, message: "文章分类0产品文章1经纪文章不能为空", trigger: "change" }
],
articleKind: [
{ required: true, message: "文章类型不能为空", trigger: "blur" }
],
articleTitle: [
{ required: true, message: "文章标题不能为空", trigger: "blur" }
],
publishTime: [
{ required: true, message: "发布时间不能为空", trigger: "blur" }
],
articleContent: [
{ required: true, message: "文章正文不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "状态0草稿1上架不能为空", trigger: "change" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询产品文章列表 */
getList() {
this.loading = true;
pageListArticle(this.queryParams).then(response => {
this.articleList = response.rows;
this.total = response.total;
this.loading = false;
}).catch(e => {
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
articleType: null,
articleKind: null,
articleTitle: null,
publishTime: null,
articleContent: null,
status: null,
remark: null,
};
this.resetForm("form");
},
//
handleSortChange(col) {
this.$sortBy(col, this.queryParams);
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.names = selection.map(item => item.id);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加产品文章";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getArticle(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改产品文章";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateArticle(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addArticle(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const names = row.id || this.names;
this.$modal.confirm('是否确认删除产品文章为"' + names + '"的数据项?').then(function() {
return delArticle(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('article/article/export', {
...this.queryParams
}, `article_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,339 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户id" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入用户id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户昵称" prop="nickName">
<el-input
v-model="queryParams.nickName"
placeholder="请输入用户昵称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="浏览时间" prop="browseTime">
<el-date-picker clearable
v-model="queryParams.browseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择浏览时间">
</el-date-picker>
</el-form-item>
<el-form-item label="${comment}" prop="业务链接">
<el-input
v-model="queryParams.业务链接"
placeholder="请输入${comment}"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['biz:clue:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['biz:clue:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['biz:clue:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['biz:clue:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="clueList" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" sortable='custom' />
<el-table-column label="数据类型0客户1经纪" align="center" prop="dataType" sortable='custom' />
<el-table-column label="线索类型" align="center" prop="clueType" sortable='custom' />
<el-table-column label="用户id" align="center" prop="userId" sortable='custom' />
<el-table-column label="用户昵称" align="center" prop="nickName" sortable='custom' />
<el-table-column label="浏览时间" align="center" prop="browseTime" width="180" sortable='custom'>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.browseTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="${comment}" align="center" prop="业务链接" sortable='custom' />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['biz:clue:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['biz:clue:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
hide-on-single-page
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改业务线索对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-form-item label="用户id" prop="userId">
<el-input v-model="form.userId" placeholder="请输入用户id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="浏览时间" prop="browseTime">
<el-date-picker clearable
v-model="form.browseTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择浏览时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="${comment}" prop="业务链接">
<el-input v-model="form." placeholder="请输入${comment}" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { pageListClue, getClue, delClue, addClue, updateClue } from "@/api/biz/clue";
export default {
name: "Clue",
data() {
return {
//
loading: true,
//
ids: [],
//
names: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
// 线
clueList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
dataType: null,
clueType: null,
userId: null,
nickName: null,
browseTime: null,
业务链接: null
},
//
form: {},
//
rules: {
dataType: [
{ required: true, message: "数据类型0客户1经纪不能为空", trigger: "change" }
],
clueType: [
{ required: true, message: "线索类型不能为空", trigger: "change" }
],
userId: [
{ required: true, message: "用户id不能为空", trigger: "blur" }
],
nickName: [
{ required: true, message: "用户昵称不能为空", trigger: "blur" }
],
browseTime: [
{ required: true, message: "浏览时间不能为空", trigger: "blur" }
],
业务链接: [
{ required: true, message: "$comment不能为空", trigger: "blur" }
]
}
};
},
created() {
this.getList();
},
methods: {
/** 查询业务线索列表 */
getList() {
this.loading = true;
pageListClue(this.queryParams).then(response => {
this.clueList = response.rows;
this.total = response.total;
this.loading = false;
}).catch(e => {
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
dataType: null,
clueType: null,
userId: null,
nickName: null,
browseTime: null,
业务链接: null
};
this.resetForm("form");
},
//
handleSortChange(col) {
this.$sortBy(col, this.queryParams);
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.names = selection.map(item => item.id);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加业务线索";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getClue(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改业务线索";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateClue(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addClue(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const names = row.id || this.names;
this.$modal.confirm('是否确认删除业务线索为"' + names + '"的数据项?').then(function() {
return delClue(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('biz/clue/export', {
...this.queryParams
}, `clue_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,442 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="父级id" prop="parentId">
<el-input
v-model="queryParams.parentId"
placeholder="请输入父级id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="代理商名称" prop="brokerName">
<el-input
v-model="queryParams.brokerName"
placeholder="请输入代理商名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="地址" prop="brokerAddress">
<el-input
v-model="queryParams.brokerAddress"
placeholder="请输入地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="简介" prop="brokerDesc">
<el-input
v-model="queryParams.brokerDesc"
placeholder="请输入简介"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="显示顺序" prop="orderNum">
<el-input
v-model="queryParams.orderNum"
placeholder="请输入显示顺序"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="负责人" prop="chargePerson">
<el-input
v-model="queryParams.chargePerson"
placeholder="请输入负责人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="联系电话" prop="contactPhone">
<el-input
v-model="queryParams.contactPhone"
placeholder="请输入联系电话"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input
v-model="queryParams.email"
placeholder="请输入邮箱"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否机构" prop="isInstitution">
<el-input
v-model="queryParams.isInstitution"
placeholder="请输入是否机构"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="staus">
<el-input
v-model="queryParams.staus"
placeholder="请输入状态"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['broker:broker:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['broker:broker:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['broker:broker:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['broker:broker:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="brokerList" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" sortable='custom' />
<el-table-column label="父级id" align="center" prop="parentId" sortable='custom' />
<el-table-column label="代理商名称" align="center" prop="brokerName" sortable='custom' />
<el-table-column label="地址" align="center" prop="brokerAddress" sortable='custom' />
<el-table-column label="简介" align="center" prop="brokerDesc" sortable='custom' />
<el-table-column label="显示顺序" align="center" prop="orderNum" sortable='custom' />
<el-table-column label="负责人" align="center" prop="chargePerson" sortable='custom' />
<el-table-column label="联系电话" align="center" prop="contactPhone" sortable='custom' />
<el-table-column label="邮箱" align="center" prop="email" sortable='custom' />
<el-table-column label="是否机构" align="center" prop="isInstitution" sortable='custom' />
<el-table-column label="状态" align="center" prop="staus" sortable='custom' />
<el-table-column label="备注" align="center" prop="remark" sortable='custom' />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['broker:broker:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['broker:broker:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
hide-on-single-page
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改代理商经纪对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-form-item label="父级id" prop="parentId">
<el-input v-model="form.parentId" placeholder="请输入父级id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="代理商名称" prop="brokerName">
<el-input v-model="form.brokerName" placeholder="请输入代理商名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="地址" prop="brokerAddress">
<el-input v-model="form.brokerAddress" placeholder="请输入地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="简介" prop="brokerDesc">
<el-input v-model="form.brokerDesc" placeholder="请输入简介" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="显示顺序" prop="orderNum">
<el-input v-model="form.orderNum" placeholder="请输入显示顺序" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="负责人" prop="chargePerson">
<el-input v-model="form.chargePerson" placeholder="请输入负责人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="contactPhone">
<el-input v-model="form.contactPhone" placeholder="请输入联系电话" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否机构" prop="isInstitution">
<el-input v-model="form.isInstitution" placeholder="请输入是否机构" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="staus">
<el-input v-model="form.staus" placeholder="请输入状态" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { pageListBroker, getBroker, delBroker, addBroker, updateBroker } from "@/api/broker/broker";
export default {
name: "Broker",
data() {
return {
//
loading: true,
//
ids: [],
//
names: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
brokerList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
parentId: null,
brokerName: null,
brokerAddress: null,
brokerDesc: null,
orderNum: null,
chargePerson: null,
contactPhone: null,
email: null,
isInstitution: null,
staus: null,
},
//
form: {},
//
rules: {
parentId: [
{ required: true, message: "父级id不能为空", trigger: "blur" }
],
brokerName: [
{ required: true, message: "代理商名称不能为空", trigger: "blur" }
],
brokerAddress: [
{ required: true, message: "地址不能为空", trigger: "blur" }
],
brokerDesc: [
{ required: true, message: "简介不能为空", trigger: "blur" }
],
orderNum: [
{ required: true, message: "显示顺序不能为空", trigger: "blur" }
],
chargePerson: [
{ required: true, message: "负责人不能为空", trigger: "blur" }
],
contactPhone: [
{ required: true, message: "联系电话不能为空", trigger: "blur" }
],
email: [
{ required: true, message: "邮箱不能为空", trigger: "blur" }
],
isInstitution: [
{ required: true, message: "是否机构不能为空", trigger: "blur" }
],
staus: [
{ required: true, message: "状态不能为空", trigger: "blur" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询代理商经纪列表 */
getList() {
this.loading = true;
pageListBroker(this.queryParams).then(response => {
this.brokerList = response.rows;
this.total = response.total;
this.loading = false;
}).catch(e => {
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
parentId: null,
brokerName: null,
brokerAddress: null,
brokerDesc: null,
orderNum: null,
chargePerson: null,
contactPhone: null,
email: null,
isInstitution: null,
staus: null,
remark: null,
};
this.resetForm("form");
},
//
handleSortChange(col) {
this.$sortBy(col, this.queryParams);
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.names = selection.map(item => item.id);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加代理商经纪";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getBroker(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改代理商经纪";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateBroker(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBroker(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const names = row.id || this.names;
this.$modal.confirm('是否确认删除代理商经纪为"' + names + '"的数据项?').then(function() {
return delBroker(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('broker/broker/export', {
...this.queryParams
}, `broker_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,290 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="代理id" prop="brokerId">
<el-input
v-model="queryParams.brokerId"
placeholder="请输入代理id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品id" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入产品id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['broker:product:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['broker:product:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['broker:product:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['broker:product:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="productList" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" sortable='custom' />
<el-table-column label="代理id" align="center" prop="brokerId" sortable='custom' />
<el-table-column label="产品id" align="center" prop="productId" sortable='custom' />
<el-table-column label="备注" align="center" prop="remark" sortable='custom' />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['broker:product:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['broker:product:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
hide-on-single-page
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改代理产品权限对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-form-item label="代理id" prop="brokerId">
<el-input v-model="form.brokerId" placeholder="请输入代理id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品id" prop="productId">
<el-input v-model="form.productId" placeholder="请输入产品id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { pageListProduct, getProduct, delProduct, addProduct, updateProduct } from "@/api/broker/product";
export default {
name: "Product",
data() {
return {
//
loading: true,
//
ids: [],
//
names: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
productList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
brokerId: null,
productId: null,
},
//
form: {},
//
rules: {
brokerId: [
{ required: true, message: "代理id不能为空", trigger: "blur" }
],
productId: [
{ required: true, message: "产品id不能为空", trigger: "blur" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询代理产品权限列表 */
getList() {
this.loading = true;
pageListProduct(this.queryParams).then(response => {
this.productList = response.rows;
this.total = response.total;
this.loading = false;
}).catch(e => {
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
brokerId: null,
productId: null,
remark: null,
};
this.resetForm("form");
},
//
handleSortChange(col) {
this.$sortBy(col, this.queryParams);
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.names = selection.map(item => item.id);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加代理产品权限";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getProduct(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改代理产品权限";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateProduct(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addProduct(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const names = row.id || this.names;
this.$modal.confirm('是否确认删除代理产品权限为"' + names + '"的数据项?').then(function() {
return delProduct(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('broker/product/export', {
...this.queryParams
}, `product_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,313 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="朋友圈类型" prop="momentKind">
<el-input
v-model="queryParams.momentKind"
placeholder="请输入朋友圈类型"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="朋友圈标题" prop="momentTitle">
<el-input
v-model="queryParams.momentTitle"
placeholder="请输入朋友圈标题"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['moment:moment:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['moment:moment:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['moment:moment:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['moment:moment:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="momentList" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="朋友圈id" align="center" prop="id" sortable='custom' />
<el-table-column label="朋友圈分类0产品朋友圈1经纪朋友圈" align="center" prop="momentType" sortable='custom' />
<el-table-column label="朋友圈类型" align="center" prop="momentKind" sortable='custom' />
<el-table-column label="朋友圈标题" align="center" prop="momentTitle" sortable='custom' />
<el-table-column label="朋友圈正文" align="center" prop="momentContent" sortable='custom' />
<el-table-column label="状态0草稿1上架" align="center" prop="status" sortable='custom' />
<el-table-column label="备注" align="center" prop="remark" sortable='custom' />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['moment:moment:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['moment:moment:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
hide-on-single-page
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改产品朋友圈对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-form-item label="朋友圈类型" prop="momentKind">
<el-input v-model="form.momentKind" placeholder="请输入朋友圈类型" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="朋友圈标题" prop="momentTitle">
<el-input v-model="form.momentTitle" placeholder="请输入朋友圈标题" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="朋友圈正文">
<editor v-model="form.momentContent" :min-height="192"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { pageListMoment, getMoment, delMoment, addMoment, updateMoment } from "@/api/moment/moment";
export default {
name: "Moment",
data() {
return {
//
loading: true,
//
ids: [],
//
names: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
momentList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
momentType: null,
momentKind: null,
momentTitle: null,
momentContent: null,
status: null,
},
//
form: {},
//
rules: {
momentType: [
{ required: true, message: "朋友圈分类0产品朋友圈1经纪朋友圈不能为空", trigger: "change" }
],
momentKind: [
{ required: true, message: "朋友圈类型不能为空", trigger: "blur" }
],
momentTitle: [
{ required: true, message: "朋友圈标题不能为空", trigger: "blur" }
],
momentContent: [
{ required: true, message: "朋友圈正文不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "状态0草稿1上架不能为空", trigger: "change" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询产品朋友圈列表 */
getList() {
this.loading = true;
pageListMoment(this.queryParams).then(response => {
this.momentList = response.rows;
this.total = response.total;
this.loading = false;
}).catch(e => {
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
momentType: null,
momentKind: null,
momentTitle: null,
momentContent: null,
status: null,
remark: null,
};
this.resetForm("form");
},
//
handleSortChange(col) {
this.$sortBy(col, this.queryParams);
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.names = selection.map(item => item.id);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加产品朋友圈";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getMoment(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改产品朋友圈";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateMoment(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addMoment(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const names = row.id || this.names;
this.$modal.confirm('是否确认删除产品朋友圈为"' + names + '"的数据项?').then(function() {
return delMoment(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('moment/moment/export', {
...this.queryParams
}, `moment_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,527 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="订单号" prop="orderNo">
<el-input
v-model="queryParams.orderNo"
placeholder="请输入订单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="客户id" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入客户id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="经纪id" prop="brokerId">
<el-input
v-model="queryParams.brokerId"
placeholder="请输入经纪id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品id" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入产品id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<el-input
v-model="queryParams.productName"
placeholder="请输入产品名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="提交时间" prop="submitTime">
<el-date-picker clearable
v-model="queryParams.submitTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择提交时间">
</el-date-picker>
</el-form-item>
<el-form-item label="申请额" prop="applyAmount">
<el-input
v-model="queryParams.applyAmount"
placeholder="请输入申请额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="授信额" prop="limitAmount">
<el-input
v-model="queryParams.limitAmount"
placeholder="请输入授信额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="放款额" prop="loanAmount">
<el-input
v-model="queryParams.loanAmount"
placeholder="请输入放款额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="放款利率" prop="loanRate">
<el-input
v-model="queryParams.loanRate"
placeholder="请输入放款利率"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="贷款期限" prop="loadMonth">
<el-input
v-model="queryParams.loadMonth"
placeholder="请输入贷款期限"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否首贷" prop="isFirst">
<el-input
v-model="queryParams.isFirst"
placeholder="请输入是否首贷"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="可结算金额" prop="settleAmount">
<el-input
v-model="queryParams.settleAmount"
placeholder="请输入可结算金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="staus">
<el-input
v-model="queryParams.staus"
placeholder="请输入状态"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['order:order:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['order:order:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['order:order:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['order:order:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="orderList" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" sortable='custom' />
<el-table-column label="订单号" align="center" prop="orderNo" sortable='custom' />
<el-table-column label="客户id" align="center" prop="userId" sortable='custom' />
<el-table-column label="经纪id" align="center" prop="brokerId" sortable='custom' />
<el-table-column label="产品id" align="center" prop="productId" sortable='custom' />
<el-table-column label="产品名称" align="center" prop="productName" sortable='custom' />
<el-table-column label="提交时间" align="center" prop="submitTime" width="180" sortable='custom'>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.submitTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="申请额" align="center" prop="applyAmount" sortable='custom' />
<el-table-column label="授信额" align="center" prop="limitAmount" sortable='custom' />
<el-table-column label="放款额" align="center" prop="loanAmount" sortable='custom' />
<el-table-column label="放款利率" align="center" prop="loanRate" sortable='custom' />
<el-table-column label="贷款期限" align="center" prop="loadMonth" sortable='custom' />
<el-table-column label="是否首贷" align="center" prop="isFirst" sortable='custom' />
<el-table-column label="可结算金额" align="center" prop="settleAmount" sortable='custom' />
<el-table-column label="状态" align="center" prop="staus" sortable='custom' />
<el-table-column label="备注" align="center" prop="remark" sortable='custom' />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['order:order:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['order:order:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
hide-on-single-page
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改客户订单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-form-item label="订单号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入订单号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户id" prop="userId">
<el-input v-model="form.userId" placeholder="请输入客户id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经纪id" prop="brokerId">
<el-input v-model="form.brokerId" placeholder="请输入经纪id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品id" prop="productId">
<el-input v-model="form.productId" placeholder="请输入产品id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品名称" prop="productName">
<el-input v-model="form.productName" placeholder="请输入产品名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提交时间" prop="submitTime">
<el-date-picker clearable
v-model="form.submitTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择提交时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请额" prop="applyAmount">
<el-input v-model="form.applyAmount" placeholder="请输入申请额" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="授信额" prop="limitAmount">
<el-input v-model="form.limitAmount" placeholder="请输入授信额" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="放款额" prop="loanAmount">
<el-input v-model="form.loanAmount" placeholder="请输入放款额" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="放款利率" prop="loanRate">
<el-input v-model="form.loanRate" placeholder="请输入放款利率" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="贷款期限" prop="loadMonth">
<el-input v-model="form.loadMonth" placeholder="请输入贷款期限" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否首贷" prop="isFirst">
<el-input v-model="form.isFirst" placeholder="请输入是否首贷" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="可结算金额" prop="settleAmount">
<el-input v-model="form.settleAmount" placeholder="请输入可结算金额" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="staus">
<el-input v-model="form.staus" placeholder="请输入状态" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { pageListOrder, getOrder, delOrder, addOrder, updateOrder } from "@/api/order/order";
export default {
name: "Order",
data() {
return {
//
loading: true,
//
ids: [],
//
names: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
orderList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
orderNo: null,
userId: null,
brokerId: null,
productId: null,
productName: null,
submitTime: null,
applyAmount: null,
limitAmount: null,
loanAmount: null,
loanRate: null,
loadMonth: null,
isFirst: null,
settleAmount: null,
staus: null,
},
//
form: {},
//
rules: {
orderNo: [
{ required: true, message: "订单号不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "客户id不能为空", trigger: "blur" }
],
brokerId: [
{ required: true, message: "经纪id不能为空", trigger: "blur" }
],
productId: [
{ required: true, message: "产品id不能为空", trigger: "blur" }
],
productName: [
{ required: true, message: "产品名称不能为空", trigger: "blur" }
],
submitTime: [
{ required: true, message: "提交时间不能为空", trigger: "blur" }
],
applyAmount: [
{ required: true, message: "申请额不能为空", trigger: "blur" }
],
limitAmount: [
{ required: true, message: "授信额不能为空", trigger: "blur" }
],
loanAmount: [
{ required: true, message: "放款额不能为空", trigger: "blur" }
],
loanRate: [
{ required: true, message: "放款利率不能为空", trigger: "blur" }
],
loadMonth: [
{ required: true, message: "贷款期限不能为空", trigger: "blur" }
],
isFirst: [
{ required: true, message: "是否首贷不能为空", trigger: "blur" }
],
settleAmount: [
{ required: true, message: "可结算金额不能为空", trigger: "blur" }
],
staus: [
{ required: true, message: "状态不能为空", trigger: "blur" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询客户订单列表 */
getList() {
this.loading = true;
pageListOrder(this.queryParams).then(response => {
this.orderList = response.rows;
this.total = response.total;
this.loading = false;
}).catch(e => {
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
orderNo: null,
userId: null,
brokerId: null,
productId: null,
productName: null,
submitTime: null,
applyAmount: null,
limitAmount: null,
loanAmount: null,
loanRate: null,
loadMonth: null,
isFirst: null,
settleAmount: null,
staus: null,
remark: null,
};
this.resetForm("form");
},
//
handleSortChange(col) {
this.$sortBy(col, this.queryParams);
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.names = selection.map(item => item.id);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加客户订单";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getOrder(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改客户订单";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateOrder(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addOrder(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const names = row.id || this.names;
this.$modal.confirm('是否确认删除客户订单为"' + names + '"的数据项?').then(function() {
return delOrder(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('order/order/export', {
...this.queryParams
}, `order_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,340 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="产品id" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入产品id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="海报名称" prop="posterName">
<el-input
v-model="queryParams.posterName"
placeholder="请输入海报名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="海报标签" prop="posterTag">
<el-input
v-model="queryParams.posterTag"
placeholder="请输入海报标签"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="海报图片id" prop="posterFileId">
<el-input
v-model="queryParams.posterFileId"
placeholder="请输入海报图片id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['poster:poster:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['poster:poster:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['poster:poster:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['poster:poster:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="posterList" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="海报id" align="center" prop="id" sortable='custom' />
<el-table-column label="产品id" align="center" prop="productId" sortable='custom' />
<el-table-column label="海报分类0产品海报1经纪海报" align="center" prop="posterType" sortable='custom' />
<el-table-column label="海报名称" align="center" prop="posterName" sortable='custom' />
<el-table-column label="海报标签" align="center" prop="posterTag" sortable='custom' />
<el-table-column label="海报图片id" align="center" prop="posterFileId" sortable='custom' />
<el-table-column label="状态0草稿1上架" align="center" prop="status" sortable='custom' />
<el-table-column label="备注" align="center" prop="remark" sortable='custom' />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['poster:poster:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['poster:poster:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
hide-on-single-page
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改产品海报对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-form-item label="产品id" prop="productId">
<el-input v-model="form.productId" placeholder="请输入产品id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="海报名称" prop="posterName">
<el-input v-model="form.posterName" placeholder="请输入海报名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="海报标签" prop="posterTag">
<el-input v-model="form.posterTag" placeholder="请输入海报标签" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="海报图片id" prop="posterFileId">
<el-input v-model="form.posterFileId" placeholder="请输入海报图片id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { pageListPoster, getPoster, delPoster, addPoster, updatePoster } from "@/api/poster/poster";
export default {
name: "Poster",
data() {
return {
//
loading: true,
//
ids: [],
//
names: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
posterList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
productId: null,
posterType: null,
posterName: null,
posterTag: null,
posterFileId: null,
status: null,
},
//
form: {},
//
rules: {
productId: [
{ required: true, message: "产品id不能为空", trigger: "blur" }
],
posterType: [
{ required: true, message: "海报分类0产品海报1经纪海报不能为空", trigger: "change" }
],
posterName: [
{ required: true, message: "海报名称不能为空", trigger: "blur" }
],
posterTag: [
{ required: true, message: "海报标签不能为空", trigger: "blur" }
],
posterFileId: [
{ required: true, message: "海报图片id不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "状态0草稿1上架不能为空", trigger: "change" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询产品海报列表 */
getList() {
this.loading = true;
pageListPoster(this.queryParams).then(response => {
this.posterList = response.rows;
this.total = response.total;
this.loading = false;
}).catch(e => {
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
productId: null,
posterType: null,
posterName: null,
posterTag: null,
posterFileId: null,
status: null,
remark: null,
};
this.resetForm("form");
},
//
handleSortChange(col) {
this.$sortBy(col, this.queryParams);
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.names = selection.map(item => item.id);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加产品海报";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getPoster(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改产品海报";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updatePoster(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addPoster(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const names = row.id || this.names;
this.$modal.confirm('是否确认删除产品海报为"' + names + '"的数据项?').then(function() {
return delPoster(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('poster/poster/export', {
...this.queryParams
}, `poster_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,424 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="产品名称" prop="productName">
<el-input
v-model="queryParams.productName"
placeholder="请输入产品名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品简称" prop="simpleName">
<el-input
v-model="queryParams.simpleName"
placeholder="请输入产品简称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="最高额度" prop="maxAmount">
<el-input
v-model="queryParams.maxAmount"
placeholder="请输入最高额度"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="年利率" prop="interestRate">
<el-input
v-model="queryParams.interestRate"
placeholder="请输入年利率"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="上架时间起" prop="listBegin">
<el-date-picker clearable
v-model="queryParams.listBegin"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择上架时间起">
</el-date-picker>
</el-form-item>
<el-form-item label="上架时间止" prop="listEnd">
<el-date-picker clearable
v-model="queryParams.listEnd"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择上架时间止">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['product:info:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['product:info:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['product:info:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['product:info:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="infoList" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="产品id" align="center" prop="id" sortable='custom' />
<el-table-column label="产品名称" align="center" prop="productName" sortable='custom' />
<el-table-column label="产品简称" align="center" prop="simpleName" sortable='custom' />
<el-table-column label="产品类型" align="center" prop="productType" sortable='custom' />
<el-table-column label="产品细类" align="center" prop="productSubtype" sortable='custom' />
<el-table-column label="最高额度" align="center" prop="maxAmount" sortable='custom' />
<el-table-column label="年利率" align="center" prop="interestRate" sortable='custom' />
<el-table-column label="产品简介" align="center" prop="productIntro" sortable='custom' />
<el-table-column label="产品详情" align="center" prop="productDetail" sortable='custom' />
<el-table-column label="上架时间起" align="center" prop="listBegin" width="180" sortable='custom'>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.listBegin, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="上架时间止" align="center" prop="listEnd" width="180" sortable='custom'>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.listEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="状态0草稿1上架" align="center" prop="status" sortable='custom' />
<el-table-column label="备注" align="center" prop="remark" sortable='custom' />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['product:info:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['product:info:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
hide-on-single-page
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改产品信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-form-item label="产品名称" prop="productName">
<el-input v-model="form.productName" placeholder="请输入产品名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品简称" prop="simpleName">
<el-input v-model="form.simpleName" placeholder="请输入产品简称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最高额度" prop="maxAmount">
<el-input v-model="form.maxAmount" placeholder="请输入最高额度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年利率" prop="interestRate">
<el-input v-model="form.interestRate" placeholder="请输入年利率" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品简介" prop="productIntro">
<el-input v-model="form.productIntro" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品详情" prop="productDetail">
<el-input v-model="form.productDetail" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上架时间起" prop="listBegin">
<el-date-picker clearable
v-model="form.listBegin"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择上架时间起">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上架时间止" prop="listEnd">
<el-date-picker clearable
v-model="form.listEnd"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择上架时间止">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { pageListInfo, getInfo, delInfo, addInfo, updateInfo } from "@/api/product/info";
export default {
name: "Info",
data() {
return {
//
loading: true,
//
ids: [],
//
names: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
infoList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
productName: null,
simpleName: null,
productType: null,
productSubtype: null,
maxAmount: null,
interestRate: null,
productIntro: null,
productDetail: null,
listBegin: null,
listEnd: null,
status: null,
},
//
form: {},
//
rules: {
productName: [
{ required: true, message: "产品名称不能为空", trigger: "blur" }
],
simpleName: [
{ required: true, message: "产品简称不能为空", trigger: "blur" }
],
productType: [
{ required: true, message: "产品类型不能为空", trigger: "change" }
],
productSubtype: [
{ required: true, message: "产品细类不能为空", trigger: "change" }
],
maxAmount: [
{ required: true, message: "最高额度不能为空", trigger: "blur" }
],
interestRate: [
{ required: true, message: "年利率不能为空", trigger: "blur" }
],
productIntro: [
{ required: true, message: "产品简介不能为空", trigger: "blur" }
],
productDetail: [
{ required: true, message: "产品详情不能为空", trigger: "blur" }
],
listBegin: [
{ required: true, message: "上架时间起不能为空", trigger: "blur" }
],
listEnd: [
{ required: true, message: "上架时间止不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "状态0草稿1上架不能为空", trigger: "change" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询产品信息列表 */
getList() {
this.loading = true;
pageListInfo(this.queryParams).then(response => {
this.infoList = response.rows;
this.total = response.total;
this.loading = false;
}).catch(e => {
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
productName: null,
simpleName: null,
productType: null,
productSubtype: null,
maxAmount: null,
interestRate: null,
productIntro: null,
productDetail: null,
listBegin: null,
listEnd: null,
status: null,
remark: null,
};
this.resetForm("form");
},
//
handleSortChange(col) {
this.$sortBy(col, this.queryParams);
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.names = selection.map(item => item.id);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加产品信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getInfo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改产品信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const names = row.id || this.names;
this.$modal.confirm('是否确认删除产品信息为"' + names + '"的数据项?').then(function() {
return delInfo(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('product/info/export', {
...this.queryParams
}, `info_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,280 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="客户id" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入客户id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="经纪id" prop="brokerId">
<el-input
v-model="queryParams.brokerId"
placeholder="请输入经纪id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['user:broker:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['user:broker:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['user:broker:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['user:broker:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="brokerList" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="id" sortable='custom' />
<el-table-column label="客户id" align="center" prop="userId" sortable='custom' />
<el-table-column label="经纪id" align="center" prop="brokerId" sortable='custom' />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['user:broker:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['user:broker:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
hide-on-single-page
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改客户经纪对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-form-item label="客户id" prop="userId">
<el-input v-model="form.userId" placeholder="请输入客户id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经纪id" prop="brokerId">
<el-input v-model="form.brokerId" placeholder="请输入经纪id" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { pageListBroker, getBroker, delBroker, addBroker, updateBroker } from "@/api/user/broker";
export default {
name: "Broker",
data() {
return {
//
loading: true,
//
ids: [],
//
names: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
brokerList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
userId: null,
brokerId: null,
},
//
form: {},
//
rules: {
userId: [
{ required: true, message: "客户id不能为空", trigger: "blur" }
],
brokerId: [
{ required: true, message: "经纪id不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询客户经纪列表 */
getList() {
this.loading = true;
pageListBroker(this.queryParams).then(response => {
this.brokerList = response.rows;
this.total = response.total;
this.loading = false;
}).catch(e => {
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
userId: null,
brokerId: null,
};
this.resetForm("form");
},
//
handleSortChange(col) {
this.$sortBy(col, this.queryParams);
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.names = selection.map(item => item.id);
this.single = selection.length!==1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加客户经纪";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getBroker(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改客户经纪";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateBroker(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBroker(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
const names = row.id || this.names;
this.$modal.confirm('是否确认删除客户经纪为"' + names + '"的数据项?').then(function() {
return delBroker(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('user/broker/export', {
...this.queryParams
}, `broker_${new Date().getTime()}.xlsx`)
}
}
};
</script>
Loading…
Cancel
Save