xuhy
2025-08-01 b1c60c1fed0536d9e1334bb928934ebe2c77b97b
司机支付宝账号添加
6个文件已添加
439 ■■■■■ 已修改文件
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverAlipayController.java 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/DriverAlipayMapper.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverAlipayMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverAlipay.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverAlipayService.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverAlipayController.java
New file
@@ -0,0 +1,142 @@
package com.stylefeng.guns.modular.api;
import com.stylefeng.guns.modular.system.model.BankCard;
import com.stylefeng.guns.modular.system.model.DriverAlipay;
import com.stylefeng.guns.modular.system.service.IBankCardService;
import com.stylefeng.guns.modular.system.service.IDriverAlipayService;
import com.stylefeng.guns.modular.system.service.IDriverService;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@Api
@RestController
@RequestMapping("/api/driverAlipay")
public class DriverAlipayController {
    @Autowired
    private IDriverAlipayService driverAlipayService;
    @Autowired
    private IDriverService driverService;
    /**
     * 保存支付宝号
     * @param userName
     * @param account
     * @param request
     * @return
     */
    @ResponseBody
    @PostMapping("/saveAlipay")
    @ApiOperation(value = "保存支付宝信息", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "用户姓名", name = "userName", required = true, dataType = "String"),
            @ApiImplicitParam(value = "支付宝号", name = "account", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil saveAlipay(String userName, String account, HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            return driverAlipayService.saveAlipay(userName, account, driverId);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/updateAlipay")
    @ApiOperation(value = "保存支付宝信息", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "支付宝id", name = "id", required = true, dataType = "int"),
            @ApiImplicitParam(value = "用户姓名", name = "userName", required = true, dataType = "String"),
            @ApiImplicitParam(value = "支付宝号", name = "account", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil updateAlipay(Integer id, String userName, String account, HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            return driverAlipayService.updateAlipay(id,userName, account, driverId);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    /**
     * 删除支付宝号
     * @param id
     * @param request
     * @return
     */
    @ResponseBody
    @PostMapping("/delAlipay")
    @ApiOperation(value = "删除支付宝信息", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "支付宝id", name = "id", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil delAlipay(Integer id, HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            return driverAlipayService.delAlipay(id, driverId);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    /**
     * 获取支付宝号列表
     * @param pageNum
     * @param size
     * @param request
     * @return
     */
    @ResponseBody
    @PostMapping("/queryAlipay")
    @ApiOperation(value = "获取支付宝号列表", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
            @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil queryAlipay(Integer pageNum, Integer size, HttpServletRequest request){
        try {
            Integer driverId = driverService.getUserIdFormRedis(request);
            if(null == driverId){
                return ResultUtil.tokenErr();
            }
            List<DriverAlipay> driverAlipays = driverAlipayService.queryAlipay(pageNum, size, driverId);
            return ResultUtil.success(driverAlipays);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
}
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/DriverAlipayMapper.java
New file
@@ -0,0 +1,24 @@
package com.stylefeng.guns.modular.system.dao;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.DriverAlipay;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface DriverAlipayMapper extends BaseMapper<DriverAlipay> {
    /**
     * 查询
     */
    DriverAlipay query(@Param("driverId")Integer driverId, @Param("account")String account);
    /**
     * 查询
     */
    List<DriverAlipay> queryAlipay(@Param("pageNum") Integer pageNum, @Param("size") Integer size,
                                   @Param("driverId") Integer driverId);
}
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverAlipayMapper.xml
New file
@@ -0,0 +1,34 @@
<?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.stylefeng.guns.modular.system.dao.DriverAlipayMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.DriverAlipay">
        <id column="id" property="id"/>
        <result column="userName" property="userName"/>
        <result column="account" property="account"/>
        <result column="driverId" property="driverId"/>
        <result column="createTime" property="createTime"/>
    </resultMap>
    <select id="query" resultType="com.stylefeng.guns.modular.system.model.DriverAlipay">
        select
        id as id,
        userName as userName,
        account as account,
        driverId as driverId,
        createTime as createTime
        from t_driver_alipay where driverId = #{driverId} and account = #{account}
    </select>
    <select id="queryAlipay" resultType="com.stylefeng.guns.modular.system.model.DriverAlipay">
        select
        id as id,
        userName as userName,
        account as account,
        driverId as driverId,
        createTime as createTime
        from t_driver_alipay where driverId = #{driverId} order by createTime DESC limit #{pageNum}, #{size}
    </select>
</mapper>
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverAlipay.java
New file
@@ -0,0 +1,94 @@
package com.stylefeng.guns.modular.system.model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
/**
 * 司机支付宝账号
 */
@TableName("t_driver_alipay")
public class DriverAlipay {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    @TableField("id")
    private Integer id;
    /**
     * 司机id
     * @return
     */
    @TableField("driverId")
    private Integer driverId;
    /**
     * 用户名称
     */
    @TableField("userName")
    private String userName    ;
    /**
     * 支付宝账号
     */
    @TableField("account")
    private String account;
    /**
     * 添加时间
     * @return
     */
    @TableField("createTime")
    private Date createTime;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getDriverId() {
        return driverId;
    }
    public void setDriverId(Integer driverId) {
        this.driverId = driverId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getAccount() {
        return account;
    }
    public void setAccount(String account) {
        this.account = account;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    @Override
    public String toString() {
        return "DriverAlipay{" +
                "id=" + id +
                ", driverId=" + driverId +
                ", userName='" + userName + '\'' +
                ", account='" + account + '\'' +
                ", createTime=" + createTime +
                '}';
    }
}
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverAlipayService.java
New file
@@ -0,0 +1,57 @@
package com.stylefeng.guns.modular.system.service;
import com.baomidou.mybatisplus.service.IService;
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.DriverAlipay;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.warpper.ActivityWarpper;
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
import com.stylefeng.guns.modular.system.warpper.LoginWarpper;
import com.stylefeng.guns.modular.system.warpper.RegisteredWarpper;
import org.apache.ibatis.annotations.Param;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
import java.util.Map;
public interface IDriverAlipayService extends IService<DriverAlipay> {
    /**
     * 保存支付宝信息
     * @param userName
     * @param account
     * @param driverId
     * @return
     */
    ResultUtil saveAlipay(String userName, String account, Integer driverId);
    /**
     * 修改支付宝信息
     * @param id
     * @param userName
     * @param account
     * @param driverId
     * @return
     */
    ResultUtil updateAlipay(Integer id, String userName, String account, Integer driverId);
    /**
     * 删除支付宝信息
     * @param id
     * @param driverId
     * @return
     */
    ResultUtil delAlipay(Integer id, Integer driverId);
    /**
     * 获取支付宝信息列表
     * @param pageNum
     * @param size
     * @param driverId
     * @return
     */
    List<DriverAlipay> queryAlipay(Integer pageNum, Integer size, Integer driverId);
}
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java
New file
@@ -0,0 +1,88 @@
package com.stylefeng.guns.modular.system.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.common.constant.JwtConstants;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.JwtTokenUtil;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import com.stylefeng.guns.modular.system.dao.*;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.warpper.ActivityWarpper;
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
import com.stylefeng.guns.modular.system.warpper.LoginWarpper;
import com.stylefeng.guns.modular.system.warpper.RegisteredWarpper;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
import org.apache.shiro.crypto.hash.Md5Hash;
import org.apache.shiro.util.ByteSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
public class DriverAlipayServiceImpl extends ServiceImpl<DriverAlipayMapper, DriverAlipay> implements IDriverAlipayService {
    @Autowired
    private DriverAlipayMapper driverAlipayMapper;
    @Override
    public ResultUtil saveAlipay(String userName, String account, Integer driverId) {
        DriverAlipay query = driverAlipayMapper.query(driverId, account);
        if(null != query){
            return ResultUtil.error("支付宝账号已存在");
        }
        DriverAlipay driverAlipay = new DriverAlipay();
        driverAlipay.setUserName(userName);
        driverAlipay.setAccount(account);
        driverAlipay.setDriverId(driverId);
        driverAlipay.setCreateTime(new Date());
        this.insert(driverAlipay);
        return ResultUtil.success();
    }
    @Override
    public ResultUtil updateAlipay(Integer id, String userName, String account, Integer driverId) {
        DriverAlipay query = driverAlipayMapper.query(driverId, account);
        if(null != query && !id.equals(query.getId())){
            return ResultUtil.error("支付宝账号已存在");
        }
        DriverAlipay driverAlipay = query;
        driverAlipay.setUserName(userName);
        driverAlipay.setAccount(account);
        driverAlipay.setDriverId(driverId);
        this.updateById(driverAlipay);
        return ResultUtil.success();
    }
    @Override
    public ResultUtil delAlipay(Integer id, Integer driverId) {
        DriverAlipay driverAlipay = this.selectById(id);
        if(driverAlipay.getDriverId().compareTo(driverId) != 0){
            return ResultUtil.error("你无权删除此卡号");
        }
        this.deleteById(id);
        return ResultUtil.success();
    }
    @Override
    public List<DriverAlipay> queryAlipay(Integer pageNum, Integer size, Integer driverId) {
        pageNum = (pageNum - 1) * size;
        return driverAlipayMapper.queryAlipay(pageNum, size, driverId);
    }
}