修改后端接口

master
username 9 months ago
parent 0dde8aa072
commit 68d23664b4

@ -238,6 +238,8 @@ public class DfBrokerController extends BaseController {
}
LambdaQueryWrapper<SysUser> queryWrapperByUser = new LambdaQueryWrapper();
queryWrapperByUser.in(SysUser::getDeptId,ids);
queryWrapperByUser.eq(SysUser::getDelFlag,0);
queryWrapperByUser.eq(SysUser::getUserType,"jj");
if(sysUserService.list(queryWrapperByUser).size()>0){
return AjaxResult.warn("请先删除用户");
}

@ -91,21 +91,21 @@ public class DfOrderController extends BaseController {
}
List<DfOrder> list = dfOrderService.list(queryWrapper);
List<DfOrder> 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.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());
}
// 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<DfOrder> result = dfOrders.stream()
.skip(start)
@ -137,15 +137,15 @@ public class DfOrderController extends BaseController {
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 != userName) {
// order.setUserName(userName);
// }
if (null != userJJName) {
order.setBrokerName(userJJName);
}
if (null != phone) {
order.setPhone(phone);
}
// if (null != phone) {
// order.setPhone(phone);
// }
});
return list;
}
@ -223,26 +223,26 @@ public class DfOrderController extends BaseController {
DfBizClue::getOrderId, // Key mapper
DfBizClue::getNickName, // Value mapper
(existingValue, newValue) -> existingValue)); // Merge function (keep existing value)
Map<String, String> 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<String, String> 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<Long, String> userIdToNameMapVo = userList.stream()
.collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName));
String userName = userIdToNameMap.get(byId.getId().toString());
// 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);
}
// 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);
}
//if (null != phone) {
// byId.setPhone(phone);
//}
return success(byId);
}
@ -262,15 +262,15 @@ public class DfOrderController extends BaseController {
@PostMapping("/visitorAdd")
@Anonymous
public AjaxResult visitorAdd(@RequestBody DfOrder dfOrder) {
SysUser sysUser = sysUserMapper.selectById(dfOrder.getShareUser());
if (sysUser == null) {
return AjaxResult.warn("链接有误");
}
List<Long> productIdsByBrokerId = dfBrokerService.getProductIdsByBrokerIdByUserId(Long.valueOf(dfOrder.getShareUser()));
Long productId = Long.valueOf(dfOrder.getProductId());
if (!productIdsByBrokerId.contains(productId)) {
return AjaxResult.warn("链接有误");
}
// SysUser sysUser = sysUserMapper.selectById(dfOrder.getShareUser());
// if (sysUser == null) {
// return AjaxResult.warn("链接有误");
// }
// List<Long> 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");
@ -368,6 +368,14 @@ public class DfOrderController extends BaseController {
queryWrapper.like(DfOrder::getProductName, dfOrder.getProductName());
}
if (Validator.isNotEmpty(dfOrder.getPhone())) {
queryWrapper.like(DfOrder::getPhone, dfOrder.getPhone());
}
if (Validator.isNotEmpty(dfOrder.getUserName())) {
queryWrapper.like(DfOrder::getUserName, dfOrder.getUserName());
}
//提交时间
if (Validator.isNotEmpty(dfOrder.getSubmitTime())) {
queryWrapper.eq(DfOrder::getSubmitTime, dfOrder.getSubmitTime());

@ -66,9 +66,13 @@ public class DfProductArticleController extends BaseController {
LambdaQueryWrapper<DfProductArticle> queryWrapper = new LambdaQueryWrapper();
boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
if (!admin) {
SysUser byId = userService.getById(SecurityUtils.getUserId());
if ("jj".equals(byId.getUserType()) || "kh".equals(byId.getUserType())) {
queryWrapper.eq(DfProductArticle::getStatus,"1");
if ("-99".equals(dfProductArticle.getStatus())) {
} else {
SysUser byId = userService.getById(SecurityUtils.getUserId());
if ("jj".equals(byId.getUserType()) || "kh".equals(byId.getUserType())) {
queryWrapper.eq(DfProductArticle::getStatus, "1");
}
}
}
condition(queryWrapper,dfProductArticle);

@ -6,14 +6,17 @@ import javax.servlet.http.HttpServletResponse;
import com.bs.common.annotation.Anonymous;
import com.bs.common.core.domain.entity.SysUser;
import com.bs.common.core.domain.model.LoginUser;
import com.bs.common.utils.SecurityUtils;
import com.bs.df.domain.*;
import com.bs.df.service.*;
import com.bs.df.utils.HtmlUtils;
import com.bs.system.domain.DfArea;
import com.bs.system.mapper.SysUserMapper;
import com.bs.system.service.IDfAreaService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.aspectj.weaver.patterns.IToken;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -34,6 +37,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.core.lang.Validator;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import static com.bs.common.utils.ServletUtils.getSession;
/**
* Controller
@ -57,6 +63,8 @@ public class DfProductInfoController extends BaseController {
private IDfBrokerService dfBrokerService;
@Resource
private IDfOrderService dfOrderService;
@Autowired
private SysUserMapper sysUserMapper;
@ -270,11 +278,51 @@ public class DfProductInfoController extends BaseController {
@GetMapping(value = "/{id}")
@Anonymous
public AjaxResult getInfo(@PathVariable("id") Long id) {
Boolean isUser = true;
try {
LoginUser loginUser = getLoginUser();
} catch (Exception e) {
isUser = false;
// 捕获所有异常
e.printStackTrace(); // 或者记录日志等处理方式
}
DfProductInfo byId = dfProductInfoService.getById(id);
byId.setInterestRate(byId.getInterestRateBegin() + "%-" + byId.getInterestRateEnd() + "%");
List<DfBrokerProduct> list = dfBrokerProductService.list(new LambdaQueryWrapper<DfBrokerProduct>().eq(DfBrokerProduct::getProductId, id));
List<DfOrder> dfOrders = dfOrderService.list();
Map<Long, Integer> productOrderCounts = new HashMap<>();
// 计算申请人数
for (DfOrder order : dfOrders) {
if (!productOrderCounts.containsKey(order.getProductId())) {
productOrderCounts.put(order.getProductId(), 1);
} else {
productOrderCounts.put(order.getProductId(), productOrderCounts.get(order.getProductId()) + 1);
}
}
Long productId = byId.getId();
if (productOrderCounts.containsKey(productId)) {
byId.setApplicantNum(Long.valueOf(productOrderCounts.get(productId)));
} else {
byId.setApplicantNum(0L);
}
if (list.size() > 0 && list != null) {
byId.setBrokerId(list.get(0).getBrokerId());
}
if (isUser == false) {
byId.setProductDetail(null);
} else {
if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
List<Long> productIdsByBrokerId = dfBrokerService.getProductIdsByBrokerId();
if (!productIdsByBrokerId.contains(id)) {
byId.setProductDetail(null);
}
SysUser sysUser = sysUserMapper.selectById(getUserId());
String reviewStatus = sysUser.getReviewStatus();
if ("1".equals(reviewStatus)) {
byId.setProductDetail(null);
}
}
}
String businessCity = byId.getBusinessCity();
if (Validator.isEmpty(businessCity)) {
return success(byId);
@ -285,9 +333,29 @@ public class DfProductInfoController extends BaseController {
.map(DfArea::getName)
.collect(Collectors.joining(","));
byId.setBusinessCityByName(concatenatedNames);
return success(byId);
}
/**
*
*/
@ApiOperation("根据经纪人获取产品信息详细信息")
@GetMapping(value = "/getInfoByUserId/{id}")
@Anonymous
public AjaxResult getInfoByUserId(@PathVariable("id") Long id) {
List<Long> productIdsByBrokerIdByUserId = dfBrokerService.getProductIdsByBrokerIdByUserId(id);
if (productIdsByBrokerIdByUserId.size() == 0) {
return success(null);
}
List<DfProductInfo> list = dfProductInfoService.list(new LambdaQueryWrapper<DfProductInfo>().in(DfProductInfo::getId, productIdsByBrokerIdByUserId));
for (DfProductInfo productInfo : list) {
productInfo.setProductDetail(null);
}
return success(list);
}
/**
*
*/

@ -65,9 +65,13 @@ public class DfProductMomentController extends BaseController {
condition(queryWrapper,dfProductMoment);
boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
if (!admin) {
SysUser byId = userService.getById(SecurityUtils.getUserId());
if ("jj".equals(byId.getUserType()) || "kh".equals(byId.getUserType())) {
queryWrapper.eq(DfProductMoment::getStatus,"1");
if ("-99".equals(dfProductMoment.getStatus())) {
} else {
SysUser byId = userService.getById(SecurityUtils.getUserId());
if ("jj".equals(byId.getUserType()) || "kh".equals(byId.getUserType())) {
queryWrapper.eq(DfProductMoment::getStatus, "1");
}
}
}
List<DfProductMoment> list = dfProductMomentService.list(queryWrapper);

@ -75,14 +75,18 @@ public class DfProductPosterController extends BaseController {
.disableSubLogicDel()
.leftJoin(DfProductInfo.class,DfProductInfo::getId,DfProductPoster::getProductId);
if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
List<Long> productIdsByBrokerId = dfBrokerService.getProductIdsByBrokerId();
if (productIdsByBrokerId.size() == 0) {
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");
if ("-99".equals(dfProductPoster.getStatus())) {
} else {
List<Long> productIdsByBrokerId = dfBrokerService.getProductIdsByBrokerId();
if (productIdsByBrokerId.size() == 0) {
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);

@ -49,12 +49,8 @@ public class DfOrder extends BaseEntity{
/** 客户id */
@Excel(name = "客户")
@TableField(exist = false)
private String userName;
@Excel(name = "联系方式")
@TableField(exist = false)
private String phone;
/** 经纪id */
@ -133,6 +129,12 @@ public class DfOrder extends BaseEntity{
@ApiModelProperty(value = "状态")
private String staus;
/** 联系方式 */
@Excel(name = "联系方式")
@ApiModelProperty(value = "联系方式")
private String phone;
/** 备注 */
@Excel(name = "备注")

@ -62,6 +62,12 @@ public class DfProductInfo extends BaseEntity{
@ApiModelProperty(value = "产品细类")
private String productSubtype;
/** 贷款期限 */
@Excel(name = "贷款期限")
@ApiModelProperty(value = "贷款期限")
private String loanTerm;
/** 最高额度(元) */
@Excel(name = "最高额度(元)")
@ -138,6 +144,12 @@ public class DfProductInfo extends BaseEntity{
@ApiModelProperty(value = "状态0草稿1上架")
private String status;
/** 申请链接 */
@Excel(name = "申请链接")
@ApiModelProperty(value = "申请链接")
private String applicationLink;
/** 备注 */
@Excel(name = "备注")

@ -359,14 +359,14 @@ public class SysLoginController
{
if ("0".equals(loginBody.getClueType()) || "3".equals(loginBody.getClueType())) {
SysUser sysUser = sysUserMapper.selectById(loginBody.getShareUser());
if (sysUser == null) {
return AjaxResult.warn("链接有误");
}
// if (sysUser == null) {
// return AjaxResult.warn("链接有误");
// }
List<Long> productIdsByBrokerId = dfBrokerService.getProductIdsByBrokerIdByUserId(Long.valueOf(loginBody.getShareUser()));
Long businessLinks = Long.valueOf(loginBody.getBusinessLinks());
if (!productIdsByBrokerId.contains(businessLinks)) {
return AjaxResult.warn("链接有误");
}
// if (!productIdsByBrokerId.contains(businessLinks)) {
// return AjaxResult.warn("链接有误");
// }
}
String nickname = null;
String headimgurl = null;

@ -7,10 +7,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="insertOrder" parameterType="com.bs.df.domain.DfOrder">
INSERT INTO df_order (order_no, user_id, broker_id, product_id, product_name, submit_time, apply_amount,
limit_amount, loan_amount, loan_rate, load_month, is_first,
settle_amount, staus, remark, create_dept, create_by, create_time, tenant_id,share_user,from_type,open_id,union_id)
settle_amount, staus, remark, create_dept, create_by, create_time, tenant_id,share_user,from_type,open_id,union_id,phone,user_name)
VALUES (#{dfOrder.orderNo}, #{dfOrder.userId}, #{dfOrder.brokerId}, #{dfOrder.productId}, #{dfOrder.productName}, #{dfOrder.submitTime}, #{dfOrder.applyAmount}, #{dfOrder.limitAmount}, #{dfOrder.loanAmount}, #{dfOrder.loanRate}, #{dfOrder.loadMonth}, #{dfOrder.isFirst},
#{dfOrder.settleAmount}, #{dfOrder.staus}, #{dfOrder.remark}, #{dfOrder.createDept}, #{dfOrder.createBy},
#{dfOrder.createTimeVo}, #{dfOrder.tenantId},#{dfOrder.shareUser},#{dfOrder.fromType},#{dfOrder.openId},#{dfOrder.unionId})
#{dfOrder.createTimeVo}, #{dfOrder.tenantId},#{dfOrder.shareUser},#{dfOrder.fromType},#{dfOrder.openId},#{dfOrder.unionId},#{dfOrder.phone},#{dfOrder.userName})
</insert>
</mapper>

@ -54,6 +54,10 @@ public class SysUser extends BaseEntity
@ApiModelProperty(value = "用户类型")
private String userType;
@Excel(name = "审核状态")
@ApiModelProperty(value = "审核状态")
private String reviewStatus;
/** 身份证号 */
@Excel(name = "身份证号")

@ -298,6 +298,25 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="地址" prop="address">
<el-input v-model="form.address" placeholder="请输入地址" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核状态">
<el-radio-group v-model="form.reviewStatus" :disabled="readonly">
<el-radio
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
>{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="简介" prop="userDesc">

@ -156,7 +156,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="上级代理商" prop="parentId">
<treeselect v-model="form.parentId" :options="brokerList" props="lable" :show-count="true" :defaultExpandLevel="Infinity" :disabled="readonly"
<treeselect v-model="form.parentId" :options="brokerOptions" props="lable" :show-count="true" :defaultExpandLevel="Infinity" :disabled="readonly"
placeholder="选择上级代理商" :normalizer="tenantIdnormalizer" />
<!-- <el-select v-model="form.parentId" placeholder="选择上级代理商" style="width: 100%">-->
<!-- <el-option-->

@ -117,7 +117,7 @@
</template>
</el-table-column>
<!-- <el-table-column label="产品细类" align="center" prop="productSubtype" sortable='custom' width="100"/> -->
<el-table-column label="最高额度()" prop="maxAmount" sortable='custom' width="120"/>
<el-table-column label="最高额度()" prop="maxAmount" sortable='custom' width="120"/>
<el-table-column label="年利率(单利)" prop="interestRate" sortable='custom' width="120"/>
<!-- <el-table-column label="产品简介" align="center" prop="productIntro" sortable='custom' show-overflow-tooltip
width="100"/> -->
@ -224,8 +224,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最高额度()" prop="maxAmount">
<el-input-number v-model="form.maxAmount" placeholder="请输入最高额度()" style="width: 100%;" :min="0"
<el-form-item label="最高额度()" prop="maxAmount">
<el-input-number v-model="form.maxAmount" placeholder="请输入最高额度()" style="width: 100%;" :min="0"
disabled/>
</el-form-item>
</el-col>
@ -478,7 +478,7 @@ export default {
// {required: true, message: "", trigger: "change"}
// ],
maxAmount: [
{required: true, message: "最高额度()不能为空", trigger: "blur"}
{required: true, message: "最高额度()不能为空", trigger: "blur"}
],
interestRateBegin: [
{required: true, message: "年利率(单利)不能为空", trigger: "blur"}

@ -91,7 +91,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="最高额度()" prop="maxAmount">
<el-form-item label="最高额度()" prop="maxAmount">
<el-input-number
:min="0"
v-model="queryParams.maxAmountBegin"
@ -197,7 +197,7 @@
</template>
</el-table-column>
<!-- <el-table-column label="产品细类" align="center" prop="productSubtype" sortable='custom' min-width="100"/> -->
<el-table-column label="最高额度()" align="center" prop="maxAmount" sortable='custom' min-width="120"/>
<el-table-column label="最高额度()" align="center" prop="maxAmount" sortable='custom' min-width="120"/>
<el-table-column label="年利率(单利)" align="center" prop="interestRate" sortable='custom' min-width="120"/>
<!-- <el-table-column label="产品简介" align="center" prop="productIntro" sortable='custom' show-overflow-tooltip
min-width="100"/> -->
@ -298,8 +298,8 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="最高额度()" prop="maxAmount">
<el-input-number v-model="form.maxAmount" placeholder="请输入最高额度()" style="width: 100%;" :min="0" :disabled="readonly"/>
<el-form-item label="最高额度()" prop="maxAmount">
<el-input-number v-model="form.maxAmount" placeholder="请输入最高额度()" style="width: 100%;" :min="0" :disabled="readonly"/>
</el-form-item>
</el-col>
<el-col :span="8">
@ -352,6 +352,11 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="贷款期限" prop="loanTerm">
<el-input v-model="form.loanTerm" placeholder="请输入贷款期限" :disabled="readonly" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="状态" prop="status">
<el-select style="width: 100%;" v-model="form.status" placeholder="选择状态" clearable :disabled="readonly">
@ -363,15 +368,22 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="产品简介" prop="productIntro" >
<el-form-item label="申请链接" prop="applicationLink" >
<!-- <editor v-model="form.productIntro" :min-height="92" />-->
<el-input v-model="form.applicationLink" placeholder="请输入内容" :disabled="readonly"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="产品简介(展示给客户)" prop="productIntro" >
<editor v-model="form.productIntro" :min-height="92" />
<!-- <el-input v-model="form.productIntro" type="textarea" placeholder="请输入内容"/>-->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="产品详情" prop="productDetail" >
<el-form-item label="产品详情(展示给经纪人)" prop="productDetail" >
<editor v-model="form.productDetail" :min-height="152" />
<!-- <el-input v-model="form.productDetail" type="textarea" placeholder="请输入内容"/>-->
</el-form-item>
@ -511,7 +523,7 @@ export default {
// {required: true, message: "", trigger: "change"}
// ],
maxAmount: [
{required: true, message: "最高额度()不能为空", trigger: "blur"}
{required: true, message: "最高额度()不能为空", trigger: "blur"}
],
interestRateBegin: [
{required: true, message: "年利率(单利)不能为空", trigger: "blur"}
@ -711,6 +723,7 @@ export default {
remark: null,
maxAmountBegin: null,
maxAmountEnd: null,
applicationLink: null,
};
this.resetForm("form");
}

Loading…
Cancel
Save