Pu Zhibing
2025-02-14 de3858253f29abe18c76dd7dcdaa7db4c1fd372e
开发新增加功能
17个文件已修改
517 ■■■■■ 已修改文件
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java 128 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCompanyMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReportLossMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserCouponRecordMapper.xml 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemPrice.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/resources/application.yml 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_edit.html 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/report/operationalData.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tReportLoss/tReportLoss.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSmallPrice_info.js 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java
@@ -155,7 +155,7 @@
        tReportLoss.setDisposeInfo(info);
        tReportLoss.setStatus(2);
        tReportLoss.setHandleTime(new Date());
        tReportLoss.setHandleUserId(ShiroKit.getUser().getObjectId());
        tReportLoss.setHandleUserId(ShiroKit.getUser().getId());
        boolean b = tReportLossService.updateById(tReportLoss);
        if(b){
            try {
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java
@@ -48,10 +48,12 @@
    public String index( Model model) {
        return PREFIX + "grant.html";
    }
    @RequestMapping("/use")
    public String watter( Model model) {
        return PREFIX + "use.html";
    }
    @Autowired
    private IIncomeService tIncomeService;
    @Autowired
@@ -103,6 +105,7 @@
        }
        System.err.println(temp1);
    }
    /**
     * 使用补贴统计
     */
