From 8a66f76e0b0af13ccdba14f1d38eed91139ca124 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 23 三月 2023 11:41:43 +0800
Subject: [PATCH] 处理TODO,导出部分修改

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCashWithdrawalMapper.java                    |   18 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java              |   44 ++
 management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js                               |   14 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCashWithdrawalService.java              |   16 +
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_edit.html                               |   74 ++++-
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITAppUserService.java                     |   12 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java                                 |   10 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserResp.java                 |   12 
 management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js                                          |    2 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java        |   72 ++---
 management/guns-admin/src/main/webapp/static/modular/system/tBroadcast/tBroadcast.js                                    |    4 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html                                |   65 ++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCashWithdrawalServiceImpl.java      |   20 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCashWithdrawalMapper.xml             |   23 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/exports/TAppUserExceptionExport.java              |   36 +-
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCashWithdrawalController.java |  104 ++++++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCashWithdrawal.java                        |  154 +++++++++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java             |   43 +++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java          |   23 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TBroadcast.java                             |   25 +
 20 files changed, 667 insertions(+), 104 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java
index f707d54..f23ebd0 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java
@@ -176,36 +176,8 @@
         // 是否异常
         wrapper.eq("is_exception",2);
         List<TAppUser> tAppUsers = tAppUserService.selectList(wrapper);
-        List<TAppUserResp> tAppUserRespList = new ArrayList<>(tAppUsers.size());
-        for (TAppUser tAppUser : tAppUsers) {
-            TAppUserResp tAppUserResp = new TAppUserResp();
-            BeanUtils.copyProperties(tAppUser,tAppUserResp);
 
-            // 查询当前用户优惠券数量
-            List<TUserToCoupon> tUserToCoupons = tUserToCouponService.selectList(new EntityWrapper<TUserToCoupon>().eq("userId", tAppUser.getId()));
-
-            int couponTotal = tUserToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum();
-            int validCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();
-
-//            List<TCoupon> tCoupons = tCouponService.selectList(new EntityWrapper<TCoupon>().eq("user_id", tAppUser.getId()));
-//            List<TCoupon> notUsedList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList());
-            tAppUserResp.setCouponSum(couponTotal);
-            tAppUserResp.setNotUsedCount(validCount);
-            List<TOrder> orders = tOrderService.selectList(new EntityWrapper<TOrder>().eq("userId", tAppUser.getId()).orderBy(true,"createTime",false));
-            if(!CollectionUtils.isEmpty(orders)){
-                List<TOrder> collect1 = orders.stream().filter(order->Objects.nonNull(order.getState()))
-                        .filter(order -> OrderStateEnum.WAIT_EVALUATED.getCode() == order.getState() ||
-                                OrderStateEnum.FINISH.getCode() == order.getState()).collect(Collectors.toList());
-                if(!CollectionUtils.isEmpty(collect1)) {
-                    tAppUserResp.setConsumeSum(collect1.size());
-                    // 总消费金额
-                    collect1.stream().map(TOrder::getPayMoney).reduce(BigDecimal::add)
-                            .ifPresent(tAppUserResp::setConsumePrice);
-                }
-            }
-            tAppUserRespList.add(tAppUserResp);
-        }
-        return tAppUserRespList;
+        return tAppUserService.getTAppUserResp(tAppUsers);
     }
 
 
