| | |
| | | <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依赖--> |
| | |
| | | |
| | | <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>--> |
| | | <!--<!– 设置成false,否则检查web.xml是否存在。因为springboot是没有web.xml的 –>--> |
| | | <!--<failOnMissingWebXml>false</failOnMissingWebXml>--> |
| | | <!--<!–打包后的项目名–>--> |
| | | <!--<!–<warName>example</warName>–>--> |
| | | <!--<fork>true</fork><!– 如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart –>--> |
| | | <!--</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>--> |
| | | <!--<!–把本地lib里面的jar复制到lib–>--> |
| | |
| | | <!--</includes>--> |
| | | <!--</resource>--> |
| | | <!--</webResources>--> |
| | | <!--</configuration>--> |
| | | <!--</plugin>--> |
| | | <!--</plugins>--> |
| | | </configuration> |
| | | </plugin> |
| | | </plugins> |
| | | |
| | | |
| | | <resources> |
| | |
| | | */ |
| | | @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.....") |
| | | }) |
| | |
| | | |
| | | |
| | | @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"), |
| | |
| | | @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(); |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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(); |
| | |
| | | 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"); |
| | |
| | | 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; |
| | | } |
| | |
| | | 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()); |
| | |
| | | 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){//银行卡支付 |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | 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, |
| | |
| | | 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);//添加预支付数据 |
| | |
| | | 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);//添加预支付数据 |
| | |
| | | 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); |
| | | |
| | |
| | | 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()); |
| | |
| | | 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("支付失败", ""); |
| | | } |
| | | |
| | | } |
| | |
| | | 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()); |
| | |
| | | <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" /> |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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 |
| | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | |
| | | @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=女) |
| | | */ |
| | |
| | | @TableField("driverContactAddress") |
| | | private String driverContactAddress; |
| | | /** |
| | | * 通信地址(带分隔符) |
| | | */ |
| | | @TableField("driverContactAddress_") |
| | | private String driverContactAddress_; |
| | | /** |
| | | * 驾龄 |
| | | */ |
| | | @TableField("driverAge") |
| | |
| | | */ |
| | | @TableField("driveCardImgUrl2") |
| | | private String driveCardImgUrl2; |
| | | /** |
| | | * 邮箱 |
| | | */ |
| | | @TableField("email") |
| | | private String email; |
| | | /** |
| | | * 准驾车型 |
| | | */ |
| | |
| | | @TableField("emergencyContactAddress") |
| | | private String emergencyContactAddress; |
| | | /** |
| | | * 从业地(带分隔符) |
| | | */ |
| | | @TableField("placeOfPractice") |
| | | private String placeOfPractice; |
| | | /** |
| | | * 备注 |
| | | */ |
| | | @TableField("remark") |
| | |
| | | */ |
| | | @TableField("carId") |
| | | private Integer carId; |
| | | /** |
| | | * 语言(1=简体中文,2=英语,3=法语) |
| | | */ |
| | | @TableField("language") |
| | | private Integer language; |
| | | /** |
| | | * 审核状态(1=待审核,2=正常,3=冻结,4=拒绝) |
| | | */ |
| | |
| | | */ |
| | | @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; |
| | |
| | | this.phone = phone; |
| | | } |
| | | |
| | | public String getPhoneOperator() { |
| | | return phoneOperator; |
| | | } |
| | | |
| | | public void setPhoneOperator(String phoneOperator) { |
| | | this.phoneOperator = phoneOperator; |
| | | } |
| | | |
| | | public String getPassword() { |
| | | return password; |
| | | } |
| | |
| | | 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() { |
| | |
| | | |
| | | public void setCompanyId(Integer companyId) { |
| | | this.companyId = companyId; |
| | | } |
| | | |
| | | public Integer getFranchiseeId() { |
| | | return franchiseeId; |
| | | } |
| | | |
| | | public void setFranchiseeId(Integer franchiseeId) { |
| | | this.franchiseeId = franchiseeId; |
| | | } |
| | | |
| | | public String getHeadImgUrl() { |
| | |
| | | this.driverContactAddress = driverContactAddress; |
| | | } |
| | | |
| | | public String getDriverContactAddress_() { |
| | | return driverContactAddress_; |
| | | } |
| | | |
| | | public void setDriverContactAddress_(String driverContactAddress_) { |
| | | this.driverContactAddress_ = driverContactAddress_; |
| | | } |
| | | |
| | | public Integer getDriverAge() { |
| | | return driverAge; |
| | | } |
| | |
| | | |
| | | public void setDriveCardImgUrl2(String driveCardImgUrl2) { |
| | | this.driveCardImgUrl2 = driveCardImgUrl2; |
| | | } |
| | | |
| | | public String getEmail() { |
| | | return email; |
| | | } |
| | | |
| | | public void setEmail(String email) { |
| | | this.email = email; |
| | | } |
| | | |
| | | public String getDriverType() { |
| | |
| | | |
| | | public void setTaxiAptitudeCard(String taxiAptitudeCard) { |
| | | this.taxiAptitudeCard = taxiAptitudeCard; |
| | | } |
| | | |
| | | public String getNetworkCarlssueImg() { |
| | | return networkCarlssueImg; |
| | | } |
| | | |
| | | public void setNetworkCarlssueImg(String networkCarlssueImg) { |
| | | this.networkCarlssueImg = networkCarlssueImg; |
| | | } |
| | | |
| | | public String getNetworkCarlssueOrganization() { |
| | |
| | | this.emergencyContactAddress = emergencyContactAddress; |
| | | } |
| | | |
| | | public String getPlaceOfPractice() { |
| | | return placeOfPractice; |
| | | } |
| | | |
| | | public void setPlaceOfPractice(String placeOfPractice) { |
| | | this.placeOfPractice = placeOfPractice; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | |
| | | this.carId = carId; |
| | | } |
| | | |
| | | public Integer getLanguage() { |
| | | return language; |
| | | } |
| | | |
| | | public void setLanguage(Integer language) { |
| | | this.language = language; |
| | | } |
| | | |
| | | public Integer getAuthState() { |
| | | return authState; |
| | | } |
| | |
| | | |
| | | public void setState(Integer state) { |
| | | this.state = state; |
| | | } |
| | | |
| | | public String getNetworkCarlssueImg() { |
| | | return networkCarlssueImg; |
| | | } |
| | | |
| | | public void setNetworkCarlssueImg(String networkCarlssueImg) { |
| | | this.networkCarlssueImg = networkCarlssueImg; |
| | | } |
| | | |
| | | public Integer getAddType() { |
| | |
| | | this.laveBusinessMoney = laveBusinessMoney; |
| | | } |
| | | |
| | | public Integer getFranchiseeId() { |
| | | return franchiseeId; |
| | | } |
| | | |
| | | public void setFranchiseeId(Integer franchiseeId) { |
| | | this.franchiseeId = franchiseeId; |
| | | } |
| | | |
| | | public String getAppletsOpenId() { |
| | | return appletsOpenId; |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | * @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; |
| | | |
| | | |
| | | /** |
| | |
| | | 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() + ",请查收"); |
| | | } |
| | |
| | | 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."); |
| | | } |
| | |
| | | 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"); |
| | | } |
| | |
| | | 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);//添加预支付数据 |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | 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(""); |
| | | } |
| | | |
| | | |
| | |
| | | * @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"); |
| | |
| | | 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); |
| | |
| | | @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")); |
| | |
| | | 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, |
| | |
| | | server: |
| | | port: 82 |
| | | port: 8006 |
| | | |
| | | guns: |
| | | swagger-open: true #是否开启swagger (true/false) |
| | |
| | | application: |
| | | name: user-server |
| | | profiles: |
| | | active: dev |
| | | # active: produce |
| | | # active: dev |
| | | active: produce |
| | | mvc: |
| | | static-path-pattern: /static/** |
| | | view: |
| | |
| | | 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: |
| | |
| | | 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"); |
| | | // } |
| | | //} |