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