1。创建二维码提交表单

This commit is contained in:
=.* 2024-06-15 16:45:33 +08:00
parent 86c9ea57f5
commit 3250d51d63
22 changed files with 444 additions and 54 deletions

View File

@ -55,6 +55,14 @@ public class SecurityUtils
return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class); return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class);
} }
/**
* 获取用户部门id
*/
public static Long getDeptId()
{
return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class).getSysUser().getDeptId();
}
/** /**
* 获取请求token * 获取请求token
*/ */

View File

@ -1,9 +1,12 @@
package com.chushang.controller; package com.chushang.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chushang.common.core.web.AjaxResult; import com.chushang.common.core.web.AjaxResult;
import com.chushang.common.mybatis.page.CommonParam;
import com.chushang.domin.dto.LoanApproval; import com.chushang.domin.dto.LoanApproval;
import com.chushang.domin.dto.LoanFormData;
import com.chushang.domin.entity.LoanEntity; import com.chushang.domin.entity.LoanEntity;
import com.chushang.domin.query.LoanFormQuery; import com.chushang.domin.query.LoanFormQuery;
import com.chushang.service.ILoanService; import com.chushang.service.ILoanService;
@ -25,19 +28,19 @@ public class LoanController {
private ILoanService iLoanService; private ILoanService iLoanService;
// /** /**
// * 提交表单数据 * 提交表单数据
// */ */
// @PostMapping("/submit") @PostMapping("/qcCode")
// public void submitFormData(@RequestBody @Validated LoanFormData formData) { public AjaxResult submitFormData(@RequestBody @Validated LoanFormQuery formData) throws Exception{
// iLoanService.submitFormData(formData); return AjaxResult.success(iLoanService.qcCode(formData));
// } }
/** /**
* 查询表单 * 查询表单
*/ */
@PostMapping("/find") @PostMapping("/find")
public Page<LoanEntity> queryLoan(@RequestBody LoanFormQuery query) { public IPage<LoanEntity> queryLoan(@RequestBody LoanEntity query) {
return iLoanService.queryLoan(query); return iLoanService.queryLoan(query);
} }
@ -46,8 +49,8 @@ public class LoanController {
* 查询表单 * 查询表单
*/ */
@PostMapping("/data") @PostMapping("/data")
public Page<LoanEntity> data(@RequestBody LoanFormQuery query) { public AjaxResult data(@RequestBody LoanFormQuery query) {
return iLoanService.queryData(query); return AjaxResult.success(iLoanService.queryData(query));
} }

View File

@ -2,6 +2,7 @@ package com.chushang.domin.query;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chushang.common.mybatis.page.CommonParam;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@ -18,7 +19,9 @@ import java.util.List;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class LoanFormQuery { public class LoanFormQuery extends CommonParam {
private Long userId;
/** 编号 */ /** 编号 */
private String formNumber; private String formNumber;
@ -36,8 +39,8 @@ public class LoanFormQuery {
/** 渠道名称 */ /** 渠道名称 */
private String channelName; private String channelName;
/** 渠道ID */ /** 部门id */
private Long channelId; private Long deptId;
/** 当前页 */ /** 当前页 */
protected Integer page; protected Integer page;

View File

@ -11,11 +11,6 @@ import java.time.LocalDateTime;
@NoArgsConstructor @NoArgsConstructor
public class LoanVO implements Serializable { public class LoanVO implements Serializable {
/**
* 主键
*/
private Long id;
/** /**
* 渠道名 * 渠道名
*/ */
@ -39,11 +34,11 @@ public class LoanVO implements Serializable {
/** /**
* 总房贷金额 * 总房贷金额
*/ */
private BigDecimal totalLoanAmount; private String totalLoanAmount;
/** /**
* 总交易金额 * 总交易金额
*/ */
private BigDecimal totalTransactionAmount; private String totalTransactionAmount;
} }

View File

@ -3,6 +3,7 @@ package com.chushang.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chushang.domin.entity.LoanEntity; import com.chushang.domin.entity.LoanEntity;
import com.chushang.domin.query.LoanFormQuery; import com.chushang.domin.query.LoanFormQuery;
import com.chushang.domin.vo.LoanData;
import com.chushang.domin.vo.LoanVO; import com.chushang.domin.vo.LoanVO;
import java.util.List; import java.util.List;
@ -10,6 +11,6 @@ import java.util.List;
public interface LoanMapper extends BaseMapper<LoanEntity> { public interface LoanMapper extends BaseMapper<LoanEntity> {
// List<LoanVO> queryDataList(LoanFormQuery loanFormQuery); List<LoanData> queryDataList(LoanFormQuery queryy);
} }

View File

@ -1,21 +1,28 @@
package com.chushang.service; package com.chushang.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chushang.common.mybatis.utils.PageResult;
import com.chushang.domin.dto.LoanApproval; import com.chushang.domin.dto.LoanApproval;
import com.chushang.domin.dto.LoanFormData; import com.chushang.domin.dto.LoanFormData;
import com.chushang.domin.entity.LoanEntity; import com.chushang.domin.entity.LoanEntity;
import com.chushang.domin.query.LoanFormQuery; import com.chushang.domin.query.LoanFormQuery;
import com.chushang.domin.vo.LoanVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
public interface ILoanService { public interface ILoanService {
void submitFormData(LoanFormData formData); void submitFormData(LoanFormData formData);
Page<LoanEntity> queryLoan(LoanFormQuery query); String qcCode(LoanFormQuery formData) throws Exception;
Page<LoanEntity> queryData(LoanFormQuery query); IPage<LoanEntity> queryLoan(LoanEntity query);
boolean approval(LoanApproval approval); PageResult queryData(LoanFormQuery query);
int approval(LoanApproval approval);
} }

View File

@ -1,27 +1,55 @@
package com.chushang.service.impl; package com.chushang.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.img.ImgUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chushang.common.core.web.Result;
import com.chushang.common.mybatis.page.CommonParam;
import com.chushang.common.mybatis.utils.PageResult;
import com.chushang.common.mybatis.utils.WrapperUtils;
import com.chushang.datascope.annotation.DataScope;
import com.chushang.domin.dto.LoanApproval; import com.chushang.domin.dto.LoanApproval;
import com.chushang.domin.dto.LoanFormData; import com.chushang.domin.dto.LoanFormData;
import com.chushang.domin.entity.LoanAduitEntity; import com.chushang.domin.entity.LoanAduitEntity;
import com.chushang.domin.entity.LoanEntity; import com.chushang.domin.entity.LoanEntity;
import com.chushang.domin.query.LoanFormQuery; import com.chushang.domin.query.LoanFormQuery;
import com.chushang.domin.vo.LoanData;
import com.chushang.domin.vo.LoanVO;
import com.chushang.mapper.LoanMapper; import com.chushang.mapper.LoanMapper;
import com.chushang.oss.feign.RemoteOssService;
import com.chushang.security.entity.po.SysDept; import com.chushang.security.entity.po.SysDept;
import com.chushang.security.entity.po.SysUser;
import com.chushang.security.entity.vo.LoginUser;
import com.chushang.security.utils.SecurityUtils; import com.chushang.security.utils.SecurityUtils;
import com.chushang.service.ILoanAduitService; import com.chushang.service.ILoanAduitService;
import com.chushang.service.ILoanService; import com.chushang.service.ILoanService;
import com.chushang.system.entity.dto.UserQcCodeDTO;
import com.chushang.system.entity.po.SysUserQcCode;
import com.chushang.system.feign.RemoteUserQcCodeService;
import com.chushang.system.feign.RemoteUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings; import org.apache.logging.log4j.util.Strings;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -33,38 +61,88 @@ public class LoanServiceImpl extends ServiceImpl<LoanMapper, LoanEntity> impleme
@Autowired @Autowired
ILoanAduitService iLoanAduitService; ILoanAduitService iLoanAduitService;
@Autowired
RemoteUserQcCodeService remoteUserQcCodeService;
@Autowired
private RemoteOssService remoteOssService;
@Autowired
RemoteUserService remoteUserService;
@Override @Override
public void submitFormData(LoanFormData formData) { public void submitFormData(LoanFormData formData) {
// 通过用户id查询用户id
} LoanEntity loan = new LoanEntity();
BeanUtil.copyProperties(formData,loan);
Result<SysUser> infoById = remoteUserService.getInfoById(formData.getUserId());
if(infoById.getCode() == 200 && !Objects.isNull(infoById.getData())){
SysUser data = infoById.getData();
@Override loan.setDeptId(data.getDeptId());
public Page<LoanEntity> queryLoan(LoanFormQuery query) {
QueryWrapper<LoanEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(Strings.isNotEmpty(query.getAuthor()), "author_name", query.getAuthor());
queryWrapper.eq(!Objects.isNull(query.getStatus()), "status", query.getStatus());
queryWrapper.eq(Strings.isNotEmpty(query.getChannelName()), "channel_name", query.getChannelName());
queryWrapper.eq(Strings.isNotEmpty(query.getFormNumber()), "form_number", query.getFormNumber());
if (!Objects.isNull(query.getSubmissionTimes()) && query.getSubmissionTimes().size() > 1) {
queryWrapper.between("submission_time", query.getSubmissionTimes().get(0), query.getSubmissionTimes().get(1));
} }
return baseMapper.selectPage(query.of(), queryWrapper); baseMapper.insert(BeanUtil.copyProperties(formData,LoanEntity.class));
} }
@Override @Override
public Page<LoanEntity> queryData(LoanFormQuery query) { public String qcCode(LoanFormQuery formData) throws Exception{
String codeUrl = "";
Result<SysUserQcCode> userInfo = remoteUserQcCodeService.getUserInfo(new UserQcCodeDTO() {{
setUserId(SecurityUtils.getUserId());
}});
if(userInfo.getCode() == 200 && !Objects.isNull(userInfo.getData())){
codeUrl = userInfo.getData().getLoanCode();
}else{
Result<String> stringResult = remoteOssService.uploadQcCode();
if(stringResult.getCode() == 200){
codeUrl = stringResult.getData();
Result<Integer> save = remoteUserQcCodeService.save(new UserQcCodeDTO() {{
setUrl(stringResult.getData());
setUserId(SecurityUtils.getUserId());
}});
}
return null; }
return codeUrl;
} }
@Override
@DataScope
public IPage<LoanEntity> queryLoan(LoanEntity query) {
CommonParam commonParam = CommonParam.buildPageRequest();
LambdaQueryWrapper<LoanEntity> queryWrapper = WrapperUtils.builder(query, query, commonParam);
IPage<LoanEntity> page = this.page(
new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(commonParam.getPage(), commonParam.getLimit()),
queryWrapper
);
return page;
}
@Override
public PageResult queryData(LoanFormQuery query) {
Page<LoanVO> of = query.of();
List<LoanData> loanVOSList = baseMapper.queryDataList(query);
List<LoanVO> resultList = new ArrayList<>();
for (LoanData loanData:loanVOSList){
LoanVO loanVO = new LoanVO();
BeanUtils.copyProperties(loanData,loanVO);
loanVO.setTotalTransactionAmount(String.valueOf(loanData.getTotalTransactionAmount()));
loanVO.setTotalLoanAmount(String.valueOf(loanData.getTotalLoanAmount()));
resultList.add(loanVO);
}
return new PageResult(resultList, of.getTotal(), of.getPages(), of.getCurrent());
}
@Override @Override
@Transactional @Transactional
public boolean approval(LoanApproval approval) { public int approval(LoanApproval approval) {
boolean flag = false; boolean flag = false;
if (approval.getStatus().equals(3) && StrUtil.isEmpty(approval.getDenialReason())) { if (approval.getStatus().equals(3) && StrUtil.isEmpty(approval.getDenialReason())) {
Assert.isTrue(false, "审批拒绝请注明原因"); Assert.isTrue(false, "审批拒绝请注明原因");
@ -84,15 +162,8 @@ public class LoanServiceImpl extends ServiceImpl<LoanMapper, LoanEntity> impleme
loanAduitEntity.setApproverId(SecurityUtils.getUserId()); loanAduitEntity.setApproverId(SecurityUtils.getUserId());
loanAduitEntity.setApproverName(SecurityUtils.getUsername()); loanAduitEntity.setApproverName(SecurityUtils.getUsername());
loanAduitEntity.setDenialReason(approval.getDenialReason()); loanAduitEntity.setDenialReason(approval.getDenialReason());
try { iLoanAduitService.insertAduit(loanAduitEntity);
iLoanAduitService.insertAduit(loanAduitEntity); return baseMapper.updateById(loan);
baseMapper.updateById(loan);
flag = true;
} catch (Exception e) {
log.error(e.getMessage());
flag = false;
}
return flag;
} }
} }

View File

@ -0,0 +1,16 @@
<?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.chushang.mapper.LoanMapper">
<select id="queryDataList" resultType="com.chushang.domin.vo.LoanData">
select channel_name,
author_name,
author_phone,
COUNT(if(status = 2, id, null)) as totalOpenFlux,
SUM(if(status = 2, loan_amount, null)) as totalLoanAmount,
sum(application_amount) as totalTransactionAmount
from loan group by user_id,channel_name,author_name,author_phone
</select>
</mapper>

View File

@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.List; import java.util.List;
@FeignClient(contextId = "ossFeign", @FeignClient(contextId = "ossFeign",
@ -27,4 +28,9 @@ public interface RemoteOssService {
@RequestParam(value = "fileType", required = false) String fileType, @RequestParam(value = "fileType", required = false) String fileType,
@RequestHeader(SecurityConstants.FROM_SOURCE) String source); @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
@PostMapping(value = "/uploadqccode")
Result<String> uploadQcCode() throws Exception;
} }

View File

@ -14,11 +14,12 @@ import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.File;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value = "/file/remote") @RequestMapping(value = "/remote/file")
public class RemoteFileController implements RemoteOssService { public class RemoteFileController implements RemoteOssService {
@Resource @Resource
FileSourceService fileSourceService; FileSourceService fileSourceService;
@ -34,4 +35,15 @@ public class RemoteFileController implements RemoteOssService {
return Result.ok(fileSourceService.addFile(files, ocrType, sealFlag, formats, fileType)); return Result.ok(fileSourceService.addFile(files, ocrType, sealFlag, formats, fileType));
} }
@Override
@SysLog(value = "feign文件上传File类型", businessType = BusinessType.INSERT)
@PostMapping(value = "/uploadqccode")
public Result<String> uploadQcCode() throws Exception{
return Result.ok(fileSourceService.uploadQcCode());
}
} }

View File

@ -2,9 +2,13 @@ package com.chushang.oss.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.img.ImgUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -21,6 +25,7 @@ import com.chushang.oss.entity.dto.OcrDTO;
import com.chushang.oss.entity.vo.FileSourceVo; import com.chushang.oss.entity.vo.FileSourceVo;
import com.chushang.oss.enums.OcrTypeEnum; import com.chushang.oss.enums.OcrTypeEnum;
import com.chushang.oss.mapper.FileSourceMapper; import com.chushang.oss.mapper.FileSourceMapper;
import com.chushang.security.utils.SecurityUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.tika.Tika; import org.apache.tika.Tika;
@ -191,4 +196,39 @@ public class FileSourceService
throw new ResultException("以下文件未删除: [" + key + "]."); throw new ResultException("以下文件未删除: [" + key + "].");
} }
} }
public String uploadQcCode() throws Exception{
String url = StrUtil.format("{}?userId={}&channelId={}&channelName={}&" +
"authorName={}&authorPhone={}",
"https://mini.program.chually.com/uniapp/index.html", SecurityUtils.getUserId(), SecurityUtils.getDeptId(),
"内蒙古",
SecurityUtils.getLoginUser().getSysUser().getNickName(), SecurityUtils.getLoginUser().getSysUser().getPhone());
File file = QrCodeUtil.generate(url, new QrConfig(600, 600),
FileUtil.createTempFile(ImgUtil.IMAGE_TYPE_PNG, Boolean.TRUE));
FileInputStream fileInputStream = new FileInputStream(file);
String ip = IPUtils.clientIp(ServletUtils.getRequest());
String fid = generateFid();
String fName = file.getName();
long length = file.length();
String md5 = FileUtils.getMd5(fileInputStream);
// image/jpeg mimeType
FileSourceInfo fileSourceInfo = new FileSourceInfo();
fileSourceInfo.setUploadIp(ip);
fileSourceInfo.setFid(fid);
fileSourceInfo.setName(fName);
fileSourceInfo.setSize(length);
fileSourceInfo.setPath("qcCode/"+fName);
fileSourceInfo.setMd5(md5);
fileSourceInfo.setRealPath(url);
fileSourceInfo.setMimeType("image/jpeg");
String upload = ossService.upload(new FileInputStream(file), fileSourceInfo);
fileSourceInfo.setRealPath(upload);
save(fileSourceInfo);
return upload;
}
} }

