ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/AppFranchiseeController.java
@@ -1,22 +1,39 @@ package com.ruoyi.admin.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.admin.entity.Franchisee; import com.ruoyi.admin.entity.FranchiseeWithdraw; import com.ruoyi.admin.entity.RecoveryServe; import com.ruoyi.admin.entity.TFranchiseeBalanceChange; import com.ruoyi.admin.request.AuditFranchiseeWithdrawDTO; import com.ruoyi.admin.request.FranchiseeWithdrawDTO; import com.ruoyi.admin.service.FranchiseeService; import com.ruoyi.admin.service.TFranchiseeBalanceChangeService; import com.ruoyi.admin.service.TFranchiseeWithdrawService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.admin.request.WithdrawDTO; import com.ruoyi.order.api.entity.Order; import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUserInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; /** * <p> @@ -27,8 +44,8 @@ * @since 2024-06-03 */ @RestController @RequestMapping("/franchisee") @Api(value = "加盟商迭代新增", tags = "加盟商迭代新增") @RequestMapping("/franchiseeWithdraw") @Api(value = "加盟商提现迭代新增", tags = "加盟商提现迭代新增") public class AppFranchiseeController { @@ -38,11 +55,13 @@ private FranchiseeService franchiseeService; @Resource private TFranchiseeBalanceChangeService franchiseeBalanceChangeService; @Resource private TFranchiseeWithdrawService franchiseeWithdrawService; @PostMapping("/applyWithdraw") @ApiOperation(value = "加盟商申请提现", tags = {"提现"}) @ApiOperation(value = "APP-加盟商申请提现", tags = {"提现"}) public R check(@RequestBody WithdrawDTO dto) { LoginUser loginUser = tokenService.getLoginUser(); if (loginUser==null){ @@ -72,12 +91,93 @@ franchiseeWithdraw.setStatus(1); franchiseeWithdraw.setContent(dto.getContent()); franchiseeWithdraw.setMoney(dto.getMoney()); franchiseeWithdraw.setCreateTime(LocalDateTime.now()); franchiseeWithdraw.setUpdateTime(LocalDateTime.now()); franchiseeWithdraw.setCreateTime(new Date()); franchiseeWithdraw.setUpdateTime(new Date()); franchiseeWithdraw.setIsDelete(0); franchiseeWithdrawService.save(franchiseeWithdraw); return R.ok(); } @ApiOperation(value = "APP-加盟商提现记录", tags = {"提现"}) @GetMapping(value = "/franchiseeWithdrawListApp") public R<IPage<FranchiseeWithdraw>> franchiseeWithdrawListApp( @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { LoginUser loginWorker = tokenService.getLoginUser(); if (null == loginWorker) { return R.loginExpire("登录失效!"); } IPage<FranchiseeWithdraw> franchiseeWithdrawList = franchiseeWithdrawService .lambdaQuery().eq(FranchiseeWithdraw::getFranchiseeId, loginWorker.getUserid()) .orderByDesc(FranchiseeWithdraw::getCreateTime) .page(Page.of(pageNum, pageSize)); return R.ok(franchiseeWithdrawList); } @ApiOperation(value = "管理后台-加盟商提现记录", tags = {"提现"}) @PostMapping(value = "/franchiseeWithdrawList") public R<IPage<FranchiseeWithdraw>> franchiseeWithdrawList(@RequestBody FranchiseeWithdrawDTO franchiseeWithdrawDTO) { LoginUser loginWorker = tokenService.getLoginUser(); if (null == loginWorker) { return R.loginExpire("登录失效!"); } LambdaQueryWrapper<FranchiseeWithdraw> franchiseeWithdrawLambdaQueryWrapper = new LambdaQueryWrapper<>(); franchiseeWithdrawLambdaQueryWrapper.eq(FranchiseeWithdraw::getFranchiseeId, loginWorker.getUserid()) .orderByDesc(FranchiseeWithdraw::getCreateTime); if (StringUtils.hasLength(franchiseeWithdrawDTO.getFranchiseeName())){ List<Integer> ids = franchiseeService.lambdaQuery().like(Franchisee::getName, franchiseeWithdrawDTO.getFranchiseeName()).list() .stream().map(Franchisee::getId).collect(Collectors.toList()); if (!ids.isEmpty()){ franchiseeWithdrawLambdaQueryWrapper.in(FranchiseeWithdraw::getFranchiseeId, ids); }else{ franchiseeWithdrawLambdaQueryWrapper.eq(FranchiseeWithdraw::getFranchiseeId, -1); } } if (StringUtils.hasLength(franchiseeWithdrawDTO.getStartTime())){ franchiseeWithdrawLambdaQueryWrapper .between(FranchiseeWithdraw::getCreateTime ,franchiseeWithdrawDTO.getStartTime() , franchiseeWithdrawDTO.getEndTime()); } IPage<FranchiseeWithdraw> franchiseeWithdrawList = franchiseeWithdrawService .page(Page.of(franchiseeWithdrawDTO.getPageNum(), franchiseeWithdrawDTO.getPageSize()), franchiseeWithdrawLambdaQueryWrapper); List<Franchisee> list = franchiseeService.list(); for (FranchiseeWithdraw record : franchiseeWithdrawList.getRecords()) { Franchisee franchisee = list.stream().filter(e -> e.getId().equals(record.getFranchiseeId())).findFirst().orElse(null); if (franchisee!=null){ record.setFranchiseeName(franchisee.getName()); record.setFranchiseePhone(franchisee.getHeadPhone()); } } return R.ok(franchiseeWithdrawList); } @ApiOperation(value = "管理后台-加盟商提现详情", tags = {"提现"}) @GetMapping(value = "/franchiseeWithdrawInfo") public R<FranchiseeWithdraw> franchiseeWithdrawInfo(@RequestParam(name = "id")Integer id) { LoginUser loginWorker = tokenService.getLoginUser(); if (null == loginWorker) { return R.loginExpire("登录失效!"); } FranchiseeWithdraw franchiseeWithdraw = franchiseeWithdrawService.getById(id); Franchisee franchisee = franchiseeService.getById(franchiseeWithdraw.getFranchiseeId()); if (franchisee!=null){ franchiseeWithdraw.setFranchiseePhone(franchisee.getHeadPhone()); franchiseeWithdraw.setFranchiseeName(franchisee.getName()); } return R.ok(franchiseeWithdraw); } @ApiOperation(value = "管理后台-加盟商提现详情", tags = {"提现"}) @PostMapping(value = "/auditFranchiseeWithdraw") public R auditFranchiseeWithdraw(@RequestBody AuditFranchiseeWithdrawDTO auditFranchiseeWithdrawDTO) { LoginUser loginWorker = tokenService.getLoginUser(); if (null == loginWorker) { return R.loginExpire("登录失效!"); } FranchiseeWithdraw franchiseeWithdraw = franchiseeWithdrawService.getById(auditFranchiseeWithdrawDTO.getId()); franchiseeWithdraw.setStatus(auditFranchiseeWithdrawDTO.getStatus()); franchiseeWithdraw.setResult(auditFranchiseeWithdrawDTO.getResult()); franchiseeWithdraw.setImg(auditFranchiseeWithdrawDTO.getImg()); franchiseeWithdrawService.updateById(franchiseeWithdraw); return R.ok(); } } ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/FranchiseeWithdraw.java
@@ -1,7 +1,10 @@ package com.ruoyi.admin.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -12,47 +15,40 @@ @Data @ApiModel(description = "加盟商提现记录表") public class FranchiseeWithdraw { public class FranchiseeWithdraw extends BaseEntity { @ApiModelProperty(value = "主键ID") private Long id; @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty(value = "加盟商余额明细记录id") @TableField("changeId") private Integer changeId; @ApiModelProperty(value = "加盟商id") @TableField("franchiseeId") private Integer franchiseeId; @ApiModelProperty(value = "状态1待审核 2已通过 3已驳回") @TableField("status") private Integer status; @ApiModelProperty(value = "申请原因") @TableField("content") private String content; @ApiModelProperty(value = "金额") @TableField("money") private BigDecimal money; @ApiModelProperty(value = "结果说明") @TableField("result") private String result; @ApiModelProperty(value = "凭证") @TableField("img") private String img; @ApiModelProperty(value = "加盟商名称") @TableField(exist = false) private String franchiseeName; @ApiModelProperty(value = "加盟商手机号") @TableField(exist = false) private String franchiseePhone; @ApiModelProperty(value = "创建人") private String createBy; @ApiModelProperty(value = "操作人") private String updateBy; @TableField("createTime") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") private LocalDateTime createTime; @ApiModelProperty(value = "修改时间") @TableField("updateTime") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; @ApiModelProperty(value = "是否删除 0未删除;1已删除") private Integer isDelete; } ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/mapper/FranchiseeWithdrawMapper.java
New file @@ -0,0 +1,17 @@ package com.ruoyi.admin.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.admin.entity.Agreement; import com.ruoyi.admin.entity.FranchiseeWithdraw; /** * <p> * 协议政策、司机操作指导 Mapper 接口 * </p> * * @author hjl * @since 2024-05-29 */ public interface FranchiseeWithdrawMapper extends BaseMapper<FranchiseeWithdraw> { } ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/AuditFranchiseeWithdrawDTO.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.admin.request; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @author HJL * @version 1.0 * @since 2024-07-09 18:10 */ @Data @ApiModel("审核加盟商提现DTO") public class AuditFranchiseeWithdrawDTO { @ApiModelProperty("id") private Integer id; @ApiModelProperty("状态 2审核通过 3驳回") private Integer status; @ApiModelProperty("结果说明") private String result; @ApiModelProperty("凭证 多个逗号拼接") private String img; } ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/FranchiseeWithdrawDTO.java
New file @@ -0,0 +1,30 @@ package com.ruoyi.admin.request; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @author HJL * @version 1.0 * @since 2024-07-09 18:10 */ @Data @ApiModel("加盟商提现分页查询DTO") public class FranchiseeWithdrawDTO { @ApiModelProperty("分页参数") private Integer pageNum; @ApiModelProperty("分页参数") private Integer pageSize; @ApiModelProperty("加盟商名称") private String franchiseeName; @ApiModelProperty("申请开始时间yyyy-MM-dd HH:mm:ss") private String startTime; @ApiModelProperty("申请结束时间yyyy-MM-dd HH:mm:ss") private String endTime; @ApiModelProperty("加盟商ids 前端忽略") private List<Integer> franchiseeIds; } ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/TFranchiseeWithdrawService.java
New file @@ -0,0 +1,21 @@ package com.ruoyi.admin.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.admin.entity.Agreement; import com.ruoyi.admin.entity.FranchiseeWithdraw; import com.ruoyi.common.core.domain.R; /** * <p> * 协议政策、司机操作指导 服务类 * </p> * * @author hjl * @since 2024-05-29 */ public interface TFranchiseeWithdrawService extends IService<FranchiseeWithdraw> { Page<FranchiseeWithdraw> franchiseeWithdrawList(Integer userid, Integer pageNum, Integer pageSize); } ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/FranchiseeWithdrawServiceImpl.java
New file @@ -0,0 +1,33 @@ package com.ruoyi.admin.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.admin.entity.Agreement; import com.ruoyi.admin.entity.FranchiseeWithdraw; import com.ruoyi.admin.mapper.AgreementMapper; import com.ruoyi.admin.mapper.FranchiseeWithdrawMapper; import com.ruoyi.admin.service.AgreementService; import com.ruoyi.admin.service.TFranchiseeWithdrawService; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * <p> * 协议政策、司机操作指导 服务实现类 * </p> * * @author hjl * @since 2024-05-29 */ @Service public class FranchiseeWithdrawServiceImpl extends ServiceImpl<FranchiseeWithdrawMapper, FranchiseeWithdraw> implements TFranchiseeWithdrawService { @Override public Page<FranchiseeWithdraw> franchiseeWithdrawList(Integer userid, Integer pageNum, Integer pageSize) { return null; } } ruoyi-service/ruoyi-admin/src/main/resources/mapper/admin/FranchiseeWithdrawMapper.xml
New file @@ -0,0 +1,7 @@ <?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.ruoyi.admin.mapper.FranchiseeWithdrawMapper"> </mapper>