@@ -186,27 +189,19 @@
        // 司机提现
        List<TPubWithdrawal> driverWithdrawal = new ArrayList<>();
        Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>()
                ;
        Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>();
        // 专车wrapper
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
                ;
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>();
        // 小件物流wrapper
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
                ;
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>();
        // 已使用优惠券记录wrapper
        Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>()
                ;
        Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>()
                ;
        Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>();
        Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>();
        // 已使用红包记录wrapper
        Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>()
                ;
        Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>()
                ;
        Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>();
        Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>();
        // 司机已消费金额
        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>()
                ;
        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>();
        if (time == 5 && !StringUtils.hasLength(insertTime)){
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
@@ -432,7 +427,19 @@
        for (TOrderPrivateCar userCouponRecord : userCouponRecords) {
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime()));
            grantVO.setType("优惠券");
            UserCouponRecord userCouponRecord1 = userCouponRecordService.selectById(userCouponRecord.getCouponId());
            switch (userCouponRecord1.getCouponUseType()){
                case 0:
                    grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "通用 抵扣券" : "通用 满减券");
                    break;
                case 1:
                    grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "打车 抵扣券" : "打车 满减券");
                    break;
                case 4:
                    grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "包裹 抵扣券" : "包裹 满减券");
                    break;
            }
            grantVO.setAmount(userCouponRecord.getCouponMoney().toString());
            TUser tUser = userMap.get(userCouponRecord.getUserId());
            if (tUser != null) {
@@ -445,7 +452,20 @@
        for (TOrderLogistics userCouponRecord : userCouponRecords1) {
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime()));
            grantVO.setType("优惠券");
            UserCouponRecord userCouponRecord1 = userCouponRecordService.selectById(userCouponRecord.getCouponId());
            switch (userCouponRecord1.getCouponUseType()){
                case 0:
                    grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "通用 抵扣券" : "通用 满减券");
                    break;
                case 1:
                    grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "打车 抵扣券" : "打车 满减券");
                    break;
                case 4:
                    grantVO.setType(userCouponRecord1.getCouponType() == 1 ? "包裹 抵扣券" : "包裹 满减券");
                    break;
            }
            grantVO.setAmount(userCouponRecord.getCouponMoney().toString());
            TUser tUser = userMap.get(userCouponRecord.getUserId());
            if (tUser!=null){
@@ -601,27 +621,19 @@
        // 司机提现
        List<TPubWithdrawal> driverWithdrawal = new ArrayList<>();
        Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>()
                ;
        Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>();
        // 专车wrapper
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
                ;
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>();
        // 小件物流wrapper
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
                ;
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>();
        // 已使用优惠券记录wrapper
        Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>()
                ;
        Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>()
                ;
        Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>();
        Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>();
        // 已使用红包记录wrapper
        Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>()
                ;
        Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>()
                ;
        Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>();
        Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>();
        // 司机已消费金额
        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>()
                ;
        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>();
        if (time == 5 && !StringUtils.hasLength(insertTime)){
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
@@ -945,6 +957,7 @@
    @Autowired
    private ISysRedPacketRecordService sysRedPacketRecordService;
    /**
     * 发放补贴统计
     */
@@ -1025,22 +1038,15 @@
        List<DriverActivityHistory> driverActivityHistories = new ArrayList<>();
        // 专车wrapper
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
                ;
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>();
        // 小件物流wrapper
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
                ;
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>();
        // 优惠券领取记录wrapper
        Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>()
                ;
        Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>();
        // 红包领取记录wrapper
        Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>()
                ;
        Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>();
        // 司机奖励
        Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>()
                ;
        Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>();
        if (time == 5 && !StringUtils.hasLength(insertTime)){
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
@@ -1230,7 +1236,17 @@
        for (UserCouponRecord userCouponRecord : userCouponRecords) {
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime()));
            grantVO.setType("优惠券");
            switch (userCouponRecord.getCouponUseType()){
                case 0:
                    grantVO.setType(userCouponRecord.getCouponType() == 1 ? "通用 抵扣券" : "通用 满减券");
                    break;
                case 1:
                    grantVO.setType(userCouponRecord.getCouponType() == 1 ? "打车 抵扣券" : "打车 满减券");
                    break;
                case 4:
                    grantVO.setType(userCouponRecord.getCouponType() == 1 ? "包裹 抵扣券" : "包裹 满减券");
                    break;
            }
            grantVO.setAmount(userCouponRecord.getMoney().toString());
            TUser tUser = userMap.get(userCouponRecord.getUserId());
            if (tUser!=null){
@@ -1278,6 +1294,7 @@
        total = total.add(redPackage).add(coupon).add(discount).add(driver);
        return sortedList;
    }
    @RequestMapping(value = "/grant/getCount")
    @ResponseBody
    public Object getCount(Integer time,String insertTime,Integer type) {
@@ -1356,22 +1373,15 @@
        List<DriverActivityHistory> driverActivityHistories = new ArrayList<>();
        // 专车wrapper
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
                ;
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>();
        // 小件物流wrapper
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
                ;
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>();
        // 优惠券领取记录wrapper
        Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>()
                ;
        Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>();
        // 红包领取记录wrapper
        Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>()
                ;
        Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>();
        // 司机奖励
        Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>()
                ;
        Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>();
        if (time == 5 && !StringUtils.hasLength(insertTime)){
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCompanyMapper.xml
@@ -296,9 +296,9 @@
                group by DATE_FORMAT(travelTime, '%Y-%m-%d')
                union all
    
                select DATE_FORMAT(insertTime, '%Y-%m-%d'), 0, 0, 0, 0, count(id), 0, sum(money), 0 from t_order_cancel where orderType = 1
                select DATE_FORMAT(insertTime, '%Y-%m-%d'), 0, 0, 0, 0, count(id), 0, sum(money), 0 from t_income where orderType = 1 and userType = 1 and type = 3
                <if test="null != companyId">
                    and orderId in (select id from t_order_private_car where isDelete = 1 and companyId = #{companyId} and state = 10)
                    and incomeId = #{companyId}
                </if>
                <if test="null != start and '' != start and null != end and '' != end">
                    and DATE_FORMAT(insertTime, '%Y-%m-%d') between #{start} and #{end}
@@ -339,9 +339,9 @@
                </if>
                group by DATE_FORMAT(travelTime, '%Y-%m-%d')
                union all
                select DATE_FORMAT(insertTime, '%Y-%m-%d'), 0, 0, 0, 0, count(id), 0, sum(money), 0 from t_order_cancel where orderType = 4
                select DATE_FORMAT(insertTime, '%Y-%m-%d'), 0, 0, 0, 0, count(id), 0, sum(money), 0 from t_income where orderType = 4 and userType = 1 and type = 3
                <if test="null != companyId">
                    and orderId in (select id from t_order_logistics where isDelete = 1 and companyId = #{companyId} and state = 10)
                    and objectId = #{companyId}
                </if>
                <if test="null != start and '' != start and null != end and '' != end">
                    and DATE_FORMAT(insertTime, '%Y-%m-%d') between #{start} and #{end}
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml
@@ -207,7 +207,7 @@
    <!--查询所有总交易金额-->
    <select id="getAllTradeMoney" resultType="java.lang.Double">
        SELECT IFNULL(SUM(num),0) as value FROM (
        SELECT ROUND(IFNULL(SUM(num),0), 2) as value FROM (
        (SELECT IFNULL(SUM(payMoney),0) as num FROM t_order_taxi where FIND_IN_SET(state,'8,9')
        <if test="companyId != null and companyId != ''">
            and companyId = #{companyId}
@@ -243,12 +243,34 @@
            AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
        </if>
        )
        union all
        select IFNULL(SUM(money),0) as num from t_order_cancel where state = 2
        <if test="companyId != null and companyId != ''">
            and (
            if(orderType = 1, orderId in (select id from t_order_private_car where state = 10 and companyId = #{companyId}),
            orderId in (select id from t_order_logistics where state = 10 and companyId = #{companyId}))
            )
        </if>
        <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
            AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
        </if>
        union all
        select IFNULL(SUM(money),0) as num from t_reassign where state in (2, 3)
        <if test="companyId != null and companyId != ''">
            and (
            if(orderType = 1, orderId in (select id from t_order_private_car where state = 10 and companyId = #{companyId}),
            orderId in (select id from t_order_logistics where state = 10 and companyId = #{companyId}))
            )
        </if>
        <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
            AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
        </if>
        ) as o
    </select>
    <!--查询所有总收益-->
    <select id="getAllIncomeMoney" resultType="java.lang.Double">
        SELECT IFNULL(SUM(money),0) as value FROM t_income where userType = 1
        SELECT ROUND(IFNULL(SUM(money),0), 2) as value FROM t_income where userType = 1
        <if test="companyId != null and companyId != ''">
            and objectId = #{companyId}
        </if>
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReportLossMapper.xml
@@ -24,7 +24,13 @@
    </sql>
    <select id="getReportLossList" resultType="java.util.Map">
        select t1.*,t2.nickName,t2.phone ,t3.phone as handleUser from t_report_loss t1 left join t_user t2 on t1.userId = t2.id left join sys_user t3 on t1.handleUserId =t3.id
        select t1.*,
               t2.nickName,
               t2.phone ,
               t3.phone as handleUser
        from t_report_loss t1
            left join t_user t2 on t1.userId = t2.id
            left join sys_user t3 on t1.handleUserId =t3.id
        <where>
            t1.state !=3
            <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserCouponRecordMapper.xml
@@ -383,7 +383,7 @@
                    left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4)
                    left join t_user_activity c on (b.userActivityId = c.id)
                </if>
                where activityType = #{type}
                where a.activityType = #{type}
                <if test="null != name and '' != name">
                    and c.`name` like CONCAT('%', #{name}, '%')
                </if>
@@ -408,7 +408,7 @@
            sum(aa.receiveMoney) as useMoney
            from (
                select
                DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time,
                DATE_FORMAT(a.endTime, '%Y-%m-%d') as time,
                a.userId,
                count(a.id) as receive,
                sum(a.money) as receiveMoney
@@ -430,12 +430,12 @@
                    and c.`name` like CONCAT('%', #{name}, '%')
                </if>
                <if test="null != start and '' != start and null != end and '' != end">
                    and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
                    and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end}
                </if>
                <if test="null != companyId">
                    and c.companyId = #{companyId}
                </if>
                GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId
                GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId
            ) as aa GROUP BY aa.time
            <if test="2 == type">
@@ -468,6 +468,37 @@
                        and b.companyId = #{companyId}
                    </if>
                    GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId
                ) as aa GROUP BY aa.time
                union all
                select
                aa.time,
                0,
                0,
                0,
                count(aa.userId) as usePeople,
                sum(aa.receive) as `use`,
                sum(aa.receiveMoney) as useMoney
                from (
                    select
                    DATE_FORMAT(a.endTime, '%Y-%m-%d') as time,
                    a.userId,
                    count(a.id) as receive,
                    sum(a.money) as receiveMoney
                    from t_user_coupon_record a
                    left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1)
                    where a.activityType = 1 and a.state = 2
                    <if test="null != name and '' != name">
                        and b.`name` like CONCAT('%', #{name}, '%')
                    </if>
                    <if test="null != start and '' != start and null != end and '' != end">
                        and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end}
                    </if>
                    <if test="null != companyId">
                        and b.companyId = #{companyId}
                    </if>
                    GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId
                ) as aa GROUP BY aa.time
            </if>
          ) as da GROUP BY da.time order by da.time desc
@@ -534,7 +565,7 @@
                sum(aa.receiveMoney) as useMoney
                from (
                    select
                    DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time,
                    DATE_FORMAT(a.endTime, '%Y-%m-%d') as time,
                    a.userId,
                    count(a.id) as receive,
                    sum(a.money) as receiveMoney
@@ -556,12 +587,12 @@
                        and c.`name` like CONCAT('%', #{name}, '%')
                    </if>
                    <if test="null != start and '' != start and null != end and '' != end">
                        and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
                        and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end}
                    </if>
                    <if test="null != companyId">
                        and c.companyId = #{companyId}
                    </if>
                    GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId
                    GROUP BY DATE_FORMAT(endTime, '%Y-%m-%d'),userId
                ) as aa GROUP BY aa.time
                <if test="2 == type">
@@ -595,6 +626,37 @@
                        </if>
                        GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId
                    ) as aa GROUP BY aa.time
                    union all
                    select
                    aa.time,
                    0,
                    0,
                    0,
                    count(aa.userId) as usePeople,
                    sum(aa.receive) as `use`,
                    sum(aa.receiveMoney) as useMoney
                    from (
                        select
                        DATE_FORMAT(a.endTime, '%Y-%m-%d') as time,
                        a.userId,
                        count(a.id) as receive,
                        sum(a.money) as receiveMoney
                        from t_user_coupon_record a
                        left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1)
                        where a.activityType = 1 and a.state = 2
                        <if test="null != name and '' != name">
                            and b.`name` like CONCAT('%', #{name}, '%')
                        </if>
                        <if test="null != start and '' != start and null != end and '' != end">
                            and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end}
                        </if>
                        <if test="null != companyId">
                            and b.companyId = #{companyId}
                        </if>
                        GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId
                    ) as aa GROUP BY aa.time
                </if>
            ) as da GROUP BY da.time
        ) as w
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemPrice.java
@@ -44,8 +44,18 @@
    /**
     * 运价类型说明
     */
    @TableField("fareTypeNote")
    private String fareTypeNote;
    @TableField("fareTypeNoteChinese")
    private String fareTypeNoteChinese;
    /**
     * 运价类型说明
     */
    @TableField("fareTypeNoteEnglish")
    private String fareTypeNoteEnglish;
    /**
     * 运价类型说明
     */
    @TableField("fareTypeNoteFrench")
    private String fareTypeNoteFrench;
    /**
     * 状态(1=正常,2=冻结,3=删除)
     */
@@ -99,12 +109,28 @@
        this.content = content;
    }
    public String getFareTypeNote() {
        return fareTypeNote;
    public String getFareTypeNoteChinese() {
        return fareTypeNoteChinese;
    }
    public void setFareTypeNote(String fareTypeNote) {
        this.fareTypeNote = fareTypeNote;
    public void setFareTypeNoteChinese(String fareTypeNoteChinese) {
        this.fareTypeNoteChinese = fareTypeNoteChinese;
    }
    public String getFareTypeNoteEnglish() {
        return fareTypeNoteEnglish;
    }
    public void setFareTypeNoteEnglish(String fareTypeNoteEnglish) {
        this.fareTypeNoteEnglish = fareTypeNoteEnglish;
    }
    public String getFareTypeNoteFrench() {
        return fareTypeNoteFrench;
    }
    public void setFareTypeNoteFrench(String fareTypeNoteFrench) {
        this.fareTypeNoteFrench = fareTypeNoteFrench;
    }
    @Override
@@ -120,7 +146,6 @@
                ", companyId=" + companyId +
                ", serverCarModelId=" + serverCarModelId +
                ", content='" + content + '\'' +
                ", fareTypeNote='" + fareTypeNote + '\'' +
                ", state=" + state +
                '}';
    }
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java
@@ -52,7 +52,7 @@
        gmailssl(props);
    
        final String username = "i-gotech@i-go.group";// gmail 邮箱
        final String password = "rvbmuovvpocmhast";// Google应用专用密码
        final String password = "mbhyptngnvlewdxo";// Google应用专用密码
        Session session = Session.getInstance(props,
                new Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
ManagementIGOTravel/guns-admin/src/main/resources/application.yml
@@ -1,115 +1,3 @@
server:
  port: 8010
guns:
  swagger-open: false              #是否开启swagger (true/false)
  kaptcha-open: false             #是否开启登录时验证码 (true/false)
  spring-session-open: false      #是否开启spring session,如果是多机环境需要开启(true/false)
  session-invalidate-time: 1800     #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
  session-validation-interval: 900  #多久检测一次失效的session(只在单机环境下生效) 单位:秒
  #  file-upload-path: C:\Users\hi\Desktop\ #文件上传目录(不配置的话为java.io.tmpdir目录)
  #  picture-server-address: http://192.168.0.43/resources/  #图片服务器地址
  file-upload-path: C:\Users\Administrator\Desktop\apache-tomcat-8.0.33\webapps\ROOT\upload\ #文件上传目录(不配置的话为java.io.tmpdir目录)
  picture-server-address: http://139.9.249.67:8080/upload/  #图片服务器地址
  rest-url: http://139.9.249.67:8080/rest/    #前端接口调用基础路径
spring:
  mvc:
    static-path-pattern: /static/**
    view:
      prefix: /WEB-INF/view
  devtools:
    restart:
      enabled: false
      additional-paths: src/main/java
      exclude: static/**,WEB-INF/view/**
  servlet:
    multipart:
      max-request-size: 100MB
      max-file-size: 100MB
  profiles:
    active: dev
mybatis-plus:
  type-aliases-package: com.stylefeng.guns.modular.system.model
  global-config:
    id-type: 0  #0:数据库ID自增   1:用户输入id  2:全局唯一id(IdWorker)  3:全局唯一ID(uuid)
    db-column-underline: false
  configuration:
    configuration.map-underscore-to-camel-case: true #是否开启自动驼峰命名规则(camel case)映射
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #输出Sql,如需打印Sql注释该配置
---
spring:
  datasource:
    url: jdbc:mysql://34.35.60.126:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0
    username: xiwang
    password: HjKbXilb9zajmXbl
    db-name: igotravel #用来搜集数据库的所有表
    filters: wall,mergeStat
#多数据源情况的配置
guns:
  muti-datasource:
    open: false
    url: jdbc:mysql://34.35.60.126:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0
    username: xiwang
    password: HjKbXilb9zajmXbl
    dataSourceNames:
      - dataSourceGuns
      - dataSourceBiz
---
filePath: d:/orderPostionFile/  #存储订单轨迹文件路径
#quartz配置
spring:
  quartz:
    properties:
      org:
        quartz:
          scheduler:
            instanceName: MyDefaultQuartzScheduler
            instanceId: AUTO
          jobStore:
            class: org.quartz.impl.jdbcjobstore.JobStoreTX
            driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
            tablePrefix: qrtz_
            isClustered: false
            clusterCheckinInterval: 10000
            useProperties: false
          threadPool:
            class: org.quartz.simpl.SimpleThreadPool
            threadCount: 10
            threadPriority: 5
            threadsInheritContextClassLoaderOfInitializingThread: true
      job-store-type: jdbc
---
spring:
  mail:
    host: smtp.gmail.com # 配置 smtp 服务器地址
    port: 465 # smtp 服务器的端口
    username: i-gotech@i-go.group # 配置邮箱用户名(你的邮箱地址)
    password: mhizkqkhuknbitps # 配置申请到的授权码(刚让复制的授权码)
    default-encoding: UTF-8 # 配置邮件编码
    properties:
      mail:
        smtp:
          socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂
        debug: true
    from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改
    template-path: /home/igotechgh/nginx/html/mailbox/
---
#支付回调地址
#测试环境
callbackPath: http://182.160.16.251:8010
---
    active: "@spring.active@"
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html
@@ -22,9 +22,21 @@
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明:</label>
                        <label class="col-sm-2 control-label">运价类型说明(中文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNote" name="fareTypeNote" style="height: 100px;"></textarea>
                            <textarea class="form-control" id="fareTypeNoteChinese" name="fareTypeNoteChinese" style="height: 100px;"></textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明(英文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNoteEnglish" name="fareTypeNoteEnglish" style="height: 100px;"></textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明(法文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNoteFrench" name="fareTypeNoteFrench" style="height: 100px;"></textarea>
                        </div>
                    </div>
                    <div class="form-group">
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_edit.html
@@ -22,9 +22,21 @@
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明:</label>
                        <label class="col-sm-2 control-label">运价类型说明(中文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNote" name="fareTypeNote" style="height: 100px;">${item.fareTypeNote}</textarea>
                            <textarea class="form-control" id="fareTypeNoteChinese" name="fareTypeNoteChinese" style="height: 100px;">${item.fareTypeNoteChinese}</textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明(英文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNoteEnglish" name="fareTypeNoteEnglish" style="height: 100px;">${item.fareTypeNoteEnglish}</textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明(法文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNoteFrench" name="fareTypeNoteFrench" style="height: 100px;">${item.fareTypeNoteFrench}</textarea>
                        </div>
                    </div>
                    <div class="form-group">
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html
@@ -22,9 +22,21 @@
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明:</label>
                        <label class="col-sm-2 control-label">运价类型说明(中文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNote" name="fareTypeNote" style="height: 100px;"></textarea>
                            <textarea class="form-control" id="fareTypeNoteChinese" name="fareTypeNoteChinese" style="height: 100px;"></textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明(英文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNoteEnglish" name="fareTypeNoteEnglish" style="height: 100px;"></textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明(法文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNoteFrench" name="fareTypeNoteFrench" style="height: 100px;"></textarea>
                        </div>
                    </div>
                    <div class="form-group">
ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html
@@ -22,9 +22,21 @@
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明:</label>
                        <label class="col-sm-2 control-label">运价类型说明(中文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNote" name="fareTypeNote" style="height: 100px;">${item.fareTypeNote}</textarea>
                            <textarea class="form-control" id="fareTypeNoteChinese" name="fareTypeNoteChinese" style="height: 100px;">${item.fareTypeNoteChinese}</textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明(英文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNoteEnglish" name="fareTypeNoteEnglish" style="height: 100px;">${item.fareTypeNoteEnglish}</textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">运价类型说明(法文):</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" id="fareTypeNoteFrench" name="fareTypeNoteFrench" style="height: 100px;">${item.fareTypeNoteFrench}</textarea>
                        </div>
                    </div>
                    <div class="form-group">
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/report/operationalData.js
@@ -27,7 +27,7 @@
            {title: '乘客取消数量', field: 'cancelNum', visible: true, align: 'center', valign: 'middle'},
            {title: '取消占比%', field: 'cancelProportion', visible: true, align: 'center', valign: 'middle'},
            {title: '通过平台支付(单)', field: 'onlinePay', visible: true, align: 'center', valign: 'middle'},
            {title: '通过其它支付(单)', field: 'offlinePay', visible: true, align: 'center', valign: 'middle'},
            {title: '通过现金支付(单)', field: 'offlinePay', visible: true, align: 'center', valign: 'middle'},
            {title: '合计', field: 'total', visible: true, align: 'center', valign: 'middle'},
            {title: '平台支付占比%', field: 'payProportion', visible: true, align: 'center', valign: 'middle'},
            {title: '金额', field: 'money', visible: true, align: 'center', valign: 'middle'},
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tReportLoss/tReportLoss.js
@@ -90,14 +90,14 @@
        layer.open({
            type: 1
            , title: ''
            , area: ['30%', '30%']
            , area: ["400px", '300px']
            , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
            , id: 'layerDemo' //防止重复弹出cge
            , content: '<div class="form-horizontal">' +
                '                    <div class="col-sm-11" style="margin-top: 30px">' +
                '                    <div class="col-sm-11">' +
                '                        <div class="form-group">\n' +
                '                            <label class="col-sm-3 control-label">备注:</label>\n' +
                '                            <label class="col-sm-3 control-label">回复内容:</label>\n' +
                '                            <div class="col-sm-9">\n' +
                '                              <textarea id="info" style="height: 150px;width: 250px" placeholder="多行输入,最多500字" maxlength="500"></textarea>\n' +
                '                            </div>\n' +
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSmallPrice_info.js
@@ -11,10 +11,24 @@
                }
            }
        },
        fareTypeNote: {
        fareTypeNoteChinese: {
            validators: {
                notEmpty: {
                    message: '运价类型说明不能为空'
                    message: '运价类型说明(中文)不能为空'
                }
            }
        },
        fareTypeNoteEnglish: {
            validators: {
                notEmpty: {
                    message: '运价类型说明(英文)不能为空'
                }
            }
        },
        fareTypeNoteFrench: {
            validators: {
                notEmpty: {
                    message: '运价类型说明(法文)不能为空'
                }
            }
        },
@@ -392,7 +406,9 @@
    .set('type')
    .set('companyId')
    .set('serverCarModelId')
    .set('fareTypeNote')
    .set('fareTypeNoteChinese')
    .set('fareTypeNoteEnglish')
    .set('fareTypeNoteFrench')
    .set('content');
}
ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/tSystemPrice/tSystemPrice_info.js
@@ -11,10 +11,24 @@
                }
            }
        },
        fareTypeNote: {
        fareTypeNoteChinese: {
            validators: {
                notEmpty: {
                    message: '运价类型说明不能为空'
                    message: '运价类型说明(中文)不能为空'
                }
            }
        },
        fareTypeNoteEnglish: {
            validators: {
                notEmpty: {
                    message: '运价类型说明(英文)不能为空'
                }
            }
        },
        fareTypeNoteFrench: {
            validators: {
                notEmpty: {
                    message: '运价类型说明(法文)不能为空'
                }
            }
        },
@@ -392,7 +406,9 @@
    .set('type')
    .set('companyId')
    .set('serverCarModelId')
    .set('fareTypeNote')
    .set('fareTypeNoteChinese')
    .set('fareTypeNoteEnglish')
    .set('fareTypeNoteFrench')
    .set('content');
}