View File

@ -0,0 +1,11 @@
package com.chushang.system.entity.dto;
import lombok.Data;
@Data
public class UserQcCodeDTO {
private String url;
private Long userId;
}

View File

@ -0,0 +1,44 @@
package com.chushang.system.entity.po;
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 lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serial;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author author
* @since 2022-08-18
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_user_qr_code")
public class SysUserQcCode implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 用户Id
*/
@TableId(value = "user_id", type = IdType.ASSIGN_ID)
private Long userId;
/**
* 分期二维码
*/
@TableField(value = "loan_code")
private String loanCode;
}

View File

@ -0,0 +1,35 @@
package com.chushang.system.feign;
import com.chushang.common.core.constant.SecurityConstants;
import com.chushang.common.core.web.Result;
import com.chushang.security.entity.vo.LoginUser;
import com.chushang.system.constants.SystemConstants;
import com.chushang.system.entity.dto.UserQcCodeDTO;
import com.chushang.system.entity.po.SysLoginInfo;
import com.chushang.system.entity.po.SysUserQcCode;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* by zhaowenyuan create 2022/5/20 10:05
*/
@FeignClient(contextId = "remoteUserqcCodeService",
value = SystemConstants.SYSTEM_SERVICE,
path = SystemConstants.APPLICATION_CONTENT_PATH + "/qc"
)
public interface RemoteUserQcCodeService {
/**
* 通过用户id查询用户二维码信息
*
* @param userQcCodeDTO 用户id
* @return 结果
*/
@PostMapping("/qccode/query")
Result<SysUserQcCode> getUserInfo(@RequestBody UserQcCodeDTO userQcCodeDTO);
@PostMapping("/save/qccode")
Result<Integer> save(@RequestBody UserQcCodeDTO userQcCodeDTO);
}

