diff --git a/chushang-common/chushang-common-security/src/main/java/com/chushang/security/utils/SecurityUtils.java b/chushang-common/chushang-common-security/src/main/java/com/chushang/security/utils/SecurityUtils.java index ae48471..f8e36f8 100644 --- a/chushang-common/chushang-common-security/src/main/java/com/chushang/security/utils/SecurityUtils.java +++ b/chushang-common/chushang-common-security/src/main/java/com/chushang/security/utils/SecurityUtils.java @@ -55,6 +55,14 @@ public class SecurityUtils return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class); } + /** + * 获取用户部门id + */ + public static Long getDeptId() + { + return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class).getSysUser().getDeptId(); + } + /** * 获取请求token */ diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/controller/LoanController.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/controller/LoanController.java index 71c2554..04b73b0 100644 --- a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/controller/LoanController.java +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/controller/LoanController.java @@ -1,9 +1,12 @@ package com.chushang.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.LoanFormData; import com.chushang.domin.entity.LoanEntity; import com.chushang.domin.query.LoanFormQuery; import com.chushang.service.ILoanService; @@ -25,19 +28,19 @@ public class LoanController { private ILoanService iLoanService; -// /** -// * 提交表单数据 -// */ -// @PostMapping("/submit") -// public void submitFormData(@RequestBody @Validated LoanFormData formData) { -// iLoanService.submitFormData(formData); -// } + /** + * 提交表单数据 + */ + @PostMapping("/qcCode") + public AjaxResult submitFormData(@RequestBody @Validated LoanFormQuery formData) throws Exception{ + return AjaxResult.success(iLoanService.qcCode(formData)); + } /** * 查询表单 */ @PostMapping("/find") - public Page queryLoan(@RequestBody LoanFormQuery query) { + public IPage queryLoan(@RequestBody LoanEntity query) { return iLoanService.queryLoan(query); } @@ -46,8 +49,8 @@ public class LoanController { * 查询表单 */ @PostMapping("/data") - public Page data(@RequestBody LoanFormQuery query) { - return iLoanService.queryData(query); + public AjaxResult data(@RequestBody LoanFormQuery query) { + return AjaxResult.success(iLoanService.queryData(query)); } diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/query/LoanFormQuery.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/query/LoanFormQuery.java index 0bc71a2..9e54501 100644 --- a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/query/LoanFormQuery.java +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/query/LoanFormQuery.java @@ -2,6 +2,7 @@ package com.chushang.domin.query; import cn.hutool.core.date.DatePattern; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chushang.common.mybatis.page.CommonParam; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; @@ -18,7 +19,9 @@ import java.util.List; @Builder @NoArgsConstructor @AllArgsConstructor -public class LoanFormQuery { +public class LoanFormQuery extends CommonParam { + + private Long userId; /** 编号 */ private String formNumber; @@ -36,8 +39,8 @@ public class LoanFormQuery { /** 渠道名称 */ private String channelName; - /** 渠道ID */ - private Long channelId; + /** 部门id */ + private Long deptId; /** 当前页 */ protected Integer page; diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanVO.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanVO.java index 2ef2064..1832913 100644 --- a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanVO.java +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/domin/vo/LoanVO.java @@ -11,11 +11,6 @@ import java.time.LocalDateTime; @NoArgsConstructor 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; } diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanMapper.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanMapper.java index 8b289dd..74bac89 100644 --- a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanMapper.java +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/mapper/LoanMapper.java @@ -3,6 +3,7 @@ package com.chushang.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.chushang.domin.entity.LoanEntity; import com.chushang.domin.query.LoanFormQuery; +import com.chushang.domin.vo.LoanData; import com.chushang.domin.vo.LoanVO; import java.util.List; @@ -10,6 +11,6 @@ import java.util.List; public interface LoanMapper extends BaseMapper { -// List queryDataList(LoanFormQuery loanFormQuery); + List queryDataList(LoanFormQuery queryy); } diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanService.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanService.java index e6a02c6..6af9d0d 100644 --- a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanService.java +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/ILoanService.java @@ -1,21 +1,28 @@ package com.chushang.service; +import com.baomidou.mybatisplus.core.metadata.IPage; 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.LoanFormData; import com.chushang.domin.entity.LoanEntity; import com.chushang.domin.query.LoanFormQuery; +import com.chushang.domin.vo.LoanVO; import org.springframework.stereotype.Service; +import java.util.List; + public interface ILoanService { void submitFormData(LoanFormData formData); - Page queryLoan(LoanFormQuery query); + String qcCode(LoanFormQuery formData) throws Exception; - Page queryData(LoanFormQuery query); + IPage queryLoan(LoanEntity query); - boolean approval(LoanApproval approval); + PageResult queryData(LoanFormQuery query); + + int approval(LoanApproval approval); } diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanServiceImpl.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanServiceImpl.java index efe1bf5..1066b66 100644 --- a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanServiceImpl.java +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/service/impl/LoanServiceImpl.java @@ -1,27 +1,55 @@ 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.util.RandomUtil; 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.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.LoanFormData; import com.chushang.domin.entity.LoanAduitEntity; import com.chushang.domin.entity.LoanEntity; 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.oss.feign.RemoteOssService; 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.service.ILoanAduitService; 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 org.apache.logging.log4j.util.Strings; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; 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.Objects; @@ -33,38 +61,88 @@ public class LoanServiceImpl extends ServiceImpl impleme @Autowired ILoanAduitService iLoanAduitService; + + @Autowired + RemoteUserQcCodeService remoteUserQcCodeService; + + + @Autowired + private RemoteOssService remoteOssService; + + + @Autowired + RemoteUserService remoteUserService; + + @Override public void submitFormData(LoanFormData formData) { - - } - - - - - @Override - public Page queryLoan(LoanFormQuery query) { - - QueryWrapper 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)); + // 通过用户id查询用户id + LoanEntity loan = new LoanEntity(); + BeanUtil.copyProperties(formData,loan); + Result infoById = remoteUserService.getInfoById(formData.getUserId()); + if(infoById.getCode() == 200 && !Objects.isNull(infoById.getData())){ + SysUser data = infoById.getData(); + loan.setDeptId(data.getDeptId()); } - return baseMapper.selectPage(query.of(), queryWrapper); + baseMapper.insert(BeanUtil.copyProperties(formData,LoanEntity.class)); } @Override - public Page queryData(LoanFormQuery query) { + public String qcCode(LoanFormQuery formData) throws Exception{ + String codeUrl = ""; + Result userInfo = remoteUserQcCodeService.getUserInfo(new UserQcCodeDTO() {{ + setUserId(SecurityUtils.getUserId()); + }}); + if(userInfo.getCode() == 200 && !Objects.isNull(userInfo.getData())){ + codeUrl = userInfo.getData().getLoanCode(); + }else{ + Result stringResult = remoteOssService.uploadQcCode(); + if(stringResult.getCode() == 200){ + codeUrl = stringResult.getData(); + Result save = remoteUserQcCodeService.save(new UserQcCodeDTO() {{ + setUrl(stringResult.getData()); + setUserId(SecurityUtils.getUserId()); + }}); + } - return null; + } + return codeUrl; } + + @Override + @DataScope + public IPage queryLoan(LoanEntity query) { + CommonParam commonParam = CommonParam.buildPageRequest(); + LambdaQueryWrapper queryWrapper = WrapperUtils.builder(query, query, commonParam); + IPage 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 of = query.of(); + List loanVOSList = baseMapper.queryDataList(query); + List 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 @Transactional - public boolean approval(LoanApproval approval) { + public int approval(LoanApproval approval) { boolean flag = false; if (approval.getStatus().equals(3) && StrUtil.isEmpty(approval.getDenialReason())) { Assert.isTrue(false, "审批拒绝请注明原因"); @@ -84,15 +162,8 @@ public class LoanServiceImpl extends ServiceImpl impleme loanAduitEntity.setApproverId(SecurityUtils.getUserId()); loanAduitEntity.setApproverName(SecurityUtils.getUsername()); loanAduitEntity.setDenialReason(approval.getDenialReason()); - try { - iLoanAduitService.insertAduit(loanAduitEntity); - baseMapper.updateById(loan); - flag = true; - } catch (Exception e) { - log.error(e.getMessage()); - flag = false; - } - return flag; + iLoanAduitService.insertAduit(loanAduitEntity); + return baseMapper.updateById(loan); } } diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/resources/mapper/LoanMapper.xml b/chushang-modules/chushang-module-loan/loan-service/src/main/resources/mapper/LoanMapper.xml new file mode 100644 index 0000000..866bc59 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/resources/mapper/LoanMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/chushang-modules/chushang-module-oss/oss-feign/src/main/java/com/chushang/oss/feign/RemoteOssService.java b/chushang-modules/chushang-module-oss/oss-feign/src/main/java/com/chushang/oss/feign/RemoteOssService.java index 5463a6a..8fa25d6 100644 --- a/chushang-modules/chushang-module-oss/oss-feign/src/main/java/com/chushang/oss/feign/RemoteOssService.java +++ b/chushang-modules/chushang-module-oss/oss-feign/src/main/java/com/chushang/oss/feign/RemoteOssService.java @@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.util.List; @FeignClient(contextId = "ossFeign", @@ -27,4 +28,9 @@ public interface RemoteOssService { @RequestParam(value = "fileType", required = false) String fileType, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @PostMapping(value = "/uploadqccode") + Result uploadQcCode() throws Exception; + + } diff --git a/chushang-modules/chushang-module-oss/oss-service/src/main/java/com/chushang/oss/remote/RemoteFileController.java b/chushang-modules/chushang-module-oss/oss-service/src/main/java/com/chushang/oss/remote/RemoteFileController.java index 83b5ea8..160917e 100644 --- a/chushang-modules/chushang-module-oss/oss-service/src/main/java/com/chushang/oss/remote/RemoteFileController.java +++ b/chushang-modules/chushang-module-oss/oss-service/src/main/java/com/chushang/oss/remote/RemoteFileController.java @@ -14,11 +14,12 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.File; import java.util.List; @Slf4j @RestController -@RequestMapping(value = "/file/remote") +@RequestMapping(value = "/remote/file") public class RemoteFileController implements RemoteOssService { @Resource FileSourceService fileSourceService; @@ -34,4 +35,15 @@ public class RemoteFileController implements RemoteOssService { return Result.ok(fileSourceService.addFile(files, ocrType, sealFlag, formats, fileType)); } + + + @Override + @SysLog(value = "feign文件上传File类型", businessType = BusinessType.INSERT) + @PostMapping(value = "/uploadqccode") + public Result uploadQcCode() throws Exception{ + return Result.ok(fileSourceService.uploadQcCode()); + } + + + } diff --git a/chushang-modules/chushang-module-oss/oss-service/src/main/java/com/chushang/oss/service/FileSourceService.java b/chushang-modules/chushang-module-oss/oss-service/src/main/java/com/chushang/oss/service/FileSourceService.java index 39a7486..d612153 100644 --- a/chushang-modules/chushang-module-oss/oss-service/src/main/java/com/chushang/oss/service/FileSourceService.java +++ b/chushang-modules/chushang-module-oss/oss-service/src/main/java/com/chushang/oss/service/FileSourceService.java @@ -2,9 +2,13 @@ package com.chushang.oss.service; import cn.hutool.core.collection.CollectionUtil; 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.ObjUtil; 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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.enums.OcrTypeEnum; import com.chushang.oss.mapper.FileSourceMapper; +import com.chushang.security.utils.SecurityUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import org.apache.tika.Tika; @@ -191,4 +196,39 @@ public class FileSourceService 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; + } } diff --git a/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/entity/dto/UserQcCodeDTO.java b/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/entity/dto/UserQcCodeDTO.java new file mode 100644 index 0000000..5a5eac2 --- /dev/null +++ b/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/entity/dto/UserQcCodeDTO.java @@ -0,0 +1,11 @@ +package com.chushang.system.entity.dto; + +import lombok.Data; + +@Data +public class UserQcCodeDTO { + + private String url; + + private Long userId; +} diff --git a/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/entity/po/SysUserQcCode.java b/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/entity/po/SysUserQcCode.java new file mode 100644 index 0000000..c1ffd40 --- /dev/null +++ b/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/entity/po/SysUserQcCode.java @@ -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; + +/** + *

+ * + *

+ * + * @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; + + +} diff --git a/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/feign/RemoteUserQcCodeService.java b/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/feign/RemoteUserQcCodeService.java new file mode 100644 index 0000000..3d2ebaf --- /dev/null +++ b/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/feign/RemoteUserQcCodeService.java @@ -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 getUserInfo(@RequestBody UserQcCodeDTO userQcCodeDTO); + + + @PostMapping("/save/qccode") + Result save(@RequestBody UserQcCodeDTO userQcCodeDTO); + +} diff --git a/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/feign/RemoteUserService.java b/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/feign/RemoteUserService.java index cd9602a..450f18d 100644 --- a/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/feign/RemoteUserService.java +++ b/chushang-modules/chushang-module-system/system-feign/src/main/java/com/chushang/system/feign/RemoteUserService.java @@ -30,4 +30,15 @@ public interface RemoteUserService { @GetMapping("/info/{username}") Result getUserInfo(@PathVariable(value = "username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + + /** + * 通过用户id查询用户信息 + * + * @param userId 用户id + * @return 结果 + */ + @GetMapping("/getInfoById/{userId}") + Result getInfoById(@PathVariable(value = "userId") Long userId); + } diff --git a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/mapper/SysUserQcCodeMapper.java b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/mapper/SysUserQcCodeMapper.java new file mode 100644 index 0000000..a43cea6 --- /dev/null +++ b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/mapper/SysUserQcCodeMapper.java @@ -0,0 +1,16 @@ +package com.chushang.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chushang.system.entity.po.SysUserQcCode; + +/** + *

+ * Mapper 接口 + *

+ * + * @author author + * @since 2022-08-18 + */ +public interface SysUserQcCodeMapper extends BaseMapper { + +} diff --git a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/remote/RemoteUserController.java b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/remote/RemoteUserController.java index dc2b1ff..9cb868f 100644 --- a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/remote/RemoteUserController.java +++ b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/remote/RemoteUserController.java @@ -70,4 +70,11 @@ public class RemoteUserController implements RemoteUserService { return Result.ok(sysUserVo); } + @Override + @GetMapping("/getInfoById/{userId}") + public Result getInfoById(@PathVariable(value = "userId") Long userId) { + + return Result.ok(sysUserService.selectByUserId(userId)); + } + } diff --git a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/remote/SysUserQcCodeController.java b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/remote/SysUserQcCodeController.java new file mode 100644 index 0000000..05a22cf --- /dev/null +++ b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/remote/SysUserQcCodeController.java @@ -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 getUserInfo(@RequestBody UserQcCodeDTO userQcCodeDTO) { + return Result.ok(service.getInfo(userQcCodeDTO.getUserId())); + } + + @Override + @PostMapping(value = "/save/qccode") + public Result save(@RequestBody UserQcCodeDTO userQcCodeDTO) { + return Result.ok(service.save(userQcCodeDTO)); + } +} diff --git a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/ISysUserQcCodeService.java b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/ISysUserQcCodeService.java new file mode 100644 index 0000000..ba3e1f0 --- /dev/null +++ b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/ISysUserQcCodeService.java @@ -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 getInfo(Long userId); + + int save(UserQcCodeDTO userQcCodeDTO); + +} diff --git a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/ISysUserService.java b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/ISysUserService.java index 839f9e9..7ff6ab5 100644 --- a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/ISysUserService.java +++ b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/ISysUserService.java @@ -33,6 +33,9 @@ public interface ISysUserService extends IService { void deleteBatch(Long[] userIds); + + SysUser selectByUserId(Long userId); + /** * 判断是否为超级管理员 账号 */ diff --git a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/impl/SysUserQcCodeServiceImpl.java b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/impl/SysUserQcCodeServiceImpl.java new file mode 100644 index 0000000..c3d0322 --- /dev/null +++ b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/impl/SysUserQcCodeServiceImpl.java @@ -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; + +/** + *

+ * 服务实现类 + *

+ * + * @author author + * @since 2022-08-18 + */ +@Slf4j +@Service +public class SysUserQcCodeServiceImpl extends ServiceImpl 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); + } +} diff --git a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/impl/SysUserServiceImpl.java b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/impl/SysUserServiceImpl.java index 8349fbf..bb03ffa 100644 --- a/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/impl/SysUserServiceImpl.java +++ b/chushang-modules/chushang-module-system/system-service/src/main/java/com/chushang/system/service/impl/SysUserServiceImpl.java @@ -143,6 +143,11 @@ public class SysUserServiceImpl extends ServiceImpl impl } + @Override + public SysUser selectByUserId(Long userId) { + return baseMapper.selectById(userId); + } + @Override @Transactional