puzhibing
2023-07-20 1f2d9d3b687b80965412f0dd9410dc5c2cc3202d
更新代码
16个文件已修改
516 ■■■■■ 已修改文件
UserIGOTravel/guns-admin/pom.xml 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/resources/application.yml 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/test/java/com/stylefeng/guns/TestGunsApplication.java 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/pom.xml
@@ -68,17 +68,17 @@
            <version>2.11.3</version>
        </dependency>
        <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
            <!--<scope>provided</scope>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>javax.servlet</groupId>-->
            <!--<artifactId>javax.servlet-api</artifactId>-->
            <!--<version>3.1.0</version>-->
            <!--<scope>provided</scope>-->
        <!--</dependency>-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <!--shiro依赖-->
@@ -214,26 +214,26 @@
    <build>
        <!--打包jar包方式-->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork><!-- 如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart -->
                </configuration>
            </plugin>
        </plugins>
        <!--打包war包引入本地jar的打包方式-->
        <!--<plugins>-->
            <!--<plugin>-->
                <!--<groupId>org.apache.maven.plugins</groupId>-->
                <!--<artifactId>maven-war-plugin</artifactId>-->
                <!--<groupId>org.springframework.boot</groupId>-->
                <!--<artifactId>spring-boot-maven-plugin</artifactId>-->
                <!--<configuration>-->
                    <!--&lt;!&ndash; 设置成false,否则检查web.xml是否存在。因为springboot是没有web.xml的 &ndash;&gt;-->
                    <!--<failOnMissingWebXml>false</failOnMissingWebXml>-->
                    <!--&lt;!&ndash;打包后的项目名&ndash;&gt;-->
                    <!--&lt;!&ndash;<warName>example</warName>&ndash;&gt;-->
                    <!--<fork>true</fork>&lt;!&ndash; 如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart &ndash;&gt;-->
                <!--</configuration>-->
            <!--</plugin>-->
        <!--</plugins>-->
        <!--打包war包引入本地jar的打包方式-->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <!-- 设置成false,否则检查web.xml是否存在。因为springboot是没有web.xml的 -->
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <!--打包后的项目名-->
                    <!--<warName>example</warName>-->
                    <!--<webResources>-->
                        <!--<resource>-->
                            <!--&lt;!&ndash;把本地lib里面的jar复制到lib&ndash;&gt;-->
