ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/CompanyController.java
@@ -13,6 +13,7 @@ import com.ruoyi.system.query.CompanyListQuery; import com.ruoyi.system.query.MyPushCompanyListQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.CompanyDetailVo; import com.ruoyi.system.vo.IndexCompanyListVo; import com.ruoyi.system.vo.MyPushCompanyListVo; import io.swagger.annotations.Api; @@ -222,6 +223,17 @@ } @ApiOperation(value = "公司详情",tags = {"发布模块"}) @GetMapping("/companyDetail") public R<CompanyDetailVo> companyDetail(@RequestParam String companyId) { if(StringUtils.isEmpty(companyId)){ return R.fail("参数错误"); } LoginUser loginUser = tokenService.getLoginUser(); Long userId = loginUser.getUserId(); CompanyDetailVo companyDetailVo = tbCompanyService.companyDetail(companyId,userId); return R.ok(companyDetailVo); } } ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java
@@ -112,6 +112,9 @@ @ApiOperation(value = "立即支付",tags = {"订单模块"}) @PostMapping("/payOrder") public R<WxPayMpOrderResult> payOrder(String orderId) { if(StringUtils.isEmpty(orderId)){ R.fail("订单id不能为空"); } LoginUser loginUser = tokenService.getLoginUser(); Long userId = loginUser.getUserId(); TbOrder tbOrder = orderService.getById(orderId); @@ -180,7 +183,7 @@ // 订单完成 商品已售卖 order.setStatus(6); order.updateById(); company.setStatus(2); company.setStatus(3); // 分佣 orderService.commission(order,company.getUserId()); ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/UserAccountController.java
@@ -12,6 +12,7 @@ import com.ruoyi.system.model.*; import com.ruoyi.system.query.UserAccountDetailQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.GetWithdrawalDetailVo; import com.ruoyi.system.vo.RegionVo; import com.ruoyi.system.vo.UserAccountVo; import io.swagger.annotations.Api; @@ -161,6 +162,18 @@ } @ApiOperation(value = "提现说明需求",tags = {"用户钱包模块"}) @GetMapping("/getWithdrawalDetail") public R<GetWithdrawalDetailVo> getWithdrawalDetail(@RequestParam String sourceId) { TbWithdrawal withdrawal = withdrawalService.getById(sourceId); GetWithdrawalDetailVo vo = new GetWithdrawalDetailVo(); vo.setImg(withdrawal.getImg()); vo.setRemark(withdrawal.getRemark()); return R.ok(vo); } ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/UserController.java
@@ -8,7 +8,11 @@ import com.ruoyi.common.utils.NumberUtil; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.model.TbQuestion; import com.ruoyi.system.model.TbSystemConfig; import com.ruoyi.system.model.TbUser; import com.ruoyi.system.service.TbQuestionService; import com.ruoyi.system.service.TbSystemConfigService; import com.ruoyi.system.service.TbUserService; import com.ruoyi.system.vo.InviteUserListVo; import io.swagger.annotations.Api; @@ -16,12 +20,10 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; @Slf4j @@ -35,6 +37,12 @@ @Autowired private TokenService tokenService; @Autowired private TbQuestionService questionService; @Autowired private TbSystemConfigService systemConfigService; @ApiOperation(value = "修改用户信息",tags = {"用户模块"}) @PostMapping("/updateUserInfo") @@ -66,7 +74,7 @@ } @ApiOperation(value = "账号注销",tags = {"用户模块"}) @GetMapping("/accountCancellation") @PostMapping("/accountCancellation") public R<?> accountCancellation() { LoginUser loginUser = tokenService.getLoginUser(); Long userId = loginUser.getUserId(); @@ -102,4 +110,19 @@ } @ApiOperation(value = "常见问题",tags = {"用户模块"}) @GetMapping("/getQuestion") public R<List<TbQuestion>> getQuestion() { List<TbQuestion> list = questionService.list(new LambdaQueryWrapper<TbQuestion>().eq(TbQuestion::getDelFlag,0).orderByDesc(TbQuestion::getOrderNum)); return R.ok(list); } @ApiOperation(value = "客服",tags = {"用户模块"}) @GetMapping("/customerService") public R<String> customerService() { TbSystemConfig config = systemConfigService.getOne(new LambdaQueryWrapper<TbSystemConfig>().eq(TbSystemConfig::getType, 2)); String content = config.getContent(); return R.ok(content); } } ruoyi-system/src/main/java/com/ruoyi/system/model/TbAccountDetail.java
@@ -62,6 +62,7 @@ private Date createTime; @TableField("source_id") @ApiModelProperty("来源 下单用户id category = 1为提现表id") private String sourceId; @TableField("order_price") ruoyi-system/src/main/java/com/ruoyi/system/model/TbCompany.java
@@ -223,6 +223,22 @@ @TableField("create_time") private Date createTime; /** * 法人 */ @TableField("oper_name") private String operName; /** * 登记机关 */ @TableField("belong_org") private String belongOrg; /** * 登记状态 */ @TableField("registration_status") private String registrationStatus; private String scope; ruoyi-system/src/main/java/com/ruoyi/system/model/TbSchedule.java
@@ -6,11 +6,13 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.util.Date; import java.util.List; /** * <p> @@ -38,12 +40,15 @@ /** * 内容 */ @ApiModelProperty("内容") private String text; /** * 图片 */ @ApiModelProperty("图片") private String img; @TableField("create_time") @ApiModelProperty("创建时间") private Date createTime; /** * 卖家回复才会有 @@ -55,5 +60,10 @@ private String userId; @TableField(exist = false) @ApiModelProperty("回复") private List<TbSchedule> schedules; } ruoyi-system/src/main/java/com/ruoyi/system/service/TbCompanyService.java
@@ -8,6 +8,7 @@ import com.ruoyi.system.model.TbCompany; import com.ruoyi.system.query.CompanyListQuery; import com.ruoyi.system.query.MyPushCompanyListQuery; import com.ruoyi.system.vo.CompanyDetailVo; import com.ruoyi.system.vo.IndexCompanyListVo; import com.ruoyi.system.vo.MyPushCompanyListVo; @@ -35,5 +36,7 @@ Page<MyPushCompanyListVo> getMyPushCompanyList(MyPushCompanyListQuery query, Long userId); CompanyDetailVo companyDetail(String companyId, Long userId); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCompanyServiceImpl.java
@@ -4,22 +4,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.dto.EditCompanyDto; import com.ruoyi.system.dto.PushCompanyDto; import com.ruoyi.system.mapper.TbCompanyMapper; import com.ruoyi.system.mapper.TbOpeningBankMapper; import com.ruoyi.system.model.TbCompany; import com.ruoyi.system.model.TbIndustry; import com.ruoyi.system.model.TbOpeningBank; import com.ruoyi.system.model.TbPermit; import com.ruoyi.system.model.*; import com.ruoyi.system.query.CompanyListQuery; import com.ruoyi.system.query.MyPushCompanyListQuery; import com.ruoyi.system.service.TbCompanyService; import com.ruoyi.system.service.TbIndustryService; import com.ruoyi.system.service.TbOpeningBankService; import com.ruoyi.system.service.TbPermitService; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.CompanyDetailVo; import com.ruoyi.system.vo.CustomerInfoVo; import com.ruoyi.system.vo.IndexCompanyListVo; import com.ruoyi.system.vo.MyPushCompanyListVo; import org.apache.poi.ss.formula.functions.T; import org.checkerframework.checker.units.qual.A; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,65 +49,77 @@ @Autowired private TbOpeningBankService openingBankService; @Autowired private TbOrderService orderService; @Autowired private TbScheduleService scheduleService; @Autowired private TbBuyerCompanyInfoService buyerCompanyInfoService; @Autowired private TbUserService userService; @Override public Page<IndexCompanyListVo> getCompanyList(CompanyListQuery query, Long userId) { Page<TbCompany> page = new Page<>(query.getPageNum(), query.getPageSize()); Page<IndexCompanyListVo> page1 = new Page<>(); LambdaQueryWrapper<TbCompany> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(TbCompany::getIsDelete,0); queryWrapper.eq(TbCompany::getStatus,1); if(query.getCertificateNames()!=null && query.getCertificateNames().size()>0){ queryWrapper.eq(TbCompany::getIsDelete, 0); queryWrapper.eq(TbCompany::getStatus, 1); if (query.getCertificateNames() != null && query.getCertificateNames().size() > 0) { List<TbPermit> tbPermits = permitService.list(new LambdaQueryWrapper<TbPermit>().in(TbPermit::getName, query.getCertificateNames())); if(tbPermits.isEmpty()){ if (tbPermits.isEmpty()) { return page1; } queryWrapper.in(TbCompany::getId, tbPermits.stream().map(TbPermit::getCompanyId).collect(Collectors.toList())); } queryWrapper.eq(TbCompany::getCityCode,query.getCityCode()); queryWrapper.eq(TbCompany::getAreaCode,query.getAreaCode()); queryWrapper.eq(TbCompany::getCityCode, query.getCityCode()); queryWrapper.eq(TbCompany::getAreaCode, query.getAreaCode()); if(query.getCompanyCategorys()!=null && query.getCompanyCategorys().size()>0){ if (query.getCompanyCategorys() != null && query.getCompanyCategorys().size() > 0) { queryWrapper.in(TbCompany::getCompanyCategory, query.getCompanyCategorys()); } if(query.getRegisteredCapitals()!=null && query.getRegisteredCapitals().size()>0){ if (query.getRegisteredCapitals() != null && query.getRegisteredCapitals().size() > 0) { queryWrapper.in(TbCompany::getRegisteredCapital, query.getRegisteredCapitals()); } if(query.getCompanyIndustryIds()!=null && query.getCompanyIndustryIds().size()>0){ if (query.getCompanyIndustryIds() != null && query.getCompanyIndustryIds().size() > 0) { queryWrapper.in(TbCompany::getCompanyIndustryId, query.getCompanyIndustryIds()); } if(query.getTaxpayerTypes()!=null && query.getTaxpayerTypes().size()>0){ if (query.getTaxpayerTypes() != null && query.getTaxpayerTypes().size() > 0) { queryWrapper.in(TbCompany::getTaxpayerType, query.getTaxpayerTypes()); } if(query.getTaxCredits()!=null && query.getTaxCredits().size()>0){ if (query.getTaxCredits() != null && query.getTaxCredits().size() > 0) { queryWrapper.in(TbCompany::getTaxCredit, query.getTaxCredits()); } if(query.getHighTechEnterpriseTechnology()!=null){ if (query.getHighTechEnterpriseTechnology() != null) { queryWrapper.eq(TbCompany::getHighTechEnterpriseTechnology, query.getHighTechEnterpriseTechnology()); } if(query.getSocialSecurity()!=null){ if (query.getSocialSecurity() != null) { queryWrapper.eq(TbCompany::getSocialSecurity, query.getSocialSecurity()); } if(query.getTendering()!=null){ if (query.getTendering() != null) { queryWrapper.eq(TbCompany::getTendering, query.getTendering()); } if(query.getHaveTrademark()!=null){ if (query.getHaveTrademark() != null) { queryWrapper.eq(TbCompany::getHaveTrademark, query.getHaveTrademark()); } if(query.getHavePatent()!=null){ if (query.getHavePatent() != null) { queryWrapper.eq(TbCompany::getHavePatent, query.getHavePatent()); } if(query.getHaveSoftWorks()!=null){ if (query.getHaveSoftWorks() != null) { queryWrapper.eq(TbCompany::getHaveSoftWorks, query.getHaveSoftWorks()); } if(query.getMoneySort()!=null && query.getMoneySort()==1){ if (query.getMoneySort() != null && query.getMoneySort() == 1) { queryWrapper.orderByDesc(TbCompany::getSaleMoney); }else if(query.getMoneySort()!=null && query.getMoneySort()==2){ } else if (query.getMoneySort() != null && query.getMoneySort() == 2) { queryWrapper.orderByAsc(TbCompany::getSaleMoney); }else { } else { queryWrapper.orderByDesc(TbCompany::getCreateTime); } Page<TbCompany> companyPage = this.baseMapper.selectPage(page, queryWrapper); @@ -129,13 +140,13 @@ indexCompanyListVo.setPaidInFunds(record.getPaidInFunds()); indexCompanyListVo.setRegisteredCapital(record.getRegisteredCapital()); indexCompanyListVo.setSaleMoney(record.getSaleMoney()); if(record.getUserId().equals(userId.toString())){ if (record.getUserId().equals(userId.toString())) { indexCompanyListVo.setIsMyself(1); } list.add(indexCompanyListVo); } BeanUtils.copyProperties(companyPage,page1); BeanUtils.copyProperties(companyPage, page1); page1.setRecords(list); return page1; } @@ -144,7 +155,7 @@ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public void pushCompany(PushCompanyDto dto, Long userId) { TbCompany tbCompany = new TbCompany(); BeanUtils.copyProperties(dto,tbCompany); BeanUtils.copyProperties(dto, tbCompany); tbCompany.setUserId(userId.toString()); this.save(tbCompany); @@ -163,12 +174,12 @@ @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public void editCompany(EditCompanyDto dto, TbCompany company ,Long userId) { BeanUtils.copyProperties(dto,company); public void editCompany(EditCompanyDto dto, TbCompany company, Long userId) { BeanUtils.copyProperties(dto, company); company.setUserId(userId.toString()); this.updateById(company); permitService.remove(new LambdaQueryWrapper<TbPermit>().eq(TbPermit::getCompanyId,dto.getId())); openingBankService.remove(new LambdaQueryWrapper<TbOpeningBank>().eq(TbOpeningBank::getCompanyId,dto.getId())); permitService.remove(new LambdaQueryWrapper<TbPermit>().eq(TbPermit::getCompanyId, dto.getId())); openingBankService.remove(new LambdaQueryWrapper<TbOpeningBank>().eq(TbOpeningBank::getCompanyId, dto.getId())); List<TbPermit> permits = dto.getPermits(); for (TbPermit permit : permits) { permit.setCompanyId(company.getId()); @@ -185,6 +196,51 @@ @Override public Page<MyPushCompanyListVo> getMyPushCompanyList(MyPushCompanyListQuery query, Long userId) { Page<MyPushCompanyListVo> page = new Page<>(query.getPageNum(), query.getPageSize()); return this.baseMapper.getMyPushCompanyList(page,query,userId); return this.baseMapper.getMyPushCompanyList(page, query, userId); } @Override public CompanyDetailVo companyDetail(String companyId, Long userId) { CompanyDetailVo companyDetailVo = new CompanyDetailVo(); TbCompany tbCompany = this.baseMapper.selectById(companyId); BeanUtils.copyProperties(tbCompany, companyDetailVo); TbIndustry industry = industryService.getById(tbCompany.getCompanyIndustryId()); companyDetailVo.setCompanyIndustryName(industry.getName()); List<TbPermit> list = permitService.list(new LambdaQueryWrapper<TbPermit>().eq(TbPermit::getCompanyId, companyId)); companyDetailVo.setPermits(list); List<TbOpeningBank> list1 = openingBankService.list(new LambdaQueryWrapper<TbOpeningBank>().eq(TbOpeningBank::getCompanyId, companyId)); companyDetailVo.setOpeningBanks(list1); // 当前未产生订单 if (tbCompany.getStatus() == 1) { return companyDetailVo; } TbOrder order = orderService.getOne(new LambdaQueryWrapper<TbOrder>().eq(TbOrder::getCompanyId, companyId).gt(TbOrder::getStatus, 0).orderByDesc(TbOrder::getCreateTime).last("limit 1")); companyDetailVo.setStatus(order.getStatus()); List<TbSchedule> list2 = scheduleService.list(new LambdaQueryWrapper<TbSchedule>().eq(TbSchedule::getOrderId, order.getId()).orderByDesc(TbSchedule::getCreateTime)); List<TbSchedule> collect = list2.stream().filter(e -> StringUtils.isEmpty(e.getParentId())).collect(Collectors.toList()); for (TbSchedule tbSchedule : collect) { List<TbSchedule> collect1 = list2.stream().filter(e -> StringUtils.isNotEmpty(e.getParentId()) && e.getParentId().equals(tbSchedule.getId())).collect(Collectors.toList()); tbSchedule.setSchedules(collect1); } companyDetailVo.setSchedules(collect); companyDetailVo.setPayTime(order.getPayTime()); companyDetailVo.setConfirmTime(order.getConfirmTime()); TbBuyerCompanyInfo one = buyerCompanyInfoService.getOne(new LambdaQueryWrapper<TbBuyerCompanyInfo>().eq(TbBuyerCompanyInfo::getOrderId, order.getId())); CustomerInfoVo customerInfoVo = new CustomerInfoVo(); BeanUtils.copyProperties(one, customerInfoVo); companyDetailVo.setCustomerInfoVo(customerInfoVo); companyDetailVo.setEstimatedRevenue(order.getPrice().subtract(order.getCommissionPrice()).subtract(order.getCommissionPlatform())); TbUser user = userService.getById(order.getUserId()); companyDetailVo.setCustomerName(user.getUserName()); return companyDetailVo; } } ruoyi-system/src/main/java/com/ruoyi/system/vo/AbnormalVo.java
New file @@ -0,0 +1,28 @@ package com.ruoyi.system.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("异常信息Vo") public class AbnormalVo { @ApiModelProperty("异常原因") private String abnormaReason; @ApiModelProperty("异常时间") private String abnormaTime; @ApiModelProperty("异常机构") private String abnormaInstitution; @ApiModelProperty("移除异常原因") private String removeAbnormaReason; @ApiModelProperty("移除异常时间") private String removeAbnormaTime; @ApiModelProperty("移除异常机构") private String removeAbnormaInstitution; } ruoyi-system/src/main/java/com/ruoyi/system/vo/CompanyDetailVo.java
New file @@ -0,0 +1,163 @@ package com.ruoyi.system.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.system.model.TbOpeningBank; import com.ruoyi.system.model.TbPermit; import com.ruoyi.system.model.TbSchedule; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; import java.util.List; @Data @ApiModel("公司详情Vo") public class CompanyDetailVo { @ApiModelProperty("公司id") private String id; @ApiModelProperty("公司名称") private String companyName; @ApiModelProperty("1一般纳税人 2小规模纳税人 3税务未登记") private Integer taxpayerType; @ApiModelProperty("纳税信用等级") private String taxCredit; @ApiModelProperty("1个体工商户 2有限 3独资") private Integer companyCategory; @ApiModelProperty("类型 所属行业") private String companyIndustryName; @ApiModelProperty("成立时间") private String establishTime; @ApiModelProperty("法人") private String operName; @ApiModelProperty("登记机关") private String belongOrg; @ApiModelProperty("登记状态") private String registrationStatus; @ApiModelProperty("市") private String city; @ApiModelProperty("省") private String province; @ApiModelProperty("区") private String area; @ApiModelProperty("预估天数") private Integer estimatedDays; @ApiModelProperty("公章数") private Integer officialSealNum; @ApiModelProperty("是否高新技术 0否1是") private Integer highTechEnterpriseTechnology; @ApiModelProperty("预估注册资金") private String realRegisteredCapital; @ApiModelProperty("注册资金") private String registeredCapital; @ApiModelProperty("经营范围") private String scope; @ApiModelProperty("开票额度") private String invoiceLimit; @ApiModelProperty("社保缴纳0无1有") private Integer socialSecurity; @ApiModelProperty("招投标0无1有") private Integer tendering; @ApiModelProperty("商标0无 1有") private Integer haveTrademark; @ApiModelProperty("商标数") private Integer trademarkNum; @ApiModelProperty("专利0无 1有") private Integer havePatent; @ApiModelProperty("专利数") private Integer patentNum; @ApiModelProperty("软著0无1有") private Integer haveSoftWorks; @ApiModelProperty("软著数") private Integer softWorksNum; @ApiModelProperty("企业改名费") private BigDecimal renameMoney; @ApiModelProperty("预计增加时间") private Integer renameDay; @ApiModelProperty("迁区费用") private BigDecimal relocationAreaMoney; @ApiModelProperty("迁区预计增加时间") private Integer relocationAreaDay; @ApiModelProperty("售卖价格") private BigDecimal saleMoney; @ApiModelProperty("联系电话") private String phone; @ApiModelProperty("收件人") private String recipient; @ApiModelProperty("收件人地址") private String recipientAddress; @ApiModelProperty("所需资料") private String information; @ApiModelProperty("备注") private String remark; @ApiModelProperty("状态 -1取消 1正常 2待确认 (预定) 3已确认(待支付) 4办理中 5卖家已完成 6买家完成") private Integer status; @ApiModelProperty("开户银行") private List<TbOpeningBank> openingBanks; @ApiModelProperty("许可证") private List<TbPermit> permits; @ApiModelProperty("异常信息") private List<AbnormalVo> abnormalVos; @ApiModelProperty("办理进度") private List<TbSchedule> schedules; @ApiModelProperty("客户信息") private CustomerInfoVo customerInfoVo; @ApiModelProperty("支付时间") private Date payTime; @ApiModelProperty("预估收入") private BigDecimal estimatedRevenue; @ApiModelProperty("交易客户") private String customerName; @ApiModelProperty("确认时间") private Date confirmTime; } ruoyi-system/src/main/java/com/ruoyi/system/vo/CustomerInfoVo.java
New file @@ -0,0 +1,66 @@ package com.ruoyi.system.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @Data @ApiModel("客户填写信息Vo") public class CustomerInfoVo { @ApiModelProperty("法人照片") private String legalPersonImg; @ApiModelProperty("是否需要改名 0不需要 1需要") private Integer needRename; @ApiModelProperty("新名称") private String newName; @ApiModelProperty("备选名称") private String backupsName; @ApiModelProperty("备选名称1") private String backupsNameOne; @ApiModelProperty("备选名称2") private String backupsNameTwo; @ApiModelProperty("注册资本") private String registeredCapital; @ApiModelProperty("1无账户 2变更 3新法人注销 4老法人注销") private Integer accountType; @ApiModelProperty("地址") private String address; @ApiModelProperty("是否迁区0不需要 1要") private Integer newDistrict; @ApiModelProperty("租房合同") private String tenancyAgreement; @ApiModelProperty("房产证") private String propertyOwnershipCertificate; @ApiModelProperty("实名认证账户") private String account; @ApiModelProperty("实名认证密码") private String password; @ApiModelProperty("经营范围") private String businessScope; @ApiModelProperty("备注") private String remark; @ApiModelProperty("创建时间") private Date createTime; @ApiModelProperty("添加天数") private Integer addDay; } ruoyi-system/src/main/java/com/ruoyi/system/vo/GetWithdrawalDetailVo.java
New file @@ -0,0 +1,12 @@ package com.ruoyi.system.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class GetWithdrawalDetailVo { @ApiModelProperty("凭证") private String img; @ApiModelProperty("备注") private String remark; }