View File

@ -30,4 +30,15 @@ public interface RemoteUserService {
@GetMapping("/info/{username}") @GetMapping("/info/{username}")
Result<LoginUser> getUserInfo(@PathVariable(value = "username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); Result<LoginUser> getUserInfo(@PathVariable(value = "username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 通过用户id查询用户信息
*
* @param userId 用户id
* @return 结果
*/
@GetMapping("/getInfoById/{userId}")
Result<SysUser> getInfoById(@PathVariable(value = "userId") Long userId);
} }

View File

@ -0,0 +1,16 @@
package com.chushang.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chushang.system.entity.po.SysUserQcCode;
/**
* <p>
* Mapper 接口
* </p>
*
* @author author
* @since 2022-08-18
*/
public interface SysUserQcCodeMapper extends BaseMapper<SysUserQcCode> {
}

View File

@ -70,4 +70,11 @@ public class RemoteUserController implements RemoteUserService {
return Result.ok(sysUserVo); return Result.ok(sysUserVo);
} }
@Override
@GetMapping("/getInfoById/{userId}")
public Result<SysUser> getInfoById(@PathVariable(value = "userId") Long userId) {
return Result.ok(sysUserService.selectByUserId(userId));
}
} }

View File

@ -0,0 +1,38 @@
package com.chushang.system.remote;
import com.chushang.common.core.web.AjaxResult;
import com.chushang.common.core.web.Result;
import com.chushang.security.entity.vo.LoginUser;
import com.chushang.system.entity.dto.UserQcCodeDTO;
import com.chushang.system.entity.po.SysUserQcCode;
import com.chushang.system.feign.RemoteUserQcCodeService;
import com.chushang.system.service.ISysUserQcCodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Objects;
/**
* @author by zhaowenyuan create 2022/8/22 16:43
* 部门相关
*/
@RestController
@RequestMapping("/qc")
public class SysUserQcCodeController implements RemoteUserQcCodeService {
@Autowired
private ISysUserQcCodeService service;
@Override
@PostMapping(value = "/qccode/query")
public Result<SysUserQcCode> getUserInfo(@RequestBody UserQcCodeDTO userQcCodeDTO) {
return Result.ok(service.getInfo(userQcCodeDTO.getUserId()));
}
@Override
@PostMapping(value = "/save/qccode")
public Result<Integer> save(@RequestBody UserQcCodeDTO userQcCodeDTO) {
return Result.ok(service.save(userQcCodeDTO));
}
}