@@ -320,14 +292,16 @@
             for (int i = 0; i < list.size(); i++) {
                 TAppUser d = list.get(i);
                 values[i] = new String[title.length];
-                values[i][0] = d.getId().toString();
+                values[i][0] = String.valueOf(d.getId());
                 values[i][1] = d.getNickname();
                 values[i][2] = d.getPhone();
                 Integer sex = d.getSex();
-                if(1 == sex){
-                    values[i][3] = "男";
-                }else if(2 == sex){
-                    values[i][3] = "女";
+                if(Objects.nonNull(sex)){
+                    if(1 == sex){
+                        values[i][3] = "男";
+                    }else if(2 == sex){
+                        values[i][3] = "女";
+                    }
                 }else {
                     values[i][3] = "未知";
                 }
@@ -336,8 +310,8 @@
                 values[i][6] = d.getUnionid();
                 values[i][7] = d.getEmergencyContact();
                 values[i][8] = d.getEmergencyPhone();
-                values[i][9] = d.getAccountBalance().toString();
-                values[i][10] = d.getUserTagId().toString();
+                values[i][9] = String.valueOf(d.getAccountBalance());
+                values[i][10] = String.valueOf(d.getUserTagId());
                 Integer status1 = d.getStatus();
                 if(1 == status1){
                     values[i][11] = "正常";
@@ -383,7 +357,7 @@
             wrapper.eq("is_exception",2);
             List<TAppUser> list = tAppUserService.selectList(wrapper);
 
-            List<TAppUserExceptionExport> exportList = new ArrayList<>(list.size());
+            /*List<TAppUserExceptionExport> exportList = new ArrayList<>(list.size());
             for (TAppUser tAppUser : list) {
                 TAppUserExceptionExport export = new TAppUserExceptionExport();
                 BeanUtils.copyProperties(tAppUser,export);
@@ -394,7 +368,21 @@
                 tCoupons = tCoupons.stream().filter(coupon->coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList());
                 // 剩余优惠券
                 export.setRemainingCoupons(tCoupons.size());
-                // TODO 查询消费记录
+                // 查询消费记录
+                exportList.add(export);
+            }*/
+            List<TAppUserResp> tAppUserRespList = tAppUserService.getTAppUserResp(list);
+            List<TAppUserExceptionExport> exportList = new ArrayList<>(list.size());
+            for (TAppUserResp tAppUserResp : tAppUserRespList) {
+                TAppUserExceptionExport export = new TAppUserExceptionExport();
+                BeanUtils.copyProperties(tAppUserResp,export);
+                // 优惠券总数
+                export.setCouponsSum(tAppUserResp.getCouponSum());
+                // 剩余优惠券
+                export.setRemainingCoupons(tAppUserResp.getNotUsedCount());
+                export.setConsumptionTimes(tAppUserResp.getConsumeSum());
+                export.setHistoricalConsumption(tAppUserResp.getConsumePrice());
+                export.setLastConsumptionTime(tAppUserResp.getLastConsumptionTime());
                 exportList.add(export);
             }
             String[][] values = new String[list.size()][];
@@ -405,10 +393,10 @@
                 values[i][1] = d.getId().toString();
                 values[i][2] = d.getNickname();
                 values[i][3] = d.getPhone();
-                values[i][4] = d.getRemainingCoupons().toString();
-                values[i][5] = d.getCouponsSum().toString();
-                values[i][6] = d.getConsumptionTimes().toString();
-                values[i][7] = d.getHistoricalConsumption().toString();
+                values[i][4] = String.valueOf(d.getRemainingCoupons());
+                values[i][5] = String.valueOf(d.getCouponsSum());
+                values[i][6] = String.valueOf(Objects.nonNull(d.getConsumptionTimes())?d.getConsumptionTimes():0);
+                values[i][7] = String.valueOf(Objects.nonNull(d.getHistoricalConsumption())?d.getHistoricalConsumption():0);
                 if(Objects.nonNull(d.getLastConsumptionTime())){
                     values[i][8] = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(d.getLastConsumptionTime());
                 }else {
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCashWithdrawalController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCashWithdrawalController.java
new file mode 100644
index 0000000..b19a18d
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCashWithdrawalController.java
@@ -0,0 +1,104 @@
+package com.stylefeng.guns.modular.system.controller.general;
+
+import com.stylefeng.guns.core.base.controller.BaseController;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.stylefeng.guns.core.log.LogObjectHolder;
+import org.springframework.web.bind.annotation.RequestParam;
+import com.stylefeng.guns.modular.system.model.TCashWithdrawal;
+import com.stylefeng.guns.modular.system.service.ITCashWithdrawalService;
+
+/**
+ * 控制器
+ *
+ * @author fengshuonan
+ * @Date 2023-03-23 10:14:44
+ */
+@Controller
+@RequestMapping("/tCashWithdrawal")
+public class TCashWithdrawalController extends BaseController {
+
+    private String PREFIX = "/system/tCashWithdrawal/";
+
+    @Autowired
+    private ITCashWithdrawalService tCashWithdrawalService;
+
+    /**
+     * 跳转到首页
+     */
+    @RequestMapping("")
+    public String index() {
+        return PREFIX + "tCashWithdrawal.html";
+    }
+
+    /**
+     * 跳转到添加
+     */
+    @RequestMapping("/tCashWithdrawal_add")
+    public String tCashWithdrawalAdd() {
+        return PREFIX + "tCashWithdrawal_add.html";
+    }
+
+    /**
+     * 跳转到修改
+     */
+    @RequestMapping("/tCashWithdrawal_update/{tCashWithdrawalId}")
+    public String tCashWithdrawalUpdate(@PathVariable Integer tCashWithdrawalId, Model model) {
+        TCashWithdrawal tCashWithdrawal = tCashWithdrawalService.selectById(tCashWithdrawalId);
+        model.addAttribute("item",tCashWithdrawal);
+        LogObjectHolder.me().set(tCashWithdrawal);
+        return PREFIX + "tCashWithdrawal_edit.html";
+    }
+
+    /**
+     * 获取列表
+     */
+    @RequestMapping(value = "/list")
+    @ResponseBody
+    public Object list(String condition) {
+        return tCashWithdrawalService.selectList(null);
+    }
+
+    /**
+     * 新增
+     */
+    @RequestMapping(value = "/add")
+    @ResponseBody
+    public Object add(TCashWithdrawal tCashWithdrawal) {
+        tCashWithdrawalService.insert(tCashWithdrawal);
+        return SUCCESS_TIP;
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping(value = "/delete")
+    @ResponseBody
+    public Object delete(@RequestParam Integer tCashWithdrawalId) {
+        tCashWithdrawalService.deleteById(tCashWithdrawalId);
+        return SUCCESS_TIP;
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping(value = "/update")
+    @ResponseBody
+    public Object update(TCashWithdrawal tCashWithdrawal) {
+        tCashWithdrawalService.updateById(tCashWithdrawal);
+        return SUCCESS_TIP;
+    }
+
+    /**
+     * 详情
+     */
+    @RequestMapping(value = "/detail/{tCashWithdrawalId}")
+    @ResponseBody
+    public Object detail(@PathVariable("tCashWithdrawalId") Integer tCashWithdrawalId) {
+        return tCashWithdrawalService.selectById(tCashWithdrawalId);
+    }
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
index 8fb8b15..31bf8a2 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
@@ -204,11 +204,16 @@
             TAppUserDetailOrderResp tAppUserDetailOrderResp = new TAppUserDetailOrderResp();
             BeanUtils.copyProperties(tOrder,tAppUserDetailOrderResp);
 
-            // TODO 计算总里程
-
+            // 计算总里程
+            if(Objects.nonNull(tOrder.getActualMileage())){
+                tAppUserDetailOrderResp.setMileageSum(tOrder.getActualMileage()/1000);
+            }
 
             // 计算总时长
-            long travelTimeSum = DateUtil.between(tAppUserDetailOrderResp.getBoardingTime(), tAppUserDetailOrderResp.getGetoffTime(), DateUnit.MINUTE);
+            long travelTimeSum = 0;
+            if(Objects.nonNull(tAppUserDetailOrderResp.getBoardingTime()) && Objects.nonNull(tAppUserDetailOrderResp.getGetoffTime())){
+                travelTimeSum = DateUtil.between(tAppUserDetailOrderResp.getBoardingTime(), tAppUserDetailOrderResp.getGetoffTime(), DateUnit.MINUTE);
+            }
             tAppUserDetailOrderResp.setTravelTimeSum(Integer.valueOf(Long.toString(travelTimeSum)));
 
             list.add(tAppUserDetailOrderResp);
@@ -295,7 +300,11 @@
                 }else if(2 == source1){
                     values[i][2] = "司机创建";
                 }
-                values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+                if(Objects.nonNull(d.getStartTime())){
+                    values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+                }else {
+                    values[i][3] = "";
+                }
                 values[i][4] = d.getUserName();
                 values[i][5] = d.getUserPhone();
                 values[i][6] = d.getStartAddress();
@@ -372,7 +381,11 @@
                 }else if(2 == source1){
                     values[i][2] = "司机创建";
                 }
-                values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+                if(Objects.nonNull(d.getStartTime())){
+                    values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+                }else {
+                    values[i][3] = "";
+                }
                 values[i][4] = d.getUserName();
                 values[i][5] = d.getUserPhone();
                 values[i][6] = d.getStartAddress();
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserResp.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserResp.java
index 2522e2f..bdbc5ca 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserResp.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserResp.java
@@ -5,6 +5,7 @@
 import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 public class TAppUserResp extends TAppUser {
 
@@ -20,6 +21,17 @@
     @ApiModelProperty(value = "历史消费")
     private BigDecimal consumePrice;
 
+    @ApiModelProperty(value = "最后一次消费时间")
+    private Date lastConsumptionTime;
+
+    public Date getLastConsumptionTime() {
+        return lastConsumptionTime;
+    }
+
+    public void setLastConsumptionTime(Date lastConsumptionTime) {
+        this.lastConsumptionTime = lastConsumptionTime;
+    }
+
     public Integer getCouponSum() {
         return couponSum;
     }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCashWithdrawalMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCashWithdrawalMapper.java
new file mode 100644
index 0000000..3347e88
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCashWithdrawalMapper.java
@@ -0,0 +1,18 @@
+package com.stylefeng.guns.modular.system.dao;
+
+import com.stylefeng.guns.modular.system.model.TCashWithdrawal;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 提现记录 Mapper 接口
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2023-03-23
+ */
+@Mapper
+public interface TCashWithdrawalMapper extends BaseMapper<TCashWithdrawal> {
+
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCashWithdrawalMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCashWithdrawalMapper.xml
new file mode 100644
index 0000000..4eb2338
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCashWithdrawalMapper.xml
@@ -0,0 +1,23 @@
+<?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.TCashWithdrawalMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TCashWithdrawal">
+        <id column="id" property="id" />
+        <result column="type" property="type" />
+        <result column="userDriverId" property="userDriverId" />
+        <result column="code" property="code" />
+        <result column="businessType" property="businessType" />
+        <result column="amount" property="amount" />
+        <result column="state" property="state" />
+        <result column="orderNumber" property="orderNumber" />
+        <result column="createTime" property="createTime" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, type, userDriverId, code, businessType, amount, state, orderNumber, createTime
+    </sql>
+
+</mapper>
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/exports/TAppUserExceptionExport.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/exports/TAppUserExceptionExport.java
index e357e73..92f2172 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/exports/TAppUserExceptionExport.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/exports/TAppUserExceptionExport.java
@@ -30,13 +30,29 @@
     private Integer couponsSum;
 
     @ApiModelProperty(value = "消费次数")
-    private Integer ConsumptionTimes = 0;
+    private Integer consumptionTimes = 0;
 
     @ApiModelProperty(value = "历史消费")
-    private BigDecimal HistoricalConsumption = new BigDecimal("0.00");
+    private BigDecimal historicalConsumption = new BigDecimal("0.00");
 
     @ApiModelProperty(value = "最后一次消费时间")
     private Date lastConsumptionTime;
+
+    public Integer getConsumptionTimes() {
+        return consumptionTimes;
+    }
+
+    public void setConsumptionTimes(Integer consumptionTimes) {
+        this.consumptionTimes = consumptionTimes;
+    }
+
+    public BigDecimal getHistoricalConsumption() {
+        return historicalConsumption;
+    }
+
+    public void setHistoricalConsumption(BigDecimal historicalConsumption) {
+        this.historicalConsumption = historicalConsumption;
+    }
 
     public Integer getId() {
         return id;
@@ -92,22 +108,6 @@
 
     public void setCouponsSum(Integer couponsSum) {
         this.couponsSum = couponsSum;
-    }
-
-    public Integer getConsumptionTimes() {
-        return ConsumptionTimes;
-    }
-
-    public void setConsumptionTimes(Integer consumptionTimes) {
-        ConsumptionTimes = consumptionTimes;
-    }
-
-    public BigDecimal getHistoricalConsumption() {
-        return HistoricalConsumption;
-    }
-
-    public void setHistoricalConsumption(BigDecimal historicalConsumption) {
-        HistoricalConsumption = historicalConsumption;
     }
 
     public Date getLastConsumptionTime() {
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TBroadcast.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TBroadcast.java
index f085790..ecea805 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TBroadcast.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TBroadcast.java
@@ -42,6 +42,31 @@
      */
     private Date createTime;
 
+    /**
+     * 是否显示 1是 0否
+     */
+    private Boolean isShow;
+
+    /**
+     * 上下架 1上架 2下架
+     */
+    private Integer upDown;
+
+    public Boolean getIsShow() {
+        return isShow;
+    }
+
+    public void setIsShow(Boolean isShow) {
+        this.isShow = isShow;
+    }
+
+    public Integer getUpDown() {
+        return upDown;
+    }
+
+    public void setUpDown(Integer upDown) {
+        this.upDown = upDown;
+    }
 
     public Integer getId() {
         return id;
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCashWithdrawal.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCashWithdrawal.java
new file mode 100644
index 0000000..5e600d6
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCashWithdrawal.java
@@ -0,0 +1,154 @@
+package com.stylefeng.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import java.math.BigDecimal;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 提现记录
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2023-03-23
+ */
+@TableName("t_cash_withdrawal")
+public class TCashWithdrawal extends Model<TCashWithdrawal> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 类型(1=用户,2=司机)
+     */
+    private Integer type;
+    /**
+     * 用户或司机id
+     */
+    private Integer userDriverId;
+    /**
+     * 提现编号
+     */
+    private String code;
+    /**
+     * 交易类型 11佣金提现 12余额提现
+     */
+    private Integer businessType;
+    /**
+     * 提现金额
+     */
+    private BigDecimal amount;
+    /**
+     * 提现状态 1未成功 2成功
+     */
+    private Integer state;
+    /**
+     * 第三方流水号
+     */
+    private String orderNumber;
+    /**
+     * 添加时间
+     */
+    private Date createTime;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public Integer getUserDriverId() {
+        return userDriverId;
+    }
+
+    public void setUserDriverId(Integer userDriverId) {
+        this.userDriverId = userDriverId;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public Integer getBusinessType() {
+        return businessType;
+    }
+
+    public void setBusinessType(Integer businessType) {
+        this.businessType = businessType;
+    }
+
+    public BigDecimal getAmount() {
+        return amount;
+    }
+
+    public void setAmount(BigDecimal amount) {
+        this.amount = amount;
+    }
+
+    public Integer getState() {
+        return state;
+    }
+
+    public void setState(Integer state) {
+        this.state = state;
+    }
+
+    public String getOrderNumber() {
+        return orderNumber;
+    }
+
+    public void setOrderNumber(String orderNumber) {
+        this.orderNumber = orderNumber;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "TCashWithdrawal{" +
+        "id=" + id +
+        ", type=" + type +
+        ", userDriverId=" + userDriverId +
+        ", code=" + code +
+        ", businessType=" + businessType +
+        ", amount=" + amount +
+        ", state=" + state +
+        ", orderNumber=" + orderNumber +
+        ", createTime=" + createTime +
+        "}";
+    }
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java
index 8bf3d43..8edc2e7 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java
@@ -184,6 +184,16 @@
 
     @ApiModelProperty(value = "折扣优惠金额")
     private BigDecimal discountAmount;
+    @ApiModelProperty(value = "实际里程(米)")
+    private Integer actualMileage;
+
+    public Integer getActualMileage() {
+        return actualMileage;
+    }
+
+    public void setActualMileage(Integer actualMileage) {
+        this.actualMileage = actualMileage;
+    }
 
     public String getRouteRecord() {
         return routeRecord;
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITAppUserService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITAppUserService.java
index 4c79c9b..f7b4641 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITAppUserService.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITAppUserService.java
@@ -1,9 +1,12 @@
 package com.stylefeng.guns.modular.system.service;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.stylefeng.guns.modular.system.controller.resp.TAppUserResp;
 import com.stylefeng.guns.modular.system.model.TAppUser;
 import com.baomidou.mybatisplus.service.IService;
 import org.springframework.ui.Model;
+
+import java.util.List;
 
 /**
  * <p>
@@ -32,4 +35,13 @@
      * @return
      */
     EntityWrapper<TAppUser> getUserListWrapper(String createTime, String nickname, String phone, Integer id, Integer status);
+
+    /**
+     * 用户异常列表封装返回数据
+     * @param tAppUsers
+     * @return
+     */
+    List<TAppUserResp> getTAppUserResp(List<TAppUser> tAppUsers);
+
+
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCashWithdrawalService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCashWithdrawalService.java
new file mode 100644
index 0000000..0c47c87
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCashWithdrawalService.java
@@ -0,0 +1,16 @@
+package com.stylefeng.guns.modular.system.service;
+
+import com.stylefeng.guns.modular.system.model.TCashWithdrawal;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ * 提现记录 服务类
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2023-03-23
+ */
+public interface ITCashWithdrawalService extends IService<TCashWithdrawal> {
+
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java
index e4091f2..632cd90 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.util.DateUtil;
+import com.stylefeng.guns.modular.system.controller.resp.TAppUserResp;
 import com.stylefeng.guns.modular.system.dao.TCouponMapper;
 import com.stylefeng.guns.modular.system.dao.TOrderMapper;
 import com.stylefeng.guns.modular.system.dao.TUserToCouponMapper;
@@ -15,6 +16,7 @@
 import com.stylefeng.guns.modular.system.model.TUserToCoupon;
 import com.stylefeng.guns.modular.system.service.ITAppUserService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.Model;
@@ -22,10 +24,7 @@
 import org.springframework.util.StringUtils;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -155,4 +154,40 @@
         wrapper.ne("status", StatusEnum.DELETE.getCode());
         return wrapper;
     }
+
+    @Override
+    public List<TAppUserResp> getTAppUserResp(List<TAppUser> tAppUsers) {
+        List<TAppUserResp> tAppUserRespList = new ArrayList<>(tAppUsers.size());
+        for (TAppUser tAppUser : tAppUsers) {
+            TAppUserResp tAppUserResp = new TAppUserResp();
+            BeanUtils.copyProperties(tAppUser,tAppUserResp);
+
+            // 查询当前用户优惠券数量
+            List<TUserToCoupon> tUserToCoupons = tUserToCouponMapper.selectList(new EntityWrapper<TUserToCoupon>().eq("userId", tAppUser.getId()));
+
+            int couponTotal = tUserToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum();
+            int validCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();
+
+//            List<TCoupon> tCoupons = tCouponService.selectList(new EntityWrapper<TCoupon>().eq("user_id", tAppUser.getId()));
+//            List<TCoupon> notUsedList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList());
+            tAppUserResp.setCouponSum(couponTotal);
+            tAppUserResp.setNotUsedCount(validCount);
+            List<TOrder> orders = tOrderMapper.selectList(new EntityWrapper<TOrder>().eq("userId", tAppUser.getId()).orderBy(true,"createTime",false));
+            if(!CollectionUtils.isEmpty(orders)){
+                // 最后一次消费时间
+                tAppUserResp.setLastConsumptionTime(orders.get(0).getCreateTime());
+                List<TOrder> collect1 = orders.stream().filter(order->Objects.nonNull(order.getState()))
+                        .filter(order -> OrderStateEnum.WAIT_EVALUATED.getCode() == order.getState() ||
+                                OrderStateEnum.FINISH.getCode() == order.getState()).collect(Collectors.toList());
+                if(!CollectionUtils.isEmpty(collect1)) {
+                    tAppUserResp.setConsumeSum(collect1.size());
+                    // 总消费金额
+                    collect1.stream().map(TOrder::getPayMoney).reduce(BigDecimal::add)
+                            .ifPresent(tAppUserResp::setConsumePrice);
+                }
+            }
+            tAppUserRespList.add(tAppUserResp);
+        }
+        return tAppUserRespList;
+    }
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCashWithdrawalServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCashWithdrawalServiceImpl.java
new file mode 100644
index 0000000..113323b
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCashWithdrawalServiceImpl.java
@@ -0,0 +1,20 @@
+package com.stylefeng.guns.modular.system.service.impl;
+
+import com.stylefeng.guns.modular.system.model.TCashWithdrawal;
+import com.stylefeng.guns.modular.system.dao.TCashWithdrawalMapper;
+import com.stylefeng.guns.modular.system.service.ITCashWithdrawalService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 提现记录 服务实现类
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2023-03-23
+ */
+@Service
+public class TCashWithdrawalServiceImpl extends ServiceImpl<TCashWithdrawalMapper, TCashWithdrawal> implements ITCashWithdrawalService {
+
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
index bc2b295..a6f5ed0 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
@@ -11,11 +11,14 @@
 import com.stylefeng.guns.modular.system.controller.util.UUIDUtil;
 import com.stylefeng.guns.modular.system.dao.*;
 import com.stylefeng.guns.modular.system.enums.OrderStateEnum;
+import com.stylefeng.guns.modular.system.enums.PayStatusEnum;
 import com.stylefeng.guns.modular.system.enums.StatusEnum;
+import com.stylefeng.guns.modular.system.enums.UserTypeEnum;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.ITDriverService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.modular.system.service.ITRegionService;
+import org.apache.poi.hdf.extractor.TC;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -29,10 +32,7 @@
 import java.time.LocalDate;
 import java.time.Period;
 import java.time.ZoneId;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
@@ -66,6 +66,11 @@
     private ITRegionService itRegionService;
     @Autowired
     private HttpUtils httpUtils;
+
+    @Autowired
+    private TRechargeRecordMapper tRechargeRecordMapper;
+    @Autowired
+    private TCashWithdrawalMapper tCashWithdrawalMapper;
 
     @Override
     public EntityWrapper<TDriver> getPageList(String createTime, String phone, Integer status) {
@@ -234,19 +239,42 @@
 
         if(!CollectionUtils.isEmpty(tOrders)){
             //累计订单量
-            List<TOrder> cumulativeOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId())
+            List<TOrder> cumulativeOrderCount = tOrders.stream().filter(order -> tDriver.getId().equals(order.getDriverId())
                     && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode())).collect(Collectors.toList());
             model.addAttribute("cumulativeOrderCount",cumulativeOrderCount.size());
             //当月订单量
-            List<TOrder> monthOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId())
+            List<TOrder> monthOrderCount = tOrders.stream().filter(order -> tDriver.getId().equals(order.getDriverId())
                     && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode())
                     && new SimpleDateFormat("yyyyMM").format(order.getCreateTime()).equals(monthDate)).collect(Collectors.toList());
             model.addAttribute("monthOrderCount",monthOrderCount.size());
             // 拒单次数
             List<TOrderRefusal> driverRefusalList = tOrderRefusalMapper.selectList(new EntityWrapper<TOrderRefusal>().eq("driver_id", tDriver.getId()));
             model.addAttribute("refusalCount",driverRefusalList.size());
-            // todo 累计收入
-            model.addAttribute("cumulativeIncome",0);
+            // 累计收入 司机提现记录加上余额减去充值金额,为累计收入
+            List<TCashWithdrawal> tCashWithdrawals = tCashWithdrawalMapper.selectList(new EntityWrapper<TCashWithdrawal>()
+                    .eq("type", UserTypeEnum.DRIVER.getCode())
+                    .eq("userDriverId", tDriver.getId())
+                    .eq("state", 2));
+            BigDecimal balance = tDriver.getBalance();
+            if(!CollectionUtils.isEmpty(tCashWithdrawals)){
+                Optional<BigDecimal> reduce = tCashWithdrawals.stream().map(TCashWithdrawal::getAmount).reduce(BigDecimal::add);
+                if(reduce.isPresent()){
+                    balance = balance.add(reduce.get());
+                }
+            }
+            List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>()
+                    .eq("type", UserTypeEnum.DRIVER.getCode())
+                    .eq("userId", tDriver.getId())
+                    .eq("payType", 1)
+                    .eq("payStatus", PayStatusEnum.FINISH.getCode()));
+            if(!CollectionUtils.isEmpty(tRechargeRecords)){
+                Optional<BigDecimal> reduce = tRechargeRecords.stream().map(TRechargeRecord::getAmount).reduce(BigDecimal::add);
+                if(reduce.isPresent()){
+                    balance = balance.subtract(reduce.get());
+                }
+            }
+            // 减去充值金额
+            model.addAttribute("cumulativeIncome",balance);
         }else {
             model.addAttribute("cumulativeOrderCount",0);
             model.addAttribute("monthOrderCount",0);
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html
index ed37e07..8560072 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html
@@ -1,5 +1,66 @@
 @layout("/common/_container.html"){
-<div class="ibox float-e-margins">
+<div class="row">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <div class="ibox-title">
+                <h5>添加</h5>
+            </div>
+            <div class="ibox-content" id="broadcastInfoForm">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
+
+                        <div class="col-sm-12" style="cursor: pointer;text-align: right;">
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div style="background-color: gray;height: 35px;line-height: 35px">
+                                    <label style="color: #0C0C0C">滚动消息</label>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >消息内容:</label>
+                                    <input id="content" name="content" type="text" maxlength="200" style="height: 30px" required="required">
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >排序:</label>
+                                    <input id="sort" name="sort" type="number" style="height: 30px" maxlength="4"  placeholder="请输入" required="required">
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >是否显示:</label>
+                                    <select class="input-group col-sm-6" id="isShow" style="width: 180px;height: 30px" name="isShow">
+                                        <option value="">选择是否显示</option>
+                                        <option value="1">是</option>
+                                        <option value="0">否</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                        </div>
+
+                    </div>
+                </div>
+
+                <div class="row btn-group-m-t">
+                    <div class="col-sm-10" style="text-align: center">
+                        <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBranchOfficeInfoDlg.close()"/>
+                        <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBranchOfficeInfoDlg.addSubmit()"/>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<!--<div class="ibox float-e-margins">
     <div class="ibox-content">
         <div class="form-horizontal">
 
@@ -25,6 +86,6 @@
         </div>
 
     </div>
-</div>
+</div>-->
 <script src="${ctxPath}/static/modular/system/tBroadcast/tBroadcast_info.js"></script>
 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_edit.html
index cd848d4..6d7d472 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_edit.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_edit.html
@@ -1,29 +1,63 @@
 @layout("/common/_container.html"){
-<div class="ibox float-e-margins">
-    <div class="ibox-content">
-        <div class="form-horizontal">
-
-            <div class="row">
-                <div class="col-sm-6 b-r">
-                            <#input id="id" name="主键" value="${item.id}" underline="true"/>
-                            <#input id="content" name="消息内容" value="${item.content}" underline="true"/>
-                            <#input id="sort" name="排序" value="${item.sort}" />
-                </div>
-
-                <div class="col-sm-6">
-                            <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/>
-                            <#input id="createTime" name="添加时间" value="${item.createTime}" />
-                </div>
+<div class="row">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <div class="ibox-title">
+                <h5>编辑</h5>
             </div>
+            <div class="ibox-content" id="broadcastInfoForm">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
 
-            <div class="row btn-group-m-t">
-                <div class="col-sm-10">
-                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBroadcastInfoDlg.editSubmit()"/>
-                    <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBroadcastInfoDlg.close()"/>
+                        <div class="col-sm-12" style="cursor: pointer;text-align: right;">
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div style="background-color: gray;height: 35px;line-height: 35px">
+                                    <label style="color: #0C0C0C">滚动消息</label>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >消息内容:</label>
+                                    <input id="content" value="${content}" type="text" maxlength="200" style="height: 30px" required="required">
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >排序:</label>
+                                    <input id="sort" value="${sort}" type="number" style="height: 30px" maxlength="4"  placeholder="请输入" required="required">
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >是否显示:</label>
+                                    <select class="input-group col-sm-6" id="isShow" style="width: 180px;height: 30px" name="isShow">
+                                        <option value="">选择是否显示</option>
+                                        <option value="1">是</option>
+                                        <option value="0">否</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                        </div>
+
+                    </div>
+                </div>
+
+                <div class="row btn-group-m-t">
+                    <div class="col-sm-10" style="text-align: center">
+                        <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBranchOfficeInfoDlg.close()"/>
+                        <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBranchOfficeInfoDlg.addSubmit()"/>
+                    </div>
                 </div>
             </div>
         </div>
-
     </div>
 </div>
 <script src="${ctxPath}/static/modular/system/tBroadcast/tBroadcast_info.js"></script>
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js
index b5c7014..2083ba3 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js
@@ -22,8 +22,18 @@
             {title: '优惠券总数', field: 'couponSum', visible: true, align: 'center', valign: 'middle'},
             {title: '消费次数', field: 'consumeSum', visible: true, align: 'center', valign: 'middle'},
             {title: '历史消费', field: 'consumePrice', visible: true, align: 'center', valign: 'middle'},
-            {title: '最后一次消费时间', field: 'emergencyContact', visible: true, align: 'center', valign: 'middle'},
-            {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle'},
+            {title: '最后一次消费时间', field: 'lastConsumptionTime', visible: true, align: 'center', valign: 'middle'},
+            {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle',
+                formatter: function (value, row) {
+                    if (row.status === 1){
+                        return '<span>正常</span>'
+                    }else if (row.status === 2){
+                        return '<span>冻结</span>'
+                    }else if (row.status === 3){
+                        return '<span>已删除</span>'
+                    }
+                }
+            },
             {title: '操作', visible: true, align: 'center', valign: 'middle',width:150,
                 formatter: function (value, row) {
                     if (row.status === 1){
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tBroadcast/tBroadcast.js b/management/guns-admin/src/main/webapp/static/modular/system/tBroadcast/tBroadcast.js
index 5734e4d..700f2cc 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tBroadcast/tBroadcast.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tBroadcast/tBroadcast.js
@@ -62,7 +62,7 @@
     var index = layer.open({
         type: 2,
         title: '添加',
-        area: ['800px', '420px'], //宽高
+        area: ['100%', '100%'], //宽高
         fix: false, //不固定
         maxmin: true,
         content: Feng.ctxPath + '/tBroadcast/tBroadcast_add'
@@ -78,7 +78,7 @@
         var index = layer.open({
             type: 2,
             title: '详情',
-            area: ['800px', '420px'], //宽高
+            area: ['100%', '100%'], //宽高
             fix: false, //不固定
             maxmin: true,
             content: Feng.ctxPath + '/tBroadcast/tBroadcast_update/' + TBroadcast.seItem.id
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js
index 9bbeebf..092cc58 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js
@@ -72,7 +72,7 @@
                     return '<a href="#" onclick="TDriver.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +'&nbsp;' +
                         '<a href="#" onclick="TDriver.stop('+row.id+','+row.status+')" style="color:red">冻结</a>' +'&nbsp;' +
                         '<a href="#" onclick="TDriver.updateInfo('+row.id+')" style="color:green">编辑</a>'
-                }else if (row.status === 2){
+                }else if (row.status === 2 || row.approvalStatus === 2){
                     return '<a href="#" onclick="TDriver.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +'&nbsp;' +
                         '<a href="#" onclick="TDriver.start('+row.id+','+row.status+')" style="color:green">解冻</a>'
                 }

--
Gitblit v1.7.1