Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0
| | |
| | | import com.stylefeng.guns.modular.system.util.EmailUtil; |
| | | import com.stylefeng.guns.modular.system.util.ResultUtil; |
| | | import com.stylefeng.guns.modular.system.warpper.*; |
| | | import com.stylefeng.guns.modular.system.warpper.BalanceUsageRecord; |
| | | import com.stylefeng.guns.modular.taxi.model.OrderTaxi; |
| | | import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; |
| | | import io.swagger.annotations.Api; |
| | |
| | | |
| | | @Resource |
| | | private DriverActivityHistoryMapper driverActivityHistoryMapper; |
| | | |
| | | @Resource |
| | | private IBalanceUsageRecordService balanceUsageRecordService; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/api/driver/queryTotalRevenue") |
| | | @ApiOperation(value = "获取收入明细【2.0】", tags = {"司机端-个人中心"}, notes = "开发中") |
| | | @ApiOperation(value = "获取收入明细【2.0】", tags = {"司机端-个人中心"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), |
| | |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | List<Map<String, Object>> list = driverService.queryTotalRevenue(language, uid, pageNum, size); |
| | | |
| | | // TODO 待翻译 |
| | | List<BaseWarpper> data = new ArrayList<>(); |
| | | for(Map<String, Object> map : list){ |
| | | String type = map.get("type").toString(); |
| | |
| | | if("2".equals(type)){ |
| | | switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){ |
| | | case 1: |
| | | baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course"); |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(map.get("incomeId").toString()); |
| | | baseWarpper.setName(language == 1 ? (orderPrivateCar.getCancelMidway() == 0 ? "" : "【途中取消】") + "打车" : language == 2 ? (orderPrivateCar.getCancelMidway() == 0 ? "" : "【】") + "Ride" : (orderPrivateCar.getCancelMidway() == 0 ? "" : "【】") + "Course"); |
| | | break; |
| | | case 2: |
| | | baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi"); |
| | |
| | | baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes"); |
| | | break; |
| | | case 4: |
| | | baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison"); |
| | | OrderLogistics orderLogistics = orderLogisticsService.selectById(map.get("incomeId").toString()); |
| | | baseWarpper.setName(language == 1 ? (orderLogistics.getCancelMidway() == 0 ? "" : "【途中取消】") + "包裹" : language == 2 ? (orderLogistics.getCancelMidway() == 0 ? "" : "【】") + "Delivery" : (orderLogistics.getCancelMidway() == 0 ? "" : "【】") + "Livraison"); |
| | | break; |
| | | case 5: |
| | | baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville"); |
| | |
| | | case 4: |
| | | OrderLogistics orderLogistics = orderLogisticsService.selectById(map.get("incomeId").toString()); |
| | | List<Income> incomes3 = incomeService.queryData(1, null, 2, orderLogistics.getId(), 4); |
| | | map1.put("travelMoney", orderLogistics != null ? orderLogistics.getOrderMoney() : 0);//行程费 |
| | | map1.put("parkMoney", 0);//停车费 |
| | | map1.put("parkMoney", orderLogistics != null ? orderLogistics.getParkMoney() : 0);//停车费 |
| | | map1.put("tipMoney", 0);//小费 |
| | | map1.put("roadTollMoney", 0);//过路费 |
| | | map1.put("roadTollMoney", orderLogistics != null ? orderLogistics.getRoadTollMoney() : 0);//过路费 |
| | | map1.put("rakeMoney", incomes3.size() > 0 ? incomes3.get(0).getMoney() : 0);//抽成 |
| | | break; |
| | | case 5: |
| | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/driver/queryBalanceUsageRecord") |
| | | @ApiOperation(value = "获取余额使用记录【2.0】", tags = {"司机端-个人中心"}, notes = "开发中") |
| | | @ApiOperation(value = "获取余额使用记录【2.0】", tags = {"司机端-个人中心"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "体现类型(1=活动收入提现,2=业务收入提现)", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "体现类型(1=活动收入,2=业务收入)", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil<BalanceUsageRecord> queryWithdrawal(Integer language, Integer pageNum, Integer size, Integer type, HttpServletRequest request){ |
| | | public ResultUtil<BalanceUsageRecord> queryBalanceUsageRecord(Integer language, Integer pageNum, Integer size, Integer type, HttpServletRequest request){ |
| | | try { |
| | | Integer uid = driverService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | BalanceUsageRecord withdrawalWarpper1 = new BalanceUsageRecord(); |
| | | withdrawalWarpper1.setTotal(0D); |
| | | withdrawalWarpper1.setList(new ArrayList<BalanceUsageRecordList>()); |
| | | return ResultUtil.success(withdrawalWarpper1); |
| | | BalanceUsageRecord balanceUsageRecord = new BalanceUsageRecord(); |
| | | balanceUsageRecord.setTotal(balanceUsageRecordService.queryBalanceUsageRecordSum(uid, type)); |
| | | balanceUsageRecord.setList(balanceUsageRecordService.queryBalanceUsageRecord(language, uid, type, pageNum, size)); |
| | | return ResultUtil.success(balanceUsageRecord); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/settlementRecord/queryHistoricalSettlement") |
| | | @ApiOperation(value = "获取结算历史记录【2.0】", tags = {"司机端-个人中心"}, notes = "开发中") |
| | | @ApiOperation(value = "获取结算历史记录【2.0】", tags = {"司机端-个人中心"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), |
| | |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/api/withdrawal/queryWithdrawal") |
| | | @ApiOperation(value = "获取历史提现数据【2.0】", tags = {"司机端-个人中心"}, notes = "开发中") |
| | | @ApiOperation(value = "获取历史提现数据【2.0】", tags = {"司机端-个人中心"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), |
| | |
| | | List<Map<String, Object>> list = withdrawalService.queryWithdrawal(language, uid, type, state, pageNum, size); |
| | | List<WithdrawalListWarpper> withdrawalWarpper = WithdrawalListWarpper.getWithdrawalWarpper(list); |
| | | WithdrawalWarpper withdrawalWarpper1 = new WithdrawalWarpper(); |
| | | withdrawalWarpper1.setTotal(0D); |
| | | withdrawalWarpper1.setTotal(withdrawalService.queryWithdrawalSum(uid, type)); |
| | | withdrawalWarpper1.setList(withdrawalWarpper); |
| | | return ResultUtil.success(withdrawalWarpper1); |
| | | }catch (Exception e){ |
| | |
| | | <?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.smallLogistics.dao.OrderLogisticsMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics"> |
| | | <id column="id" property="id"/> |
| | | <result column="type" property="type"/> |
| | | <result column="userId" property="userId"/> |
| | | <result column="driverId" property="driverId"/> |
| | | <result column="carId" property="carId"/> |
| | | <result column="orderNum" property="orderNum"/> |
| | | <result column="cargoType" property="cargoType"/> |
| | | <result column="urgent" property="urgent"/> |
| | | <result column="cargoNumber" property="cargoNumber"/> |
| | | <result column="remark" property="remark"/> |
| | | <result column="placementLon" property="placementLon"/> |
| | | <result column="placementLat" property="placementLat"/> |
| | | <result column="placementAddress" property="placementAddress"/> |
| | | <result column="startLon" property="startLon"/> |
| | | <result column="startLat" property="startLat"/> |
| | | <result column="startAddress" property="startAddress"/> |
| | | <result column="endLon" property="endLon"/> |
| | | <result column="endLat" property="endLat"/> |
| | | <result column="endAddress" property="endAddress"/> |
| | | <result column="recipient" property="recipient"/> |
| | | <result column="recipientPhone" property="recipientPhone"/> |
| | | <result column="boardingLon" property="boardingLon"/> |
| | | <result column="boardingLat" property="boardingLat"/> |
| | | <result column="boardingAddress" property="boardingAddress"/> |
| | | <result column="boardingTime" property="boardingTime"/> |
| | | <result column="getoffLon" property="getoffLon"/> |
| | | <result column="getoffLat" property="getoffLat"/> |
| | | <result column="getoffAddress" property="getoffAddress"/> |
| | | <result column="getoffTime" property="getoffTime"/> |
| | | <result column="mileage" property="mileage"/> |
| | | <result column="payManner" property="payManner"/> |
| | | <result column="payType" property="payType"/> |
| | | <result column="orderMoney" property="orderMoney"/> |
| | | <result column="travelMoney" property="travelMoney"/> |
| | | <result column="tipMoney" property="tipMoney"/> |
| | | <result column="redPacketMoney" property="redPacketMoney"/> |
| | | <result column="couponMoney" property="couponMoney"/> |
| | | <result column="redPacketId" property="redPacketId"/> |
| | | <result column="couponId" property="couponId"/> |
| | | <result column="discount" property="discount"/> |
| | | <result column="discountMoney" property="discountMoney"/> |
| | | <result column="activityId" property="activityId"/> |
| | | <result column="companyId" property="companyId"/> |
| | | <result column="payMoney" property="payMoney"/> |
| | | <result column="state" property="state"/> |
| | | <result column="insertTime" property="insertTime"/> |
| | | <result column="travelTime" property="travelTime"/> |
| | | <result column="snatchOrderTime" property="snatchOrderTime"/> |
| | | <result column="setOutTime" property="setOutTime"/> |
| | | <result column="arriveTime" property="arriveTime"/> |
| | | <result column="startServiceTime" property="startServiceTime"/> |
| | | <result column="endServiceTime" property="endServiceTime"/> |
| | | <result column="orderSource" property="orderSource"/> |
| | | <result column="invoiceId" property="invoiceId"/> |
| | | <result column="trackId" property="trackId"/> |
| | | <result column="isDelete" property="isDelete"/> |
| | | <result column="oldState" property="oldState"/> |
| | | <result column="telX" property="telX"/> |
| | | <result column="bindId" property="bindId"/> |
| | | <result column="pickUpCode" property="pickUpCode"/> |
| | | <result column="isReassign" property="isReassign"/> |
| | | <result column="reassignNotice" property="reassignNotice"/> |
| | | <result column="driverPay" property="driverPay"/> |
| | | </resultMap> |
| | | |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | @TableField("destination") |
| | | private String destination; |
| | | /** |
| | | * 中途取消(0=否,1=是) |
| | | */ |
| | | @TableField("cancelMidway") |
| | | private Integer cancelMidway; |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import com.stylefeng.guns.modular.system.model.BalanceUsageRecord; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2024/5/13 10:24 |
| | | */ |
| | | public interface BalanceUsageRecordMapper extends BaseMapper<BalanceUsageRecord> { |
| | | |
| | | |
| | | /** |
| | | * 获取使用记录列表 |
| | | * @param driverId |
| | | * @param type |
| | | * @param pageNum |
| | | * @param size |
| | | * @return |
| | | */ |
| | | List<Map<String, Object>> queryBalanceUsageRecord(@Param("driverId") Integer driverId, @Param("type") Integer type, |
| | | @Param("pageNum") Integer pageNum, @Param("size") Integer size); |
| | | |
| | | |
| | | /** |
| | | * 获取使用记录总额 |
| | | * @param driverId |
| | | * @param type |
| | | * @return |
| | | */ |
| | | Double queryBalanceUsageRecordSum(@Param("driverId") Integer driverId, @Param("type") Integer type); |
| | | |
| | | } |
| | |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | |
| | | * @param driverId |
| | | * @return |
| | | */ |
| | | List<QueryHistoricalSettlement> queryHistoricalSettlement(@Param("driverId") Integer driverId, @Param("pageNum") Integer pageNum, |
| | | @Param("size") Integer size); |
| | | List<Map<String, Object>> queryHistoricalSettlement(@Param("driverId") Integer driverId, @Param("pageNum") Integer pageNum, |
| | | @Param("size") Integer size); |
| | | } |
| | |
| | | List<Map<String, Object>> queryWithdrawal(@Param("uid") Integer uid, @Param("userType") Integer userType, |
| | | @Param("type") Integer type, @Param("state") Integer state, @Param("pageNum") Integer pageNum, |
| | | @Param("size") Integer size); |
| | | |
| | | |
| | | /** |
| | | * 获取提现总额 |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | Double queryWithdrawalSum(@Param("uid") Integer uid, @Param("userType") Integer userType, |
| | | @Param("type") Integer type); |
| | | } |
New file |
| | |
| | | <?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.BalanceUsageRecordMapper"> |
| | | |
| | | |
| | | |
| | | <select id="queryBalanceUsageRecord" resultType="map"> |
| | | select |
| | | DATE_FORMAT(createTime, '%Y-%m-%d') as createTime, |
| | | money, |
| | | purpose |
| | | from t_balance_usage_record type = #{type} and driverId = #{driverId} order by createTime desc limit #{pageNum}, #{size} |
| | | </select> |
| | | |
| | | |
| | | |
| | | <select id="queryBalanceUsageRecordSum" resultType="double"> |
| | | select ifnull(sum(money), 0) from t_balance_usage_record where type = #{type} and driverId = #{driverId} |
| | | </select> |
| | | </mapper> |
| | |
| | | </resultMap> |
| | | |
| | | |
| | | <select id="queryHistoricalSettlement" resultType="com.stylefeng.guns.modular.system.warpper.QueryHistoricalSettlement"> |
| | | <select id="queryHistoricalSettlement" resultType="map"> |
| | | select |
| | | DATE_FORMAT(`day`, '%Y-%m-%d') as createTime, |
| | | payMoney as price, |
| | | `type` |
| | | `type`, |
| | | payType, |
| | | balanceType |
| | | from t_settlement_record where driverId = #{driverId} and paymentStatus = 2 order by insertTime desc limit #{pageNum}, #{size} |
| | | </select> |
| | | </mapper> |
| | |
| | | </if> |
| | | order by insertTime desc limit #{pageNum}, #{size} |
| | | </select> |
| | | |
| | | |
| | | |
| | | <select id="queryWithdrawalSum" resultType="double"> |
| | | select |
| | | ifnull(sum(money), 0) as money |
| | | from t_pub_withdrawal |
| | | where flag != 3 and userType = #{userType} and userId = #{uid} and type = #{type} |
| | | </select> |
| | | </mapper> |
New file |
| | |
| | | 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 lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2024/5/13 10:21 |
| | | */ |
| | | @Data |
| | | @TableName("t_balance_usage_record") |
| | | public class BalanceUsageRecord { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 司机id |
| | | */ |
| | | @TableField("driverId") |
| | | private Integer driverId; |
| | | /** |
| | | * 余额类型(1=奖励,2=收入) |
| | | */ |
| | | @TableField("type") |
| | | private Integer type; |
| | | /** |
| | | * 使用金额 |
| | | */ |
| | | @TableField("money") |
| | | private Double money; |
| | | /** |
| | | * 用途 |
| | | */ |
| | | @TableField("purpose") |
| | | private Integer purpose; |
| | | /** |
| | | * 使用时间 |
| | | */ |
| | | @TableField("createTime") |
| | | private Date createTime; |
| | | } |
| | |
| | | @TableField("payType") |
| | | private Integer payType; |
| | | /** |
| | | * 余额类型(1=奖励余额,2=收入余额) |
| | | */ |
| | | @TableField("balanceType") |
| | | private Integer balanceType; |
| | | /** |
| | | * 支付时间 |
| | | */ |
| | | @TableField("payTime") |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.stylefeng.guns.modular.system.model.BalanceUsageRecord; |
| | | import com.stylefeng.guns.modular.system.warpper.BalanceUsageRecordList; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2024/5/13 10:25 |
| | | */ |
| | | public interface IBalanceUsageRecordService extends IService<BalanceUsageRecord> { |
| | | |
| | | /** |
| | | * 获取使用记录列表 |
| | | * @param driverId |
| | | * @param type |
| | | * @param pageNum |
| | | * @param size |
| | | * @return |
| | | */ |
| | | List<BalanceUsageRecordList> queryBalanceUsageRecord(Integer language, Integer driverId, Integer type, Integer pageNum, Integer size); |
| | | |
| | | |
| | | /** |
| | | * 获取使用记录总额 |
| | | * @param driverId |
| | | * @param type |
| | | * @return |
| | | */ |
| | | Double queryBalanceUsageRecordSum(Integer driverId, Integer type); |
| | | |
| | | |
| | | /** |
| | | * 保存数据 |
| | | * @param driverId |
| | | * @param type |
| | | * @param money |
| | | * @param purpose |
| | | */ |
| | | void saveBalanceUsageRecord(Integer driverId, Integer type, Double money, Integer purpose); |
| | | } |
| | |
| | | * @throws Exception |
| | | */ |
| | | ResultUtil withdrawalAudit(Integer id, Integer state, Integer language) throws Exception; |
| | | |
| | | |
| | | /** |
| | | * 获提现总额 |
| | | * @param uid |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | Double queryWithdrawalSum(Integer uid, Integer type) throws Exception; |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.modular.system.dao.BalanceUsageRecordMapper; |
| | | import com.stylefeng.guns.modular.system.model.BalanceUsageRecord; |
| | | import com.stylefeng.guns.modular.system.service.IBalanceUsageRecordService; |
| | | import com.stylefeng.guns.modular.system.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.warpper.BalanceUsageRecordList; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2024/5/13 10:25 |
| | | */ |
| | | @Service |
| | | public class BalanceUsageRecordServiceImpl extends ServiceImpl<BalanceUsageRecordMapper, BalanceUsageRecord> implements IBalanceUsageRecordService { |
| | | |
| | | |
| | | /** |
| | | * 获取使用记录列表 |
| | | * @param driverId |
| | | * @param type |
| | | * @param pageNum |
| | | * @param size |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<BalanceUsageRecordList> queryBalanceUsageRecord(Integer language, Integer driverId, Integer type, Integer pageNum, Integer size) { |
| | | pageNum = (pageNum - 1) * size; |
| | | List<Map<String, Object>> list = this.baseMapper.queryBalanceUsageRecord(driverId, type, pageNum, size); |
| | | List<BalanceUsageRecordList> datas = new ArrayList<>(); |
| | | // TODO 待翻译 |
| | | for (Map<String, Object> map : list) { |
| | | BalanceUsageRecordList balanceUsageRecordList = new BalanceUsageRecordList(); |
| | | if(null != map.get("createTime")){ |
| | | balanceUsageRecordList.setTime(DateUtil.conversionFormat(language, map.get("createTime").toString())); |
| | | } |
| | | if(null != map.get("money")){ |
| | | balanceUsageRecordList.setMoney(Double.valueOf(map.get("money").toString())); |
| | | } |
| | | if(null != map.get("purpose")){ |
| | | switch (map.get("purpose").toString()){ |
| | | case "1": |
| | | balanceUsageRecordList.setContent(language == 1 ? "打车支付" : language == 2 ? "" : ""); |
| | | break; |
| | | case "2": |
| | | balanceUsageRecordList.setContent(language == 1 ? "包裹支付" : language == 2 ? "" : ""); |
| | | break; |
| | | case "3": |
| | | balanceUsageRecordList.setContent(language == 1 ? "日结算" : language == 2 ? "" : ""); |
| | | break; |
| | | case "4": |
| | | balanceUsageRecordList.setContent(language == 1 ? "周结算" : language == 2 ? "" : ""); |
| | | break; |
| | | case "5": |
| | | balanceUsageRecordList.setContent(language == 1 ? "月结算" : language == 2 ? "" : ""); |
| | | break; |
| | | case "6": |
| | | balanceUsageRecordList.setContent(language == 1 ? "提现" : language == 2 ? "" : ""); |
| | | break; |
| | | } |
| | | } |
| | | datas.add(balanceUsageRecordList); |
| | | } |
| | | return datas; |
| | | } |
| | | |
| | | /** |
| | | * 获取使用记录总额 |
| | | * @param driverId |
| | | * @param type |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Double queryBalanceUsageRecordSum(Integer driverId, Integer type) { |
| | | return this.baseMapper.queryBalanceUsageRecordSum(driverId, type); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 保存数据 |
| | | * @param driverId |
| | | * @param type |
| | | * @param money |
| | | * @param purpose |
| | | */ |
| | | @Override |
| | | public void saveBalanceUsageRecord(Integer driverId, Integer type, Double money, Integer purpose) { |
| | | BalanceUsageRecord balanceUsageRecord = new BalanceUsageRecord(); |
| | | balanceUsageRecord.setDriverId(driverId); |
| | | balanceUsageRecord.setType(type); |
| | | balanceUsageRecord.setMoney(money); |
| | | balanceUsageRecord.setPurpose(purpose); |
| | | balanceUsageRecord.setCreateTime(new Date()); |
| | | this.insert(balanceUsageRecord); |
| | | } |
| | | } |
| | |
| | | |
| | | @Autowired |
| | | private ISettlementRecordService settlementRecordService; |
| | | |
| | | @Resource |
| | | private IBalanceUsageRecordService balanceUsageRecordService; |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | if(payType == 3){//余额支付 |
| | | driver.setBalance(driver.getBalance() - money); |
| | | if(driver.getLaveBusinessMoney().compareTo(money) < 0){ |
| | | double b = money - driver.getLaveBusinessMoney(); |
| | | Double laveBusinessMoney = driver.getLaveBusinessMoney(); |
| | | if(laveBusinessMoney.compareTo(money) < 0){ |
| | | double b = money - laveBusinessMoney; |
| | | driver.setLaveBusinessMoney(0D); |
| | | driver.setLaveActivityMoney(driver.getLaveActivityMoney() - b); |
| | | driverService.updateById(driver); |
| | | balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 1, b, orderType == 1 ? 1 : 2); |
| | | balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 2, laveBusinessMoney, orderType == 1 ? 1 : 2); |
| | | }else{ |
| | | driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - money); |
| | | driverService.updateById(driver); |
| | | balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 2, money, orderType == 1 ? 1 : 2); |
| | | } |
| | | |
| | | if(orderType == 1){//专车 |
| | |
| | | import com.stylefeng.guns.modular.system.warpper.QueryHistoricalSettlement; |
| | | import com.stylefeng.guns.modular.system.warpper.QuerySettlementAmount; |
| | | import com.stylefeng.guns.modular.system.warpper.QuerySettlementAmountDetails; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | |
| | | |
| | | @Value("${callbackPath}") |
| | | private String callbackPath;//支付回调网关地址 |
| | | |
| | | @Resource |
| | | private IBalanceUsageRecordService balanceUsageRecordService; |
| | | |
| | | |
| | | |
| | |
| | | |
| | | Double laveActivityMoney = driver1.getLaveActivityMoney(); |
| | | Double laveBusinessMoney = driver1.getLaveBusinessMoney(); |
| | | if(laveBusinessMoney.compareTo(payMoney) < 0){ |
| | | driver1.setLaveBusinessMoney(0D); |
| | | BigDecimal m = new BigDecimal(payMoney).subtract(new BigDecimal(laveBusinessMoney)); |
| | | driver1.setLaveActivityMoney(new BigDecimal(laveActivityMoney).subtract(m).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | if(laveActivityMoney.compareTo(payMoney) < 0){ |
| | | driver1.setLaveActivityMoney(0D); |
| | | BigDecimal m = new BigDecimal(payMoney).subtract(new BigDecimal(laveActivityMoney)); |
| | | driver1.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(m).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | settlementRecord.setPayMoney(laveActivityMoney); |
| | | settlementRecord.setPaymentStatus(2); |
| | | settlementRecord.setPayType(payType); |
| | | settlementRecord.setBalanceType(1); |
| | | settlementRecord.setPayTime(new Date()); |
| | | this.updateById(settlementRecord); |
| | | balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, laveActivityMoney, settlementRecord.getType() + 2); |
| | | balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 2, m.doubleValue(), settlementRecord.getType() + 2); |
| | | |
| | | SettlementRecord settlementRecord1 = new SettlementRecord(); |
| | | BeanUtils.copyProperties(settlementRecord, settlementRecord1); |
| | | settlementRecord1.setId(null); |
| | | settlementRecord1.setPayMoney(m.doubleValue()); |
| | | settlementRecord1.setBalanceType(2); |
| | | this.insert(settlementRecord1); |
| | | |
| | | }else{ |
| | | driver1.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | driver1.setLaveActivityMoney(new BigDecimal(laveActivityMoney).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | settlementRecord.setPaymentStatus(2); |
| | | settlementRecord.setPayType(payType); |
| | | settlementRecord.setBalanceType(1); |
| | | settlementRecord.setPayTime(new Date()); |
| | | this.updateById(settlementRecord); |
| | | balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, payMoney, settlementRecord.getType() + 2); |
| | | } |
| | | driver1.setBalance(new BigDecimal(driver1.getBalance()).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | |
| | | //添加交易明细 |
| | | transactionDetailsService.saveData(driverId, "线下结算", payMoney, 2, 1, 2, null, null); |
| | | driverService.updateById(driver1); |
| | | |
| | | settlementRecord.setPaymentStatus(2); |
| | | settlementRecord.setPayType(payType); |
| | | settlementRecord.setPayTime(new Date()); |
| | | this.updateById(settlementRecord); |
| | | return ResultUtil.success(""); |
| | | } |
| | | return resultUtil; |
| | |
| | | @Override |
| | | public List<QueryHistoricalSettlement> queryHistoricalSettlement(Integer language, Integer driverId, Integer pageNum, Integer size) { |
| | | pageNum = (pageNum - 1) * size; |
| | | List<QueryHistoricalSettlement> list = this.baseMapper.queryHistoricalSettlement(driverId, pageNum, size); |
| | | for (QueryHistoricalSettlement queryHistoricalSettlement : list) { |
| | | if(ToolUtil.isNotEmpty(queryHistoricalSettlement.getCreateTime())){ |
| | | String createTime = queryHistoricalSettlement.getCreateTime(); |
| | | queryHistoricalSettlement.setCreateTime(DateUtil.conversionFormat(language, createTime)); |
| | | List<Map<String, Object>> list = this.baseMapper.queryHistoricalSettlement(driverId, pageNum, size); |
| | | List<QueryHistoricalSettlement> datas = new ArrayList<>(); |
| | | for (Map<String, Object> map : list) { |
| | | QueryHistoricalSettlement queryHistoricalSettlement = new QueryHistoricalSettlement(); |
| | | if(null != map.get("createTime")){ |
| | | queryHistoricalSettlement.setCreateTime(DateUtil.conversionFormat(language, map.get("createTime").toString())); |
| | | } |
| | | if(null != map.get("price")){ |
| | | queryHistoricalSettlement.setPrice(Double.valueOf(map.get("price").toString())); |
| | | } |
| | | if(null != map.get("type")){ |
| | | queryHistoricalSettlement.setType(Integer.valueOf(map.get("type").toString())); |
| | | } |
| | | // TODO 待翻译 |
| | | if(null != map.get("payType")){ |
| | | Integer balanceType = Integer.valueOf(map.get("balanceType").toString()); |
| | | switch (map.get("payType").toString()){ |
| | | case "1": |
| | | queryHistoricalSettlement.setPayType(language == 1 ? "手机支付" : language == 2 ? "" : ""); |
| | | break; |
| | | case "2": |
| | | queryHistoricalSettlement.setPayType(language == 1 ? "线上支付" : language == 2 ? "" : ""); |
| | | break; |
| | | default: |
| | | queryHistoricalSettlement.setPayType(language == 1 ? "余额支付(" + (balanceType == 1 ? "奖励" : "收入") + ")" : language == 2 ? "" : ""); |
| | | break; |
| | | } |
| | | } |
| | | datas.add(queryHistoricalSettlement); |
| | | } |
| | | return list; |
| | | return datas; |
| | | } |
| | | |
| | | |
| | |
| | | import com.stylefeng.guns.modular.system.model.Driver; |
| | | import com.stylefeng.guns.modular.system.model.UserInfo; |
| | | import com.stylefeng.guns.modular.system.model.Withdrawal; |
| | | import com.stylefeng.guns.modular.system.service.IBalanceUsageRecordService; |
| | | import com.stylefeng.guns.modular.system.service.IDriverService; |
| | | import com.stylefeng.guns.modular.system.service.IWithdrawalService; |
| | | import com.stylefeng.guns.modular.system.util.ResultUtil; |
| | |
| | | |
| | | @Autowired |
| | | private IDriverService driverService; |
| | | |
| | | @Resource |
| | | private IBalanceUsageRecordService balanceUsageRecordService; |
| | | |
| | | |
| | | |
| | |
| | | driver.setLaveActivityMoney(v); |
| | | v = new BigDecimal(driver.getBalance()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); |
| | | driver.setBalance(v); |
| | | balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 1, money, 6); |
| | | } |
| | | if(type == 2){ |
| | | double v = new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); |
| | | driver.setLaveBusinessMoney(v); |
| | | balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 2, money, 6); |
| | | } |
| | | driverService.updateById(driver); |
| | | return ResultUtil.success(); |
| | |
| | | } |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | /** |
| | | * 获取提现总额 |
| | | * @param uid |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public Double queryWithdrawalSum(Integer uid, Integer type) throws Exception { |
| | | return this.baseMapper.queryWithdrawalSum(uid, 2, type); |
| | | } |
| | | } |
| | |
| | | @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<TravelRecordWarpper> queryMyTravelRecord(Integer pageNum, Integer size, Integer language, HttpServletRequest request){ |
| | | public ResultUtil<List<TravelRecordListWarpper>> queryMyTravelRecord(Integer pageNum, Integer size, Integer language, HttpServletRequest request){ |
| | | try { |
| | | Integer uid = userInfoService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | |
| | | }else{ |
| | | orderWarpper = new ArrayList<>(); |
| | | } |
| | | TravelRecordWarpper travelRecordWarpper = new TravelRecordWarpper(); |
| | | travelRecordWarpper.setList(orderWarpper); |
| | | travelRecordWarpper.setTotal(sum); |
| | | return ResultUtil.success(travelRecordWarpper); |
| | | orderWarpper.forEach(s->{ |
| | | s.setTotal(sum); |
| | | }); |
| | | return ResultUtil.success(orderWarpper); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | Double payMoney = 0D; |
| | | switch (orderType){ |
| | | case 1: |
| | | map = orderPrivateCarService.queryBalance(orderId, uid); |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); |
| | | payMoney = orderPrivateCar.getPayMoney(); |
| | | break; |
| | | // case 2: |
| | | // map = orderTaxiService.queryBalance(orderId, uid); |
| | |
| | | // break; |
| | | case 4: |
| | | map = orderLogisticsService.queryBalance(orderId, uid); |
| | | OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); |
| | | payMoney = orderLogistics.getPayMoney(); |
| | | break; |
| | | // case 5: |
| | | // map = orderLogisticsService.queryBalance(orderId, uid); |
| | | // break; |
| | | } |
| | | Double aDouble = userRedPacketRecordService.queryRemainingAmount(uid); |
| | | map.put("redTotal", aDouble); |
| | | RedEnvelopePaymentSettings redEnvelopePaymentSettings = redEnvelopePaymentSettingsService.getRedEnvelopePaymentSettings(); |
| | | if(null == redEnvelopePaymentSettings){ |
| | | map.put("deductionAmount", 0D); |
| | | }else{ |
| | | Double deductionAmount = new BigDecimal(payMoney).multiply(redEnvelopePaymentSettings.getDeductionRatio().divide(new BigDecimal(100))).doubleValue(); |
| | | map.put("deductionAmount", deductionAmount); |
| | | } |
| | | return ResultUtil.success(map); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | |
| | | @TableField("destination") |
| | | private String destination; |
| | | private Integer isplatPay; |
| | | @TableField(exist = false) |
| | | private BigDecimal freeMoney; |
| | | /** |
| | | * 补差价金额 |
| | |
| | | UserInfo userInfo = this.selectById(query.getUserId()); |
| | | if(null != query){ |
| | | //添加交易明细 |
| | | transactionDetailsService.saveData(Integer.valueOf(query.getUserId()), "余额充值", query.getAmount(), 2, 1, 1, 5, null); |
| | | transactionDetailsService.saveData(Integer.valueOf(query.getUserId()), "余额充值", query.getAmount(), 2, 1, 1, 5, paymentRecordId); |
| | | double v = new BigDecimal(userInfo.getBalance()).add(new BigDecimal(query.getAmount())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); |
| | | userInfo.setBalance(v); |
| | | this.updateById(userInfo); |
| | |
| | | @Data |
| | | @ApiModel |
| | | public class OrderTimeInfo { |
| | | @ApiModelProperty("截单时间") |
| | | @ApiModelProperty("接单时间") |
| | | private String snatchOrderTime; |
| | | @ApiModelProperty("取件时间") |
| | | private String startServiceTime; |