View File

@ -0,0 +1,18 @@
package com.chushang.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chushang.system.entity.dto.UserQcCodeDTO;
import com.chushang.system.entity.po.SysUserQcCode;
/**
* @author by zhaowenyuan create 2022/8/19 11:49
*/
public interface ISysUserQcCodeService extends IService<SysUserQcCode> {
SysUserQcCode getInfo(Long userId);
int save(UserQcCodeDTO userQcCodeDTO);
}

View File

@ -33,6 +33,9 @@ public interface ISysUserService extends IService<SysUser> {
void deleteBatch(Long[] userIds); void deleteBatch(Long[] userIds);
SysUser selectByUserId(Long userId);
/** /**
* 判断是否为超级管理员 账号 * 判断是否为超级管理员 账号
*/ */

View File

@ -0,0 +1,40 @@
package com.chushang.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.spring.util.BeanUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chushang.system.entity.dto.UserQcCodeDTO;
import com.chushang.system.entity.po.SysRoleDept;
import com.chushang.system.entity.po.SysUserQcCode;
import com.chushang.system.mapper.SysRoleDeptMapper;
import com.chushang.system.mapper.SysUserQcCodeMapper;
import com.chushang.system.service.ISysRoleDeptService;
import com.chushang.system.service.ISysUserQcCodeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author author
* @since 2022-08-18
*/
@Slf4j
@Service
public class SysUserQcCodeServiceImpl extends ServiceImpl<SysUserQcCodeMapper, SysUserQcCode> implements ISysUserQcCodeService {
@Override
public SysUserQcCode getInfo(Long userId) {
return baseMapper.selectById(userId);
}
@Override
public int save(UserQcCodeDTO userQcCodeDTO) {
SysUserQcCode sysUserQcCode = new SysUserQcCode();
sysUserQcCode.setLoanCode(userQcCodeDTO.getUrl());
userQcCodeDTO.setUserId(userQcCodeDTO.getUserId());
return baseMapper.insert(sysUserQcCode);
}
}

View File

@ -143,6 +143,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
} }
@Override
public SysUser selectByUserId(Long userId) {
return baseMapper.selectById(userId);
}
@Override @Override
@Transactional @Transactional