@@ -244,9 +244,9 @@
                            <!--</includes>-->
                        <!--</resource>-->
                    <!--</webResources>-->
                <!--</configuration>-->
            <!--</plugin>-->
        <!--</plugins>-->
                </configuration>
            </plugin>
        </plugins>
        <resources>
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -532,7 +532,7 @@
     */
    @ResponseBody
    @PostMapping("/api/user/queryUserInfo")
    @ApiOperation(value = "获取用户详情【1.0】", tags = {"用户端-个人中心"}, notes = "")
    @ApiOperation(value = "获取用户详情【1.1】", tags = {"用户端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
@@ -1059,7 +1059,7 @@
    @ResponseBody
    @PostMapping("/api/user/addBankCard")
    @PostMapping("/api/user/delBankCard")
    @ApiOperation(value = "删除银行卡【1.1】", tags = {"用户端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "银行卡id", name = "id", required = true, dataType = "int"),
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
@@ -45,16 +45,17 @@
    @ApiOperation(value = "账户余额提现【1.1】", tags = {"用户端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "提现金额", name = "money", required = true, dataType = "double"),
            @ApiImplicitParam(value = "备注", name = "remark", required = true, dataType = "String"),
            @ApiImplicitParam(value = "语言类型(1=简体中文,2=英语,3=法语)", name = "language", required = false, dataType = "int"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil withdrawal(Double money, Integer language, HttpServletRequest request){
    public ResultUtil withdrawal(Double money, String remark, Integer language, HttpServletRequest request){
        try {
            Integer uid = userInfoService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return withdrawalService.withdrawal(money, uid, language);
            return withdrawalService.withdrawal(money, uid, remark, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml
@@ -321,7 +321,7 @@
        a.payMoney as payMoney,
        a.remark as remark,
        b.headImgUrl as driverAvatar,
        b.`name` as driverName,
        CONCAT(b.firstName, " ", b.lastName) as driverName,
        c.carLicensePlate as licensePlate,
        c.carColor as carColor,
        CONCAT(f.`name`, d.`name`) as brand,
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
@@ -242,7 +242,7 @@
        a.payMoney as payMoney,
        a.remark as remark,
        b.headImgUrl as driverAvatar,
        b.`name` as driverName,
        CONCAT(b.firstName, " ", b.lastName) as driverName,
        c.carLicensePlate as licensePlate,
        c.carColor as carColor,
        CONCAT(f.`name`, d.`name`) as brand,
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -476,7 +476,7 @@
    public ResultUtil payLogisticsOrder(Integer payType, Integer bankCardId, Integer orderId, Integer type, Integer language) throws Exception {
        OrderLogistics orderLogistics = this.selectById(orderId);
        if(orderLogistics.getState() != 7){
            return ResultUtil.error("订单已完成支付,不允许重复支付");
            return ResultUtil.error("订单已完成支付,不允许重复支付", "");
        }
        Integer uid = orderLogistics.getUserId();
        Double orderMoney = orderLogistics.getOrderMoney();
@@ -484,7 +484,7 @@
            orderMoney += null != orderLogistics.getTipMoney() ? orderLogistics.getTipMoney() : 0;
        }
        UserInfo userInfo = userInfoService.selectById(uid);
        ResultUtil resultUtil = ResultUtil.success();
        ResultUtil resultUtil = ResultUtil.success("");
        if(payType == 1) {//手机支付
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
@@ -500,13 +500,13 @@
            checkoutRequest.setRequestDescription("Travel completion payment");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
            checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
            if(resultUtil.getCode()==200){
                paymentRecordService.saveData(1, null, null, orderId, 4, 1, orderMoney, null, 1);//添加预支付数据
            }else{
                resultUtil = ResultUtil.error("支付失败");
                resultUtil = ResultUtil.error("支付失败", "");
            }
            return resultUtil;
        }
@@ -526,21 +526,21 @@
            checkoutRequest.setRequestDescription("Travel completion payment");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
            checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
            if(resultUtil.getCode()==200){
                paymentRecordService.saveData(1, null, null, orderId, 4, 2, orderMoney, null, 1);//添加预支付数据
            }else{
                resultUtil = ResultUtil.error("支付失败");
                resultUtil = ResultUtil.error("支付失败", "");
            }
            return resultUtil;
        }
        if(payType == 3){//余额支付
            if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant", "");
            }
            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -776,8 +776,8 @@
            checkoutRequest.setRequestDescription("Travel completion payment");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderLogisticsSpread");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
            checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            return TinggPayUtil.checkoutRequest(checkoutRequest);
        }
        if(payType == 2){//银行卡支付
@@ -795,8 +795,8 @@
            checkoutRequest.setRequestDescription("Travel completion payment");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderLogisticsSpread");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
            checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            return TinggPayUtil.checkoutRequest(checkoutRequest);
        }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
@@ -419,7 +419,7 @@
        a.reassignNotice as reassignNotice,
        a.oldState as oldState,
        b.headImgUrl as driverAvatar,
        b.`name` as driverName,
        CONCAT(b.firstName, " ", b.lastName) as driverName,
        c.carLicensePlate as licensePlate,
        c.carColor as carColor,
        CONCAT(f.`name`, d.`name`) as brand,
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -635,8 +635,8 @@
                checkoutRequest.setRequestDescription("Cancel a trip");
                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
                checkoutRequest.setPendingRedirectUrl("");
                checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
                checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
                checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
                checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
                if(resultUtil.getCode()==200){
                    paymentRecordService.saveData(1, null, null, id, 1, 1, query.getMoney(), null, 1);//添加预支付数据
@@ -660,8 +660,8 @@
                checkoutRequest.setRequestDescription("Cancel a trip");
                checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi");
                checkoutRequest.setPendingRedirectUrl("");
                checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
                checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
                checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
                checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
                resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
                if(resultUtil.getCode()==200){
                    paymentRecordService.saveData(1, null, null, id, 1, 2, query.getMoney(), null, 1);//添加预支付数据
@@ -830,15 +830,15 @@
    public ResultUtil payPrivateCarOrder(Integer payType, Integer bankCardId, Integer orderId, Integer couponId, Integer type, Integer language) throws Exception {
        OrderPrivateCar orderPrivateCar = this.selectById(orderId);
        if(orderPrivateCar.getState() == 8 || orderPrivateCar.getState() == 9){
            return ResultUtil.error("订单已完成支付,不允许重复支付");
            return ResultUtil.error("订单已完成支付,不允许重复支付", "");
        }
        if(orderPrivateCar.getState() != 7){
            return ResultUtil.error("订单不在待支付状态,不允许支付");
            return ResultUtil.error("订单不在待支付状态,不允许支付", "");
        }
        Integer uid = orderPrivateCar.getUserId();
        Double orderMoney = orderPrivateCar.getOrderMoney();
        UserInfo userInfo = userInfoService.selectById(uid);
        ResultUtil resultUtil = ResultUtil.success();
        ResultUtil resultUtil = ResultUtil.success("");
        orderPrivateCar.setCouponMoney(0D);//初始化历史数据
        orderPrivateCar.setCouponId(null);
@@ -847,19 +847,19 @@
        if(null != couponId){
            userCouponRecord = userCouponRecordService.selectById(couponId);
            if(userCouponRecord.getCompanyId() != orderPrivateCar.getCompanyId()){
                return ResultUtil.error("优惠券不能用于此订单");
                return ResultUtil.error("优惠券不能用于此订单", "");
            }
            if(userCouponRecord.getState() == 2){
                return ResultUtil.error("优惠券已使用");
                return ResultUtil.error("优惠券已使用", "");
            }
            if(userCouponRecord.getState() == 3){
                return ResultUtil.error("优惠券已过期");
                return ResultUtil.error("优惠券已过期", "");
            }
            if(userCouponRecord.getCouponUseType() != 0 && userCouponRecord.getCouponUseType() != 1){
                return ResultUtil.error("优惠券不能用于此类型订单");
                return ResultUtil.error("优惠券不能用于此类型订单", "");
            }
            if(userCouponRecord.getCouponType() == 2 && orderMoney.compareTo(userCouponRecord.getFullMoney()) < 0){
                return ResultUtil.error("优惠券不能用于此订单");
                return ResultUtil.error("优惠券不能用于此订单", "");
            }
            orderMoney = orderMoney - userCouponRecord.getMoney();
            orderPrivateCar.setCouponMoney(userCouponRecord.getMoney());
@@ -905,14 +905,14 @@
            checkoutRequest.setRequestDescription("Travel completion payment");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
            checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
            if(resultUtil.getCode()==200){
                paymentRecordService.saveData(1, null, null, orderId, 1, 1, orderMoney, null, 1);//添加预支付数据
            }else{
                resultUtil = ResultUtil.error("支付失败");
                resultUtil = ResultUtil.error("支付失败", "");
            }
        }
@@ -931,19 +931,19 @@
            checkoutRequest.setRequestDescription("Travel completion payment");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxPayOrderTaxi");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
            checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest);
            if(resultUtil.getCode()==200){
                paymentRecordService.saveData(1, null, null, orderId, 1, 2, orderMoney, null, 1);//添加预支付数据
            }else{
                resultUtil = ResultUtil.error("支付失败");
                resultUtil = ResultUtil.error("支付失败", "");
            }
        }
        if(payType == 3){//余额支付
            if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant");
                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant", "");
            }
            userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -8,8 +8,10 @@
        <result column="account" property="account" />
        <result column="jobNumber" property="jobNumber" />
        <result column="phone" property="phone" />
        <result column="phoneOperator" property="phoneOperator" />
        <result column="password" property="password" />
        <result column="name" property="name" />
        <result column="lastName" property="lastName" />
        <result column="firstName" property="firstName" />
        <result column="sex" property="sex" />
        <result column="idCard" property="idCard" />
        <result column="companyId" property="companyId" />
@@ -86,8 +88,10 @@
        account as account,
        jobNumber as jobNumber,
        phone as phone,
        phoneOperator as phoneOperator,
        password as password,
        name as name,
        lastName as lastName,
        firstName as firstName,
        sex as sex,
        idCard as idCard,
        companyId as companyId,
@@ -175,8 +179,10 @@
        account as account,
        jobNumber as jobNumber,
        phone as phone,
        phoneOperator as phoneOperator,
        password as password,
        name as name,
        lastName as lastName,
        firstName as firstName,
        sex as sex,
        idCard as idCard,
        companyId as companyId,
@@ -272,7 +278,7 @@
        b.id as orderId,
        b.state as state,
        a.id as driverId,
        a.`name` as `name`,
        CONCAT(a.firstName, " ", a.lastName) as `name`,
        a.headImgUrl as avatar,
        case when b.telX is null then a.phone else b.telX end as phone,
        c.carLicensePlate as carCode,
@@ -314,7 +320,7 @@
        select
        a.id as id,
        a.headImgUrl as avatar,
        a.`name` as `name`,
        CONCAT(a.firstName, " ", a.lastName) as as `name`,
        a.phone as phone,
        a.idCard as idcode,
        b.carLicensePlate as licensePlate,
@@ -343,7 +349,7 @@
        select
            id as id,
            phone as phone,
            name as name,
            CONCAT(firstName, " ", lastName) as as name,
            headImgUrl as avatar,
            DATE_FORMAT(insertTime,'%Y/%m/%d %H:%i') as insertTime
        from
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import java.math.BigDecimal;
import java.util.Date;
/**
@@ -26,15 +27,30 @@
    @TableField("phone")
    private String phone;
    /**
     * 手机号运营商
     */
    @TableField("phoneOperator")
    private String phoneOperator;
    /**
     * 登录密码
     */
    @TableField("password")
    private String password;
    /**
     * 姓名
     * 提现密码
     */
    @TableField("name")
    private String name;
    @TableField("withdrawPassword")
    private String withdrawPassword;
    /**
     * 姓
     */
    @TableField("lastName")
    private String lastName;
    /**
     * 名
     */
    @TableField("firstName")
    private String firstName;
    /**
     * 性别(1=男,2=女)
     */
@@ -131,6 +147,11 @@
    @TableField("driverContactAddress")
    private String driverContactAddress;
    /**
     * 通信地址(带分隔符)
     */
    @TableField("driverContactAddress_")
    private String driverContactAddress_;
    /**
     * 驾龄
     */
    @TableField("driverAge")
@@ -150,6 +171,11 @@
     */
    @TableField("driveCardImgUrl2")
    private String driveCardImgUrl2;
    /**
     * 邮箱
     */
    @TableField("email")
    private String email;
    /**
     * 准驾车型
     */
@@ -261,6 +287,11 @@
    @TableField("emergencyContactAddress")
    private String emergencyContactAddress;
    /**
     * 从业地(带分隔符)
     */
    @TableField("placeOfPractice")
    private String placeOfPractice;
    /**
     * 备注
     */
    @TableField("remark")
@@ -275,6 +306,11 @@
     */
    @TableField("carId")
    private Integer carId;
    /**
     * 语言(1=简体中文,2=英语,3=法语)
     */
    @TableField("language")
    private Integer language;
    /**
     * 审核状态(1=待审核,2=正常,3=冻结,4=拒绝)
     */
@@ -326,11 +362,24 @@
     */
    @TableField("appletsOpenId")
    private String appletsOpenId;
    private String qrCode;
    /**
     * 邮件
     *分享用户id
     */
    @TableField("email")
    private String email;
    @TableField("uid")
    private Integer uid;
    /**
     *分享用户类型1:乘客,2:司机
     */
    @TableField("uType")
    private Integer uType;
    /**
     * 冻结金额
     */
    private BigDecimal frozenMoney;
    public String getAccount() {
        return account;
@@ -356,6 +405,14 @@
        this.phone = phone;
    }
    public String getPhoneOperator() {
        return phoneOperator;
    }
    public void setPhoneOperator(String phoneOperator) {
        this.phoneOperator = phoneOperator;
    }
    public String getPassword() {
        return password;
    }
@@ -364,12 +421,28 @@
        this.password = password;
    }
    public String getName() {
        return name;
    public String getWithdrawPassword() {
        return withdrawPassword;
    }
    public void setName(String name) {
        this.name = name;
    public void setWithdrawPassword(String withdrawPassword) {
        this.withdrawPassword = withdrawPassword;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public Integer getSex() {
@@ -394,6 +467,14 @@
    public void setCompanyId(Integer companyId) {
        this.companyId = companyId;
    }
    public Integer getFranchiseeId() {
        return franchiseeId;
    }
    public void setFranchiseeId(Integer franchiseeId) {
        this.franchiseeId = franchiseeId;
    }
    public String getHeadImgUrl() {
@@ -516,6 +597,14 @@
        this.driverContactAddress = driverContactAddress;
    }
    public String getDriverContactAddress_() {
        return driverContactAddress_;
    }
    public void setDriverContactAddress_(String driverContactAddress_) {
        this.driverContactAddress_ = driverContactAddress_;
    }
    public Integer getDriverAge() {
        return driverAge;
    }
@@ -546,6 +635,14 @@
    public void setDriveCardImgUrl2(String driveCardImgUrl2) {
        this.driveCardImgUrl2 = driveCardImgUrl2;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getDriverType() {
@@ -594,6 +691,14 @@
    public void setTaxiAptitudeCard(String taxiAptitudeCard) {
        this.taxiAptitudeCard = taxiAptitudeCard;
    }
    public String getNetworkCarlssueImg() {
        return networkCarlssueImg;
    }
    public void setNetworkCarlssueImg(String networkCarlssueImg) {
        this.networkCarlssueImg = networkCarlssueImg;
    }
    public String getNetworkCarlssueOrganization() {
@@ -716,6 +821,14 @@
        this.emergencyContactAddress = emergencyContactAddress;
    }
    public String getPlaceOfPractice() {
        return placeOfPractice;
    }
    public void setPlaceOfPractice(String placeOfPractice) {
        this.placeOfPractice = placeOfPractice;
    }
    public String getRemark() {
        return remark;
    }
@@ -740,6 +853,14 @@
        this.carId = carId;
    }
    public Integer getLanguage() {
        return language;
    }
    public void setLanguage(Integer language) {
        this.language = language;
    }
    public Integer getAuthState() {
        return authState;
    }
@@ -754,14 +875,6 @@
    public void setState(Integer state) {
        this.state = state;
    }
    public String getNetworkCarlssueImg() {
        return networkCarlssueImg;
    }
    public void setNetworkCarlssueImg(String networkCarlssueImg) {
        this.networkCarlssueImg = networkCarlssueImg;
    }
    public Integer getAddType() {
@@ -812,14 +925,6 @@
        this.laveBusinessMoney = laveBusinessMoney;
    }
    public Integer getFranchiseeId() {
        return franchiseeId;
    }
    public void setFranchiseeId(Integer franchiseeId) {
        this.franchiseeId = franchiseeId;
    }
    public String getAppletsOpenId() {
        return appletsOpenId;
    }
@@ -828,76 +933,35 @@
        this.appletsOpenId = appletsOpenId;
    }
    public String getEmail() {
        return email;
    public String getQrCode() {
        return qrCode;
    }
    public void setEmail(String email) {
        this.email = email;
    public void setQrCode(String qrCode) {
        this.qrCode = qrCode;
    }
    @Override
    public String toString() {
        return "Driver{" +
                "account='" + account + '\'' +
                ", jobNumber='" + jobNumber + '\'' +
                ", phone='" + phone + '\'' +
                ", password='" + password + '\'' +
                ", name='" + name + '\'' +
                ", sex=" + sex +
                ", idCard='" + idCard + '\'' +
                ", companyId=" + companyId +
                ", franchiseeId=" + franchiseeId +
                ", headImgUrl='" + headImgUrl + '\'' +
                ", faceImgUrl='" + faceImgUrl + '\'' +
                ", idCardImgUrl1='" + idCardImgUrl1 + '\'' +
                ", idCardImgUrl2='" + idCardImgUrl2 + '\'' +
                ", placeOfEmployment='" + placeOfEmployment + '\'' +
                ", birthday=" + birthday +
                ", bankCardNumber='" + bankCardNumber + '\'' +
                ", driverNationality='" + driverNationality + '\'' +
                ", driverNation='" + driverNation + '\'' +
                ", driverMaritalStatus=" + driverMaritalStatus +
                ", driverLanguageLevel='" + driverLanguageLevel + '\'' +
                ", driverEducation='" + driverEducation + '\'' +
                ", driverCensus='" + driverCensus + '\'' +
                ", driverAddress='" + driverAddress + '\'' +
                ", driverContactAddress='" + driverContactAddress + '\'' +
                ", driverAge=" + driverAge +
                ", driveCard='" + driveCard + '\'' +
                ", driverType='" + driverType + '\'' +
                ", getDriverLicenseDate=" + getDriverLicenseDate +
                ", driverLicenseOn=" + driverLicenseOn +
                ", driverLicenseOff=" + driverLicenseOff +
                ", taxiDriver=" + taxiDriver +
                ", taxiAptitudeCard='" + taxiAptitudeCard + '\'' +
                ", networkCarlssueImg='" + networkCarlssueImg + '\'' +
                ", networkCarlssueOrganization='" + networkCarlssueOrganization + '\'' +
                ", networkCarlssueDate=" + networkCarlssueDate +
                ", getNetworkCarProofDate=" + getNetworkCarProofDate +
                ", networkCarProofOn=" + networkCarProofOn +
                ", networkCarProofOff=" + networkCarProofOff +
                ", registerDate=" + registerDate +
                ", fullTimeDriver=" + fullTimeDriver +
                ", inDriverBlacklist=" + inDriverBlacklist +
                ", commercialType=" + commercialType +
                ", contractCompany='" + contractCompany + '\'' +
                ", contractOn=" + contractOn +
                ", contractOff=" + contractOff +
                ", emergencyContact='" + emergencyContact + '\'' +
                ", emergencyContactPhone='" + emergencyContactPhone + '\'' +
                ", emergencyContactAddress='" + emergencyContactAddress + '\'' +
                ", remark='" + remark + '\'' +
                ", isPlatCar=" + isPlatCar +
                ", carId=" + carId +
                ", authState=" + authState +
                ", state=" + state +
                ", addType=" + addType +
                ", balance=" + balance +
                ", activityMoney=" + activityMoney +
                ", laveActivityMoney=" + laveActivityMoney +
                ", businessMoney=" + businessMoney +
                ", laveBusinessMoney=" + laveBusinessMoney +
                '}';
    public Integer getUid() {
        return uid;
    }
    public void setUid(Integer uid) {
        this.uid = uid;
    }
    public Integer getuType() {
        return uType;
    }
    public void setuType(Integer uType) {
        this.uType = uType;
    }
    public BigDecimal getFrozenMoney() {
        return frozenMoney;
    }
    public void setFrozenMoney(BigDecimal frozenMoney) {
        this.frozenMoney = frozenMoney;
    }
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java
@@ -16,7 +16,7 @@
     * @param uid
     * @throws Exception
     */
    ResultUtil withdrawal(Double money, Integer uid, Integer language) throws Exception;
    ResultUtil withdrawal(Double money, Integer uid, String remark, Integer language) throws Exception;
    /**
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -272,7 +272,7 @@
                            document1.getElementById("rewardToday").attr("style", "display: none;");
                            Element user_user = document1.getElementById("user_user");
                            user_user.text("您好 " + driver.getName() + ",");
                            user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ",");
                            Element user_content = document1.getElementById("user_content");
                            user_content.text("您已成功邀请一位用户注册I-GO,获得奖励GHS " + bigDecimal.doubleValue() + ",请查收");
                        }
@@ -287,7 +287,7 @@
                            document1.getElementById("rewardToday1").attr("style", "display: none;");
                            Element user1_user = document1.getElementById("user1_user");
                            user1_user.text("Hello " + driver.getName() + ",");
                            user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ",");
                            Element user1_content = document1.getElementById("user1_content");
                            user1_content.text("You have succeeded to invite a rider to register with I-GO, so you received a GHS " + bigDecimal.doubleValue() + " bonus, please check your balance.");
                        }
@@ -302,7 +302,7 @@
                            document1.getElementById("rewardToday1").attr("style", "display: none;");
                            Element user2_user = document1.getElementById("user2_user");
                            user2_user.text("Bonjour " + driver.getName() + ",");
                            user2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ",");
                            Element user2_content = document1.getElementById("user2_content");
                            user2_content.text("Vous avez invité avec succès un utilisateur à s’inscrire à i-go pour recevoir une récompense GHS " + bigDecimal.doubleValue() + ". Veuillez vérifier");
                        }
@@ -1106,7 +1106,7 @@
    public ResultUtil depositBalance(Integer payType, String bankCardId, Double money, Integer uid, Integer type, Integer language) throws Exception {
        UserInfo userInfo = userInfoMapper.selectById(uid);
        if(money.compareTo(0D) <= 0){
            return ResultUtil.error("支付金额必须大于0元");
            return ResultUtil.error("支付金额必须大于0元", "");
        }
        if(payType == 1){//手机支付
            Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据
@@ -1124,8 +1124,8 @@
            checkoutRequest.setRequestDescription("Account top-up");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
            checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            return TinggPayUtil.checkoutRequest(checkoutRequest);
        }
@@ -1145,11 +1145,11 @@
            checkoutRequest.setRequestDescription("Account top-up");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
            checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            return TinggPayUtil.checkoutRequest(checkoutRequest);
        }
        return ResultUtil.success();
        return ResultUtil.success("");
    }
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
@@ -48,7 +48,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil withdrawal(Double money, Integer uid, Integer language) throws Exception {
    public ResultUtil withdrawal(Double money, Integer uid, String remark, Integer language) throws Exception {
        language = userInfoService.queryLanguage(uid, language);
        if(money.compareTo(0D) <= 0){
            return ResultUtil.error(language == 1 ? "提现金额必须大于0" : language == 2 ? "Withdrawal amount must be greater than 0" : "Le montant du retrait doit être supérieur à 0");
@@ -67,6 +67,7 @@
        withdrawal.setBankName(userInfo.getPhoneOperator());
        withdrawal.setFlag(1);
        withdrawal.setInsertTime(new Date());
        withdrawal.setRemark(remark);
        withdrawal.setMoney(money);
        withdrawal.setName(userInfo.getFirstName() + " " + userInfo.getLastName());
        withdrawal.setState(1);
@@ -92,7 +93,7 @@
    @Override
    public List<Map<String, Object>> queryWithdrawal(Integer uid, Integer pageNum, Integer size, Integer language) throws Exception {
        pageNum = (pageNum - 1) * size;
        String name = language == 1 ? "手机号:" : language == 2 ? "Phone number:" : "Numéro de portable:";
        String name = language == 1 ? "手机号:" : language == 2 ? "Phone number:" : "Numéro de portable:";
        List<Map<String, Object>> list = withdrawalMapper.queryWithdrawal(uid, 1, pageNum, size);
        for (Map<String, Object> map : list) {
            map.put("name", name + map.get("code"));
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml
@@ -225,7 +225,7 @@
        a.reassignNotice as reassignNotice,
        a.oldState as oldState,
        b.headImgUrl as driverAvatar,
        b.`name` as driverName,
        CONCAT(b.firstName, " ", b.lastName) as driverName,
        c.carLicensePlate as licensePlate,
        c.carColor as carColor,
        CONCAT(f.`name`, d.`name`) as brand,
UserIGOTravel/guns-admin/src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 82
  port: 8006
guns:
  swagger-open: true              #是否开启swagger (true/false)
@@ -13,8 +13,8 @@
  application:
    name: user-server
  profiles:
    active: dev
#    active: produce
#    active: dev
    active: produce
  mvc:
    static-path-pattern: /static/**
    view:
@@ -50,24 +50,24 @@
  base-package: com.stylefeng.guns.modular
#spring:
#  datasource:
#    url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
#    username: root
#    password: HjKbXilb9zajmXbl
#    db-name: guns #用来搜集数据库的所有表
#    filters: wall,mergeStat
################# 测试环境 ###################
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: 123456
    password: HjKbXilb9zajmXbl
    db-name: guns #用来搜集数据库的所有表
    filters: wall,mergeStat
################# 测试环境 ###################
#spring:
#  datasource:
#    url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
#    username: root
#    password: 123456
#    db-name: guns #用来搜集数据库的所有表
#    filters: wall,mergeStat
#多数据源情况的配置
guns:
  muti-datasource:
UserIGOTravel/guns-admin/src/test/java/com/stylefeng/guns/TestGunsApplication.java
@@ -1,26 +1,26 @@
package com.stylefeng.guns;
import com.stylefeng.guns.modular.system.util.Tingg.TinggPayoutUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/**
 * @author zhibing.pu
 * @date 2023/3/17 11:27
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestGunsApplication {
    @Autowired
    private TinggPayoutUtil tinggPayoutUtil;
    @Test
    public void test(){
        tinggPayoutUtil.sendPayout("GH-MTN-B2C", "+233277211131", "00007", 1D, "https://10pz685243.zicp.fun/base/IGO/tinggPayoutCallback", "Transfer remittance");
    }
}
//package com.stylefeng.guns;
//
//import com.stylefeng.guns.modular.system.util.Tingg.TinggPayoutUtil;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.test.context.junit4.SpringRunner;
//
///**
// * @author zhibing.pu
// * @date 2023/3/17 11:27
// */
//@RunWith(SpringRunner.class)
//@SpringBootTest
//public class TestGunsApplication {
//
//    @Autowired
//    private TinggPayoutUtil tinggPayoutUtil;
//
//
//    @Test
//    public void test(){
//        tinggPayoutUtil.sendPayout("GH-MTN-B2C", "+233277211131", "00007", 1D, "https://10pz685243.zicp.fun/base/IGO/tinggPayoutCallback", "Transfer remittance");
//    }
//}