From b1c60c1fed0536d9e1334bb928934ebe2c77b97b Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 01 八月 2025 16:01:10 +0800
Subject: [PATCH] 司机支付宝账号添加

---
 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverAlipayController.java                  |  142 +++++++++++++++++
 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverAlipayService.java         |   57 +++++++
 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverAlipay.java                   |   94 +++++++++++
 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/DriverAlipayMapper.java               |   24 +++
 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java |   88 +++++++++++
 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverAlipayMapper.xml        |   34 ++++
 6 files changed, 439 insertions(+), 0 deletions(-)

diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverAlipayController.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverAlipayController.java
new file mode 100644
index 0000000..fca7161
--- /dev/null
+++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverAlipayController.java
@@ -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();
+        }
+    }
+
+}
diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/DriverAlipayMapper.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/DriverAlipayMapper.java
new file mode 100644
index 0000000..ed2569a
--- /dev/null
+++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/DriverAlipayMapper.java
@@ -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);
+
+}
diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverAlipayMapper.xml b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverAlipayMapper.xml
new file mode 100644
index 0000000..71665d5
--- /dev/null
+++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverAlipayMapper.xml
@@ -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>
\ No newline at end of file
diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverAlipay.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverAlipay.java
new file mode 100644
index 0000000..8925a46
--- /dev/null
+++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/DriverAlipay.java
@@ -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 +
+                '}';
+    }
+}
diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverAlipayService.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverAlipayService.java
new file mode 100644
index 0000000..ecfec97
--- /dev/null
+++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverAlipayService.java
@@ -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);
+
+}
diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java
new file mode 100644
index 0000000..7afd8c7
--- /dev/null
+++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java
@@ -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);
+    }
+}

--
Gitblit v1.7.1