diff --git a/bs-admin/src/main/java/com/bs/df/controller/DfBizClueController.java b/bs-admin/src/main/java/com/bs/df/controller/DfBizClueController.java index c174155..17a1f7f 100644 --- a/bs-admin/src/main/java/com/bs/df/controller/DfBizClueController.java +++ b/bs-admin/src/main/java/com/bs/df/controller/DfBizClueController.java @@ -82,10 +82,10 @@ public class DfBizClueController extends BaseController { @GetMapping("/getVisitsNum") public TableDataInfo getVisitsNum(DfBizClue dfBizClue) { // startPage(); + //condition(queryWrapper,dfBizClue); Integer pageNum = ServletUtils.getParameterToInt(Constants.PAGE_NUM); Integer pageSize = ServletUtils.getParameterToInt(Constants.PAGE_SIZE); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); -// condition(queryWrapper,dfBizClue); queryWrapper.eq(DfBizClue::getDataType,dfBizClue.getDataType()); queryWrapper.eq(DfBizClue::getShareUser,SecurityUtils.getUserId()); //传入hasOrder参数为1时,查询出存在orderId的数据 @@ -95,21 +95,21 @@ public class DfBizClueController extends BaseController { List list = dfBizClueService.list(queryWrapper); Map visitsNum = new HashMap<>(); for (DfBizClue clue : list) { - String key = clue.getUserId() + "_" + clue.getDataType(); + String key = clue.getUnionId() + "_" + clue.getDataType(); int count = visitsNum.getOrDefault(key, 0) + 1; visitsNum.put(key, count); clue.setVisitsNum(count); } Map latestClues = new HashMap<>(); for (DfBizClue clue : list) { - String key = clue.getUserId() + "_" + clue.getDataType(); + String key = clue.getUnionId() + "_" + clue.getDataType(); if (!latestClues.containsKey(key) || clue.getBrowseTime().after(latestClues.get(key).getBrowseTime())) { latestClues.put(key, clue); } } List newList = new ArrayList<>(latestClues.values()); for (DfBizClue clue : newList) { - String key = clue.getUserId() + "_" + clue.getDataType(); + String key = clue.getUnionId() + "_" + clue.getDataType(); int visits = visitsNum.getOrDefault(key, 0); clue.setVisitsNum(visits); } @@ -218,6 +218,7 @@ public class DfBizClueController extends BaseController { public AjaxResult addVisitor(DfBizClue dfBizClue) { Date date = new Date(); dfBizClue.setCreateTimeVo(date); + dfBizClue.setTenantId(0L); // dfBizClue.setTenantId(SecurityUtils.getTenantId()); return toAjax(dfBizClueMapper.insertClue(dfBizClue)); } diff --git a/bs-admin/src/main/java/com/bs/df/controller/DfOrderController.java b/bs-admin/src/main/java/com/bs/df/controller/DfOrderController.java index e39fa14..3f0e638 100644 --- a/bs-admin/src/main/java/com/bs/df/controller/DfOrderController.java +++ b/bs-admin/src/main/java/com/bs/df/controller/DfOrderController.java @@ -7,17 +7,21 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; import com.bs.common.annotation.Anonymous; +import com.bs.common.constant.Constants; import com.bs.common.core.domain.entity.SysUser; import com.bs.common.utils.SecurityUtils; +import com.bs.common.utils.ServletUtils; import com.bs.df.domain.DfBizClue; import com.bs.df.domain.DfBroker; import com.bs.df.mapper.DfBizClueMapper; import com.bs.df.mapper.DfOrderMapper; import com.bs.df.service.IDfBizClueService; import com.bs.df.service.IDfBrokerService; +import com.bs.system.mapper.SysUserMapper; import com.bs.system.service.ISysUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; @@ -39,6 +43,7 @@ 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; /** @@ -63,48 +68,86 @@ public class DfOrderController extends BaseController { private IDfBizClueService dfBizClueService; @Resource private DfBizClueMapper dfBizClueMapper; - + @Autowired + private SysUserMapper sysUserMapper; /** * 分页查询客户订单列表 */ @ApiOperation("分页查询客户订单列表") @GetMapping("/pageList") public TableDataInfo pageList(DfOrder dfOrder) { - startPage(); +// startPage(); + Integer pageNum = ServletUtils.getParameterToInt(Constants.PAGE_NUM); + Integer pageSize = ServletUtils.getParameterToInt(Constants.PAGE_SIZE); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); queryWrapper.orderByDesc(DfOrder::getSubmitTime); + condition(queryWrapper, dfOrder); boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId()); if (!admin) { SysUser byId = userService.getById(SecurityUtils.getUserId()); if ("jj".equals(byId.getUserType())) { - queryWrapper.eq(DfOrder::getUserId,SecurityUtils.getUserId()); + queryWrapper.eq(DfOrder::getBrokerId, SecurityUtils.getUserId()); } } List list = dfOrderService.list(queryWrapper); + List dfOrders = setOrderList(list); + if (StringUtils.isNotEmpty(dfOrder.getUserName())) { + dfOrders = dfOrders.stream() + .filter(info -> info.getUserName() != null && info.getUserName().contains(dfOrder.getUserName())) + .collect(Collectors.toList()); + } + if (StringUtils.isNotEmpty(dfOrder.getBrokerName())) { + dfOrders = dfOrders.stream() + .filter(info -> info.getBrokerName() != null && info.getBrokerName().contains(dfOrder.getBrokerName())) + .collect(Collectors.toList()); + } + if (StringUtils.isNotEmpty(dfOrder.getPhone())) { + dfOrders = dfOrders.stream() + .filter(info -> info.getPhone() != null && info.getPhone().contains(dfOrder.getPhone())) + .collect(Collectors.toList()); + } + Integer start = (pageNum - 1) * pageSize; + List result = dfOrders.stream() + .skip(start) + .limit(pageSize) + .collect(Collectors.toList()); + TableDataInfo data = getDataTable(result); + data.setTotal(dfOrders.size()); + return data; + } + + private List setOrderList(List list) { List userList = userService.list(); - List brokerList = dfBrokerService.list(); - // 将用户列表转换为 Map,以 userId 为键,userName 为值 - Map userIdToNameMap = userList.stream() + List clueList = dfBizClueService.list(new LambdaQueryWrapper().orderByDesc(DfBizClue::getCreateTime)); + Map userIdToNameMap = clueList.stream() + .filter(clue -> clue.getOrderId() != null && clue.getNickName() != null) + .collect(Collectors.toMap( + DfBizClue::getOrderId, + DfBizClue::getNickName, + (existingValue, newValue) -> existingValue)); + Map orderIdToPhoneMap = clueList.stream() + .filter(clue -> clue.getOrderId() != null && clue.getPhone() != null) + .collect(Collectors.toMap( + DfBizClue::getOrderId, + DfBizClue::getPhone, + (existingValue, newValue) -> existingValue)); + Map userIdToNameMapVo = userList.stream() .collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName)); - Map userIdToPhoneMap = userList.stream() - .collect(Collectors.toMap(SysUser::getUserId, SysUser::getPhonenumber)); - Map brokerToNameMap = brokerList.stream() - .collect(Collectors.toMap(DfBroker::getId, DfBroker::getBrokerName)); list.forEach(order -> { - String userName = userIdToNameMap.get(order.getUserId()); - String brokerName = brokerToNameMap.get(order.getBrokerId()); - String phone = userIdToPhoneMap.get(order.getUserId()); + String userName = userIdToNameMap.get(order.getId().toString()); + String userJJName = userIdToNameMapVo.get(order.getBrokerId()); + String phone = orderIdToPhoneMap.get(order.getId().toString()); if (null != userName) { order.setUserName(userName); } - if (null != brokerName) { - order.setBrokerName(brokerName); + if (null != userJJName) { + order.setBrokerName(userJJName); } if (null != phone) { order.setPhone(phone); } }); - return getDataTable(list); + return list; } /** @@ -114,7 +157,7 @@ public class DfOrderController extends BaseController { @GetMapping("/list") public AjaxResult list(DfOrder dfOrder) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - condition(queryWrapper,dfOrder); + condition(queryWrapper, dfOrder); List list = dfOrderService.list(queryWrapper); return success(list); } @@ -127,41 +170,41 @@ public class DfOrderController extends BaseController { @PostMapping("/export") public void export(HttpServletResponse response, DfOrder dfOrder) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - condition(queryWrapper,dfOrder); - List list = dfOrderService.list(queryWrapper); - List userList = userService.list(); - List brokerList = dfBrokerService.list(); - // 将用户列表转换为 Map,以 userId 为键,userName 为值 - Map userIdToNameMap = userList.stream() - .collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName)); - Map brokerToNameMap = brokerList.stream() - .collect(Collectors.toMap(DfBroker::getId, DfBroker::getBrokerName)); - list.forEach(order -> { - String userName = userIdToNameMap.get(order.getUserId()); - String brokerName = brokerToNameMap.get(order.getBrokerId()); - if (userName != null) { - order.setUserName(userName); - } - if (brokerName != null) { - order.setBrokerName(brokerName); - } - if (Validator.isNotNull(order.getStaus())) { - if ("0".equals(order.getStaus())) { - order.setStaus("未完成"); - } else if ("1".equals(order.getStaus())) { - order.setStaus("已完成"); - } + queryWrapper.orderByDesc(DfOrder::getSubmitTime); + condition(queryWrapper, dfOrder); + boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId()); + if (!admin) { + SysUser byId = userService.getById(SecurityUtils.getUserId()); + if ("jj".equals(byId.getUserType())) { + queryWrapper.eq(DfOrder::getBrokerId, SecurityUtils.getUserId()); } - if (Validator.isNotNull(order.getIsFirst())) { - if ("0".equals(order.getIsFirst())) { - order.setIsFirst("否"); - } else if ("1".equals(order.getIsFirst())) { - order.setIsFirst("是"); - } + } + List list = dfOrderService.list(queryWrapper); + List dfOrders = setOrderList(list); + dfOrders.forEach(order -> { + String isFirst = order.getIsFirst(); + if (StringUtils.isNotEmpty(isFirst)) { + String isFirstDisplay = isFirst.equals("1") ? "是" : "否"; + order.setIsFirst(isFirstDisplay); } }); - ExcelUtil util = new ExcelUtil(DfOrder. class); - util.exportExcel(response, list, "客户订单数据"); + if (StringUtils.isNotEmpty(dfOrder.getUserName())) { + dfOrders = dfOrders.stream() + .filter(info -> info.getUserName() != null && info.getUserName().contains(dfOrder.getUserName())) + .collect(Collectors.toList()); + } + if (StringUtils.isNotEmpty(dfOrder.getBrokerName())) { + dfOrders = dfOrders.stream() + .filter(info -> info.getBrokerName() != null && info.getBrokerName().contains(dfOrder.getBrokerName())) + .collect(Collectors.toList()); + } + if (StringUtils.isNotEmpty(dfOrder.getPhone())) { + dfOrders = dfOrders.stream() + .filter(info -> info.getPhone() != null && info.getPhone().contains(dfOrder.getPhone())) + .collect(Collectors.toList()); + } + ExcelUtil util = new ExcelUtil(DfOrder.class); + util.exportExcel(response, dfOrders, "客户订单数据"); } /** @@ -170,7 +213,37 @@ public class DfOrderController extends BaseController { @ApiOperation("获取客户订单详细信息") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { - return success(dfOrderService.getById(id)); + DfOrder byId = dfOrderService.getById(id); + List userList = userService.list(); + List clueList = dfBizClueService.list(new LambdaQueryWrapper().orderByDesc(DfBizClue::getCreateTime)); + // 将用户列表转换为 Map,以 userId 为键,userName 为值 + Map userIdToNameMap = clueList.stream() + .filter(clue -> clue.getOrderId() != null && clue.getNickName() != null) + .collect(Collectors.toMap( + DfBizClue::getOrderId, // Key mapper + DfBizClue::getNickName, // Value mapper + (existingValue, newValue) -> existingValue)); // Merge function (keep existing value) + Map orderIdToPhoneMap = clueList.stream() + .filter(clue -> clue.getOrderId() != null && clue.getPhone() != null) + .collect(Collectors.toMap( + DfBizClue::getOrderId, // Key mapper + DfBizClue::getPhone, // Value mapper + (existingValue, newValue) -> existingValue)); // Merge function (keep existing value) + Map userIdToNameMapVo = userList.stream() + .collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName)); + String userName = userIdToNameMap.get(byId.getId().toString()); + String userJJName = userIdToNameMapVo.get(byId.getBrokerId()); + String phone = orderIdToPhoneMap.get(byId.getId().toString()); + if (null != userName) { + byId.setUserName(userName); + } + if (null != userJJName) { + byId.setBrokerName(userJJName); + } + if (null != phone) { + byId.setPhone(phone); + } + return success(byId); } /** @@ -184,31 +257,45 @@ public class DfOrderController extends BaseController { /** * 新增客户订单 - * */ @ApiOperation("新增客户订单") @PostMapping("/visitorAdd") @Anonymous - public AjaxResult visitorAdd(DfOrder dfOrder) { + public AjaxResult visitorAdd(@RequestBody DfOrder dfOrder) { + SysUser sysUser = sysUserMapper.selectById(dfOrder.getShareUser()); + if (sysUser == null) { + return AjaxResult.warn("链接有误"); + } + List productIdsByBrokerId = dfBrokerService.getProductIdsByBrokerIdByUserId(Long.valueOf(dfOrder.getShareUser())); + Long productId = Long.valueOf(dfOrder.getProductId()); + if (!productIdsByBrokerId.contains(productId)) { + return AjaxResult.warn("链接有误"); + } Date date = new Date(); dfOrder.setCreateTimeVo(date); + String billNumber = dfOrderService.getBillNumber("RK"); + dfOrder.setOrderNo(billNumber); + dfOrder.setTenantId(0L); dfOrderMapper.insertOrder(dfOrder); - List dfOrders = dfOrderService.list(new LambdaQueryWrapper().eq(DfOrder::getOrderNo, dfOrder.getOrderNo()) - .eq(DfOrder::getUserId, dfOrder.getUserId()) + List dfOrders = dfOrderService.list(new LambdaQueryWrapper().eq(DfOrder::getOrderNo, billNumber) .orderByDesc(DfOrder::getCreateTime)); if (Validator.isNotEmpty(dfOrder.getShareUser())) { List list = dfBizClueService.list(new LambdaQueryWrapper().eq(DfBizClue::getShareUser, dfOrder.getShareUser()) - .isNull(DfBizClue::getOrderId)); + .isNull(DfBizClue::getOrderId)); for (DfBizClue clue : list) { clue.setOrderId(dfOrders.get(0).getId().toString()); + clue.setPhone(dfOrder.getPhone()); + clue.setNickName(dfOrder.getUserName()); dfBizClueMapper.updateClue(clue); } } if (Validator.isNotEmpty(dfOrder.getUnionId())) { List list = dfBizClueService.list(new LambdaQueryWrapper().eq(DfBizClue::getUnionId, dfOrder.getUnionId()) - .isNull(DfBizClue::getOrderId)); + .isNull(DfBizClue::getOrderId)); for (DfBizClue clue : list) { clue.setOrderId(dfOrders.get(0).getId().toString()); + clue.setPhone(dfOrder.getPhone()); + clue.setNickName(dfOrder.getUserName()); dfBizClueMapper.updateClue(clue); } } @@ -244,135 +331,136 @@ public class DfOrderController extends BaseController { String billNumber = dfOrderService.getBillNumber(billPrefix); return AjaxResult.success("获取成功", billNumber); } + /** - * 条件设置 - */ - private void condition (LambdaQueryWrapper queryWrapper,DfOrder dfOrder){ + * 条件设置 + */ + private void condition(LambdaQueryWrapper queryWrapper, DfOrder dfOrder) { //id - if(Validator.isNotEmpty(dfOrder.getId())){ - queryWrapper.eq(DfOrder::getId,dfOrder.getId()); + if (Validator.isNotEmpty(dfOrder.getId())) { + queryWrapper.eq(DfOrder::getId, dfOrder.getId()); } //订单号 - if(Validator.isNotEmpty(dfOrder.getOrderNo())){ - queryWrapper.like(DfOrder::getOrderNo,dfOrder.getOrderNo()); + if (Validator.isNotEmpty(dfOrder.getOrderNo())) { + queryWrapper.like(DfOrder::getOrderNo, dfOrder.getOrderNo()); } //客户id - if(Validator.isNotEmpty(dfOrder.getUserId())){ - queryWrapper.eq(DfOrder::getUserId,dfOrder.getUserId()); + if (Validator.isNotEmpty(dfOrder.getUserId())) { + queryWrapper.eq(DfOrder::getUserId, dfOrder.getUserId()); } //经纪id - if(Validator.isNotEmpty(dfOrder.getBrokerId())){ - queryWrapper.eq(DfOrder::getBrokerId,dfOrder.getBrokerId()); + 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.getProductId())) { + queryWrapper.eq(DfOrder::getProductId, dfOrder.getProductId()); } //产品名称 - if(Validator.isNotEmpty(dfOrder.getProductName())){ - queryWrapper.like(DfOrder::getProductName,dfOrder.getProductName()); + if (Validator.isNotEmpty(dfOrder.getProductName())) { + queryWrapper.like(DfOrder::getProductName, dfOrder.getProductName()); } //提交时间 - if(Validator.isNotEmpty(dfOrder.getSubmitTime())){ - queryWrapper.eq(DfOrder::getSubmitTime,dfOrder.getSubmitTime()); + if (Validator.isNotEmpty(dfOrder.getSubmitTime())) { + queryWrapper.eq(DfOrder::getSubmitTime, dfOrder.getSubmitTime()); } - if(Validator.isNotEmpty(dfOrder.getSubmitTimeBegin())){ - queryWrapper.ge(DfOrder::getSubmitTime,dfOrder.getSubmitTimeBegin()); + if (Validator.isNotEmpty(dfOrder.getSubmitTimeBegin())) { + queryWrapper.ge(DfOrder::getSubmitTime, dfOrder.getSubmitTimeBegin()); } - if(Validator.isNotEmpty(dfOrder.getSubmitTimeEnd())){ - queryWrapper.le(DfOrder::getSubmitTime,dfOrder.getSubmitTimeEnd()); + if (Validator.isNotEmpty(dfOrder.getSubmitTimeEnd())) { + queryWrapper.le(DfOrder::getSubmitTime, dfOrder.getSubmitTimeEnd()); } //申请额(万元) - if(Validator.isNotEmpty(dfOrder.getApplyAmount())){ - queryWrapper.eq(DfOrder::getApplyAmount,dfOrder.getApplyAmount()); + 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.getLimitAmount())) { + queryWrapper.eq(DfOrder::getLimitAmount, dfOrder.getLimitAmount()); } //放款额(万元) - if(Validator.isNotEmpty(dfOrder.getLoanAmount())){ - queryWrapper.eq(DfOrder::getLoanAmount,dfOrder.getLoanAmount()); + 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.getLoanRate())) { + queryWrapper.eq(DfOrder::getLoanRate, dfOrder.getLoanRate()); } //贷款期限(月) - if(Validator.isNotEmpty(dfOrder.getLoadMonth())){ - queryWrapper.eq(DfOrder::getLoadMonth,dfOrder.getLoadMonth()); + 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.getIsFirst())) { + queryWrapper.eq(DfOrder::getIsFirst, dfOrder.getIsFirst()); } //可结算金额(万元) - if(Validator.isNotEmpty(dfOrder.getSettleAmount())){ - queryWrapper.eq(DfOrder::getSettleAmount,dfOrder.getSettleAmount()); + 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.getStaus())) { + queryWrapper.eq(DfOrder::getStaus, dfOrder.getStaus()); } //备注 - if(Validator.isNotEmpty(dfOrder.getRemark())){ - queryWrapper.eq(DfOrder::getRemark,dfOrder.getRemark()); + 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.getCreateDept())) { + queryWrapper.eq(DfOrder::getCreateDept, dfOrder.getCreateDept()); } //创建人员 - if(Validator.isNotEmpty(dfOrder.getCreateBy())){ - queryWrapper.eq(DfOrder::getCreateBy,dfOrder.getCreateBy()); + 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.getCreateTime())) { + queryWrapper.eq(DfOrder::getCreateTime, dfOrder.getCreateTime()); } //修改人员 - if(Validator.isNotEmpty(dfOrder.getUpdateBy())){ - queryWrapper.eq(DfOrder::getUpdateBy,dfOrder.getUpdateBy()); + if (Validator.isNotEmpty(dfOrder.getUpdateBy())) { + queryWrapper.eq(DfOrder::getUpdateBy, dfOrder.getUpdateBy()); } //修改时间 - if(Validator.isNotEmpty(dfOrder.getUpdateTime())){ - queryWrapper.eq(DfOrder::getUpdateTime,dfOrder.getUpdateTime()); + if (Validator.isNotEmpty(dfOrder.getUpdateTime())) { + queryWrapper.eq(DfOrder::getUpdateTime, dfOrder.getUpdateTime()); } //删除标志(0代表存在 2代表删除) - if(Validator.isNotEmpty(dfOrder.getDelFlag())){ - queryWrapper.eq(DfOrder::getDelFlag,dfOrder.getDelFlag()); + if (Validator.isNotEmpty(dfOrder.getDelFlag())) { + queryWrapper.eq(DfOrder::getDelFlag, dfOrder.getDelFlag()); } //租户id - if(Validator.isNotEmpty(dfOrder.getTenantId())){ - queryWrapper.eq(DfOrder::getTenantId,dfOrder.getTenantId()); + if (Validator.isNotEmpty(dfOrder.getTenantId())) { + queryWrapper.eq(DfOrder::getTenantId, dfOrder.getTenantId()); } - } + } } diff --git a/bs-admin/src/main/java/com/bs/df/controller/DfProductPosterController.java b/bs-admin/src/main/java/com/bs/df/controller/DfProductPosterController.java index a6211d4..e343dd4 100644 --- a/bs-admin/src/main/java/com/bs/df/controller/DfProductPosterController.java +++ b/bs-admin/src/main/java/com/bs/df/controller/DfProductPosterController.java @@ -9,10 +9,14 @@ import javax.servlet.http.HttpServletResponse; import com.bs.cm.domain.CmAttach; import com.bs.cm.service.ICmAttachService; +import com.bs.common.core.domain.entity.SysUser; import com.bs.common.utils.SecurityUtils; +import com.bs.df.domain.DfProductArticle; import com.bs.df.domain.DfProductInfo; import com.bs.df.service.IDfBrokerService; import com.bs.df.service.IDfProductInfoService; +import com.bs.system.mapper.SysUserMapper; +import com.bs.system.service.ISysUserService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -56,6 +60,8 @@ public class DfProductPosterController extends BaseController { private ICmAttachService cmAttachService; @Resource private IDfBrokerService dfBrokerService;; + @Resource + private ISysUserService userService; /** * 分页查询产品海报列表 */ @@ -74,6 +80,10 @@ public class DfProductPosterController extends BaseController { productIdsByBrokerId.add(0L); } queryWrapper.in(DfProductPoster::getProductId, productIdsByBrokerId); + SysUser byId = userService.getById(SecurityUtils.getUserId()); + if ("jj".equals(byId.getUserType()) || "kh".equals(byId.getUserType())) { + queryWrapper.eq(DfProductPoster::getStatus,"1"); + } } conditionByMPJ(queryWrapper,dfProductPoster); List list = dfProductPosterService.list(queryWrapper); diff --git a/bs-admin/src/main/java/com/bs/df/domain/DfBizClue.java b/bs-admin/src/main/java/com/bs/df/domain/DfBizClue.java index c4fc198..9916e7b 100644 --- a/bs-admin/src/main/java/com/bs/df/domain/DfBizClue.java +++ b/bs-admin/src/main/java/com/bs/df/domain/DfBizClue.java @@ -35,19 +35,18 @@ public class DfBizClue extends BaseEntity{ /** 数据类型0客户1经纪 */ - @Excel(name = "数据类型") - @ApiModelProperty(value = "数据类型0客户1经纪") + @Excel(name = "数据类型",dictType = "product_classify") + @ApiModelProperty(value = "数据类型") private String dataType; /** 线索类型 */ - @Excel(name = "线索类型") + @Excel(name = "线索类型",dictType = "clue_type") @ApiModelProperty(value = "线索类型") private String clueType; /** 用户id */ - @Excel(name = "用户id") @ApiModelProperty(value = "用户id") private Long userId; diff --git a/bs-admin/src/main/java/com/bs/df/domain/DfOrder.java b/bs-admin/src/main/java/com/bs/df/domain/DfOrder.java index 6af02bd..57ac2e4 100644 --- a/bs-admin/src/main/java/com/bs/df/domain/DfOrder.java +++ b/bs-admin/src/main/java/com/bs/df/domain/DfOrder.java @@ -52,13 +52,17 @@ public class DfOrder extends BaseEntity{ @TableField(exist = false) private String userName; + @Excel(name = "联系方式") + @TableField(exist = false) + private String phone; + /** 经纪id */ //@Excel(name = "经纪id") @ApiModelProperty(value = "经纪id") private Long brokerId; - @Excel(name = "代理商名称") + @Excel(name = "经纪人") @TableField(exist = false) private String brokerName; @@ -76,26 +80,26 @@ public class DfOrder extends BaseEntity{ /** 提交时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "提交时间") private Date submitTime; /** 申请额(万元) */ - @Excel(name = "申请额", readConverterExp = "万=元") + @Excel(name = "申请额") @ApiModelProperty(value = "申请额(万元)") private Long applyAmount; /** 授信额(万元) */ - @Excel(name = "授信额", readConverterExp = "万=元") + @Excel(name = "授信额") @ApiModelProperty(value = "授信额(万元)") private Long limitAmount; /** 放款额(万元) */ - @Excel(name = "放款额", readConverterExp = "万=元") + @Excel(name = "放款额") @ApiModelProperty(value = "放款额(万元)") private Long loanAmount; @@ -107,7 +111,7 @@ public class DfOrder extends BaseEntity{ /** 贷款期限(月) */ - @Excel(name = "贷款期限", readConverterExp = "月=") + @Excel(name = "贷款期限") @ApiModelProperty(value = "贷款期限(月)") private Long loadMonth; @@ -119,7 +123,7 @@ public class DfOrder extends BaseEntity{ /** 可结算金额(万元) */ - @Excel(name = "可结算金额", readConverterExp = "万=元") + @Excel(name = "可结算金额") @ApiModelProperty(value = "可结算金额(万元)") private Long settleAmount; @@ -156,10 +160,6 @@ public class DfOrder extends BaseEntity{ private Date createTimeVo; - @Excel(name = "联系方式") - @TableField(exist = false) - private String phone; - @JsonFormat(pattern = "yyyy-MM-dd") @TableField(exist = false) diff --git a/bs-admin/src/main/java/com/bs/df/service/IDfBrokerService.java b/bs-admin/src/main/java/com/bs/df/service/IDfBrokerService.java index b6765da..192f3b0 100644 --- a/bs-admin/src/main/java/com/bs/df/service/IDfBrokerService.java +++ b/bs-admin/src/main/java/com/bs/df/service/IDfBrokerService.java @@ -31,4 +31,11 @@ public interface IDfBrokerService extends MPJBaseService{ */ public List getProductIdsByBrokerId(); + /** + * 通过用户id获取相对应的产品id + * @return 产品id + */ + public List getProductIdsByBrokerIdByUserId(Long userId); + + } diff --git a/bs-admin/src/main/java/com/bs/df/service/impl/DfBrokerServiceImpl.java b/bs-admin/src/main/java/com/bs/df/service/impl/DfBrokerServiceImpl.java index 4e608e1..3f69801 100644 --- a/bs-admin/src/main/java/com/bs/df/service/impl/DfBrokerServiceImpl.java +++ b/bs-admin/src/main/java/com/bs/df/service/impl/DfBrokerServiceImpl.java @@ -34,7 +34,7 @@ public class DfBrokerServiceImpl extends MPJBaseServiceImpl filterByUser() { - SecurityUtils.getUserId(); + //SecurityUtils.getUserId(); SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId()); Long deptId = sysUser.getDeptId(); List allSubordinates = findAllSubordinates(deptId); @@ -45,6 +45,17 @@ public class DfBrokerServiceImpl extends MPJBaseServiceImpl filterByUserId(Long userId) { + SysUser sysUser = userService.selectUserById(userId); + Long deptId = sysUser.getDeptId(); + List allSubordinates = findAllSubordinates(deptId); + List brokerIds = allSubordinates.stream() + .map(DfBroker::getId) + .collect(Collectors.toList()); + brokerIds.add(deptId); + return brokerIds; + } + public List findAllSubordinates(Long brokerId) { List result = new ArrayList<>(); // 查询当前brokerId的所有下级 @@ -65,6 +76,14 @@ public class DfBrokerServiceImpl extends MPJBaseServiceImpl getProductIdsByBrokerIdByUserId(Long UserId) { + List longs = filterByUserId(UserId); + List list = dfBrokerProductService.list(new LambdaQueryWrapper() + .in(DfBrokerProduct::getBrokerId, longs) + .eq(DfBrokerProduct::getStaus, "1")); + return list.stream().map(DfBrokerProduct::getProductId).collect(Collectors.toList()); + } + } diff --git a/bs-admin/src/main/java/com/bs/web/controller/system/SysLoginController.java b/bs-admin/src/main/java/com/bs/web/controller/system/SysLoginController.java index 6392a01..149a359 100644 --- a/bs-admin/src/main/java/com/bs/web/controller/system/SysLoginController.java +++ b/bs-admin/src/main/java/com/bs/web/controller/system/SysLoginController.java @@ -14,8 +14,10 @@ import com.bs.common.enums.BusinessType; import com.bs.common.utils.SecurityUtils; import com.bs.common.utils.StringUtils; import com.bs.df.domain.DfBizClue; +import com.bs.df.domain.DfProductInfo; import com.bs.df.mapper.DfBizClueMapper; import com.bs.df.service.IDfBizClueService; +import com.bs.df.service.impl.DfBrokerServiceImpl; import com.bs.framework.web.service.SysLoginService; import com.bs.framework.web.service.SysPermissionService; import com.bs.framework.web.service.TokenService; @@ -73,6 +75,8 @@ public class SysLoginController private IDfBizClueService dfBizClueService; @Autowired private DfBizClueMapper dfBizClueMapper; + @Autowired + private DfBrokerServiceImpl dfBrokerService; /** * 登录方法 @@ -353,6 +357,17 @@ public class SysLoginController @Anonymous public AjaxResult addVisitor(@RequestBody LoginBody loginBody) { + if ("0".equals(loginBody.getClueType()) || "3".equals(loginBody.getClueType())) { + SysUser sysUser = sysUserMapper.selectById(loginBody.getShareUser()); + if (sysUser == null) { + return AjaxResult.warn("链接有误"); + } + List productIdsByBrokerId = dfBrokerService.getProductIdsByBrokerIdByUserId(Long.valueOf(loginBody.getShareUser())); + Long businessLinks = Long.valueOf(loginBody.getBusinessLinks()); + if (!productIdsByBrokerId.contains(businessLinks)) { + return AjaxResult.warn("链接有误"); + } + } String nickname = null; String headimgurl = null; String unionId = null; @@ -378,6 +393,7 @@ public class SysLoginController dfBizClue.setFromType(loginBody.getFromType()); dfBizClue.setClueType(loginBody.getClueType()); dfBizClue.setDataType(loginBody.getDataType()); + dfBizClue.setBusinessLinks(loginBody.getBusinessLinks()); dfBizClue.setNickName(nickname); dfBizClue.setAvatarLink(headimgurl); dfBizClue.setBrowseTime(new Date()); @@ -385,13 +401,7 @@ public class SysLoginController dfBizClue.setOpenId(openIdNew); dfBizClue.setCreateTimeVo(new Date()); dfBizClue.setTenantId(0L); -// dfBizClue.setTenantId(SecurityUtils.getTenantId()); -// if (StringUtils.isNotEmpty(nickname)) { dfBizClueMapper.insertClue(dfBizClue); -// } -// AjaxResult ajax = AjaxResult.success(); -// ajax.put("openid", openIdNew); -// ajax.put("unionid",unionId); return AjaxResult.success(dfBizClue); } diff --git a/bs-admin/src/main/java/com/bs/web/utils/SignUtil.java b/bs-admin/src/main/java/com/bs/web/utils/SignUtil.java index 9872be7..4a8ebe4 100644 --- a/bs-admin/src/main/java/com/bs/web/utils/SignUtil.java +++ b/bs-admin/src/main/java/com/bs/web/utils/SignUtil.java @@ -50,14 +50,12 @@ public class SignUtil { "&noncestr=" + nonce_str + "×tamp=" + timestamp + "&url=" + url; - System.out.println(string1); try { MessageDigest crypt = MessageDigest.getInstance("SHA-1"); crypt.reset(); crypt.update(string1.getBytes("UTF-8")); signature = byteToHex(crypt.digest()); - System.out.println("signature" + signature); } catch (NoSuchAlgorithmException e) { diff --git a/bs-admin/src/main/java/com/bs/web/utils/WeiXinUtil.java b/bs-admin/src/main/java/com/bs/web/utils/WeiXinUtil.java index 2049138..6afbc7a 100644 --- a/bs-admin/src/main/java/com/bs/web/utils/WeiXinUtil.java +++ b/bs-admin/src/main/java/com/bs/web/utils/WeiXinUtil.java @@ -543,9 +543,7 @@ public class WeiXinUtil { // 获取Access_token public synchronized String getAccess_token(String appid, String appsecret) { - System.out.println("appid:" + appid + ".appsecret:" + appsecret); String access_token = getSysConfig("access_token"); - System.out.println(access_token); if (StringUtils.isNotEmpty(access_token)){ JSONObject jo = JSONObject.parseObject(access_token); jo.getString("expirettime"); @@ -1034,7 +1032,6 @@ public class WeiXinUtil { public String getTitcket() throws Exception { String accessToken = getAccess_token(gzhappid, gzhappsecret); - System.out.println(accessToken); String url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + accessToken + "&type=jsapi"; String returnValue = httpGet(url,null); JSONObject jsonObject = JSONObject.parseObject(returnValue); diff --git a/bs-admin/src/main/resources/mapper/biz/DfBizClueMapper.xml b/bs-admin/src/main/resources/mapper/biz/DfBizClueMapper.xml index 286476e..d544121 100644 --- a/bs-admin/src/main/resources/mapper/biz/DfBizClueMapper.xml +++ b/bs-admin/src/main/resources/mapper/biz/DfBizClueMapper.xml @@ -15,7 +15,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" UPDATE df_biz_clue SET - order_id = #{dfBizClue.orderId} + order_id = #{dfBizClue.orderId}, + phone = #{dfBizClue.phone}, + nick_name = #{dfBizClue.nickName} WHERE id = #{dfBizClue.id} diff --git a/bs-common/src/main/java/com/bs/common/core/domain/model/LoginBody.java b/bs-common/src/main/java/com/bs/common/core/domain/model/LoginBody.java index 936cf1d..f1ef7ea 100644 --- a/bs-common/src/main/java/com/bs/common/core/domain/model/LoginBody.java +++ b/bs-common/src/main/java/com/bs/common/core/domain/model/LoginBody.java @@ -72,8 +72,17 @@ public class LoginBody private String shareUser; + private String businessLinks; + public String getBusinessLinks() + { + return businessLinks; + } + public void setBusinessLinks(String businessLinks) + { + this.businessLinks = businessLinks; + } public String getUsername() { diff --git a/bs-ui/src/views/article/article/index.vue b/bs-ui/src/views/article/article/index.vue index c271953..cc796ed 100644 --- a/bs-ui/src/views/article/article/index.vue +++ b/bs-ui/src/views/article/article/index.vue @@ -151,6 +151,13 @@ - + - - + + - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 头像预览 + + + + + + + + + @@ -214,10 +212,11 @@