Explorar el Código

fix:统计技师数据

wrj hace 9 meses
padre
commit
9fcb60f329
Se han modificado 18 ficheros con 585 adiciones y 16 borrados
  1. 1 1
      nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TCommentController.java
  2. 87 0
      nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TJsDayController.java
  3. 190 0
      nightFragrance-massage/src/main/java/com/ylx/massage/domain/TJsDay.java
  4. 5 0
      nightFragrance-massage/src/main/java/com/ylx/massage/domain/TOrder.java
  5. 35 0
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TJsDayMapper.java
  6. 11 0
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TOrderMapper.java
  7. 2 0
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TSignMapper.java
  8. 15 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/TJsDayService.java
  9. 11 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/TOrderService.java
  10. 3 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/TSignService.java
  11. 19 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TJsDayServiceImpl.java
  12. 4 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TJsServiceImpl.java
  13. 22 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java
  14. 12 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TSignServiceImpl.java
  15. 67 15
      nightFragrance-massage/src/main/java/com/ylx/massage/task/massageTask.java
  16. 49 0
      nightFragrance-massage/src/main/resources/mapper/massage/TJsDayMapper.xml
  17. 47 0
      nightFragrance-massage/src/main/resources/mapper/massage/TOrderMapper.xml
  18. 5 0
      nightFragrance-massage/src/main/resources/mapper/massage/TSignMapper.xml

+ 1 - 1
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TCommentController.java

@@ -73,7 +73,7 @@ public class TCommentController extends BaseController {
     @PostMapping("delete")
     @ApiOperation("删除数据")
     @Log(title = "评论删除数据", businessType = BusinessType.DELETE)
-    public R delete(@RequestBody List<Long> idList) {
+    public R delete(@RequestBody List<String> idList) {
         return R.ok(this.commentService.removeByIds(idList));
     }
 }

+ 87 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TJsDayController.java

@@ -0,0 +1,87 @@
+package com.ylx.web.controller.massage;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.common.core.controller.BaseController;
+import com.ylx.common.core.domain.R;
+import com.ylx.massage.domain.TJsDay;
+import com.ylx.massage.service.TJsDayService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 技师数据统计(TJsDay)表控制层
+ *
+ * @author makejava
+ * @since 2024-08-14 18:00:30
+ */
+@RestController
+@RequestMapping("tJsDay")
+public class TJsDayController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private TJsDayService tJsDayService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param page   分页对象
+     * @param tJsDay 查询实体
+     * @return 所有数据
+     */
+    @GetMapping
+    public R selectAll(Page<TJsDay> page, TJsDay tJsDay) {
+        return R.ok(this.tJsDayService.page(page, new QueryWrapper<>(tJsDay)));
+    }
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping("{id}")
+    public R selectOne(@PathVariable Serializable id) {
+        return R.ok(this.tJsDayService.getById(id));
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param tJsDay 实体对象
+     * @return 新增结果
+     */
+    @PostMapping
+    public R insert(@RequestBody TJsDay tJsDay) {
+        return R.ok(this.tJsDayService.save(tJsDay));
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param tJsDay 实体对象
+     * @return 修改结果
+     */
+    @PutMapping
+    public R update(@RequestBody TJsDay tJsDay) {
+        return R.ok(this.tJsDayService.updateById(tJsDay));
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param idList 主键结合
+     * @return 删除结果
+     */
+    @DeleteMapping
+    public R delete(@RequestParam("idList") List<Long> idList) {
+        return R.ok(this.tJsDayService.removeByIds(idList));
+    }
+}
+

+ 190 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TJsDay.java

@@ -0,0 +1,190 @@
+package com.ylx.massage.domain;
+
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 技师数据统计(TJsDay)表实体类
+ *
+ * @author makejava
+ * @since 2024-08-14 18:00:31
+ */
+@SuppressWarnings("serial")
+public class TJsDay extends Model<TJsDay> {
+    //主键
+    private String id;
+    //在线时长
+    private Integer onLine;
+    //订单数
+    private Integer orderNum;
+    //营业额
+    private BigDecimal turnover;
+    //加钟数
+    private Integer addNum;
+    //升级数
+    private Integer upgradeNum;
+    //充值
+    private Double recharge;
+    //技师id
+    private String jsId;
+    //技师openid
+    private String openId;
+    //统计日期
+    private String countDate;
+    //技师姓名
+    private String name;
+    //部门id
+    private String deptId;
+    //充值
+    private String deptName;
+    //系统创建时间
+    private Date createTime;
+    //系统修改时间
+    private Date updateTime;
+    //是否删除0否1是
+    private Integer isDelete;
+
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Integer getOnLine() {
+        return onLine;
+    }
+
+    public void setOnLine(Integer onLine) {
+        this.onLine = onLine;
+    }
+
+    public Integer getOrderNum() {
+        return orderNum;
+    }
+
+    public void setOrderNum(Integer orderNum) {
+        this.orderNum = orderNum;
+    }
+
+    public BigDecimal getTurnover() {
+        return turnover;
+    }
+
+    public void setTurnover(BigDecimal turnover) {
+        this.turnover = turnover;
+    }
+
+    public Integer getAddNum() {
+        return addNum;
+    }
+
+    public void setAddNum(Integer addNum) {
+        this.addNum = addNum;
+    }
+
+    public Integer getUpgradeNum() {
+        return upgradeNum;
+    }
+
+    public void setUpgradeNum(Integer upgradeNum) {
+        this.upgradeNum = upgradeNum;
+    }
+
+    public Double getRecharge() {
+        return recharge;
+    }
+
+    public void setRecharge(Double recharge) {
+        this.recharge = recharge;
+    }
+
+    public String getJsId() {
+        return jsId;
+    }
+
+    public void setJsId(String jsId) {
+        this.jsId = jsId;
+    }
+
+    public String getOpenId() {
+        return openId;
+    }
+
+    public void setOpenId(String openId) {
+        this.openId = openId;
+    }
+
+    public String getCountDate() {
+        return countDate;
+    }
+
+    public void setCountDate(String countDate) {
+        this.countDate = countDate;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(String deptId) {
+        this.deptId = deptId;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public Integer getIsDelete() {
+        return isDelete;
+    }
+
+    public void setIsDelete(Integer isDelete) {
+        this.isDelete = isDelete;
+    }
+
+    /**
+     * 获取主键值
+     *
+     * @return 主键值
+     */
+    @Override
+    public Serializable pkVal() {
+        return this.id;
+    }
+}
+

+ 5 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TOrder.java

@@ -51,6 +51,11 @@ public class TOrder implements Serializable {
     @ApiModelProperty("父订单号")
     private String parentNo;
 
+    @TableField("timeout_cause")
+    @ApiModelProperty("超时原因")
+    private String timeoutCause;
+
+
     @TableField("tape")
     @ApiModelProperty("音频")
     private String tape;

+ 35 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TJsDayMapper.java

@@ -0,0 +1,35 @@
+package com.ylx.massage.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.ylx.massage.domain.TJsDay;
+
+/**
+ * 技师数据统计(TJsDay)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-08-14 18:00:30
+ */
+public interface TJsDayMapper extends BaseMapper<TJsDay> {
+
+    /**
+     * 批量新增数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TJsDay> 实例对象列表
+     * @return 影响行数
+     */
+    int insertBatch(@Param("entities") List<TJsDay> entities);
+
+    /**
+     * 批量新增或按主键更新数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TJsDay> 实例对象列表
+     * @return 影响行数
+     * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
+     */
+    int insertOrUpdateBatch(@Param("entities") List<TJsDay> entities);
+
+}
+

+ 11 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TOrderMapper.java

@@ -6,6 +6,9 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import com.ylx.massage.domain.TOrder;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  * 订单表 Mapper 接口
@@ -18,4 +21,12 @@ import com.ylx.massage.domain.TOrder;
 public interface TOrderMapper extends BaseMapper<TOrder> {
 
     public Page<TOrder> getAll(Page<TOrder>page, @Param("param") TOrder param);
+
+    Integer getOrderNum(@Param("jsid") String jsid, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
+
+    Integer getAddNum(@Param("jsid") String jsid, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
+
+    Integer getUpgradeNum(@Param("jsid") String jsid, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
+
+    BigDecimal getTurnover(@Param("jsid") String jsid, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
 }

+ 2 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TSignMapper.java

@@ -1,5 +1,6 @@
 package com.ylx.massage.mapper;
 
+import java.util.Date;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -31,5 +32,6 @@ public interface TSignMapper extends BaseMapper<TSign> {
      */
     int insertOrUpdateBatch(@Param("entities") List<TSign> entities);
 
+    Integer getOnLineTime(@Param("jsId") String jsId, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
 }
 

+ 15 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TJsDayService.java

@@ -0,0 +1,15 @@
+package com.ylx.massage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ylx.massage.domain.TJsDay;
+
+/**
+ * 技师数据统计(TJsDay)表服务接口
+ *
+ * @author makejava
+ * @since 2024-08-14 18:00:31
+ */
+public interface TJsDayService extends IService<TJsDay> {
+
+}
+

+ 11 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TOrderService.java

@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ylx.common.core.domain.R;
 import com.ylx.massage.domain.TOrder;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 
 /**
  * 订单表 服务类
@@ -57,4 +60,12 @@ public interface TOrderService extends IService<TOrder> {
     Object updateAddressById(TOrder borrow);
 
     Object depart(TOrder order);
+
+    Integer getOrderNum(String jsid, Date startDate, Date endDate);
+
+    Integer getAddNum(String jsid, Date startDate, Date endDate);
+
+    Integer getUpgradeNum(String id, Date startDate, Date endDate);
+
+    BigDecimal getTurnover(String id, Date startDate, Date endDate);
 }

+ 3 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TSignService.java

@@ -3,6 +3,8 @@ package com.ylx.massage.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ylx.massage.domain.TSign;
 
+import java.util.Date;
+
 /**
  * 签到表(TSign)表服务接口
  *
@@ -11,5 +13,6 @@ import com.ylx.massage.domain.TSign;
  */
 public interface TSignService extends IService<TSign> {
 
+    Integer getOnLineTime(String id, Date startDate, Date endDate);
 }
 

+ 19 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TJsDayServiceImpl.java

@@ -0,0 +1,19 @@
+package com.ylx.massage.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ylx.massage.mapper.TJsDayMapper;
+import com.ylx.massage.domain.TJsDay;
+import com.ylx.massage.service.TJsDayService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 技师数据统计(TJsDay)表服务实现类
+ *
+ * @author makejava
+ * @since 2024-08-14 18:00:31
+ */
+@Service("tJsDayService")
+public class TJsDayServiceImpl extends ServiceImpl<TJsDayMapper, TJsDay> implements TJsDayService {
+
+}
+

+ 4 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TJsServiceImpl.java

@@ -223,6 +223,8 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
             tSign.setOpenId(js2.getcOpenId());
             tSign.setJsId(js2.getId());
             tSign.setName(js2.getcName());
+            tSign.setDeptId(js2.getDeptId());
+            tSign.setDeptName(js2.getCity());
             signService.save(tSign);
         }
         if (Objects.equals(js.getnStatus2(), JsStatusEnum.POST_NOT_ON_DUTY.getCode())) {
@@ -249,6 +251,8 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
                 tSign.setJsId(js2.getId());
                 tSign.setName(js2.getcName());
                 Long time = getaTime(tSign);
+                tSign.setDeptId(js2.getDeptId());
+                tSign.setDeptName(js2.getCity());
                 tSign.setOnlineTime(time.intValue());
                 signService.save(tSign);
             }

+ 22 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java

@@ -88,6 +88,8 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
     private RefundVoucherService refundVoucherService;
 
 
+
+
     public Boolean isFree(TJs js, BigDecimal distance) {
 
         Date date = new Date();
@@ -256,6 +258,26 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         return this.update(order,wrapper);
     }
 
+    @Override
+    public Integer getOrderNum(String jsid, Date startDate, Date endDate) {
+        return orderMapper.getOrderNum(jsid, startDate, endDate);
+    }
+
+    @Override
+    public Integer getAddNum(String jsid, Date startDate, Date endDate) {
+        return orderMapper.getAddNum(jsid, startDate, endDate);
+    }
+
+    @Override
+    public Integer getUpgradeNum(String jsid, Date startDate, Date endDate) {
+        return orderMapper.getUpgradeNum(jsid, startDate, endDate);
+    }
+
+    @Override
+    public BigDecimal getTurnover(String jsid, Date startDate, Date endDate) {
+        return orderMapper.getTurnover(jsid, startDate, endDate);
+    }
+
 
     /**
      * 支付订单

+ 12 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TSignServiceImpl.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ylx.massage.mapper.TSignMapper;
 import com.ylx.massage.domain.TSign;
 import com.ylx.massage.service.TSignService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+
 /**
  * 签到表(TSign)表服务实现类
  *
@@ -15,5 +18,14 @@ import org.springframework.stereotype.Service;
 @Service("tSignService")
 public class TSignServiceImpl extends ServiceImpl<TSignMapper, TSign> implements TSignService {
 
+    @Autowired
+    private TSignMapper tSignMapper;
+
+    @Override
+    public Integer getOnLineTime(String jsId, Date startDate, Date endDate) {
+
+        return tSignMapper.getOnLineTime(jsId,startDate,endDate);
+
+    }
 }
 

+ 67 - 15
nightFragrance-massage/src/main/java/com/ylx/massage/task/massageTask.java

@@ -4,8 +4,10 @@ import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.common.constant.MassageConstants;
+import com.ylx.common.core.domain.entity.SysDept;
 import com.ylx.common.utils.StringUtils;
 import com.ylx.massage.domain.TJs;
+import com.ylx.massage.domain.TJsDay;
 import com.ylx.massage.domain.TOrder;
 import com.ylx.massage.domain.TSign;
 import com.ylx.massage.enums.JsStatusEnum;
@@ -14,10 +16,13 @@ import com.ylx.massage.service.TJsService;
 import com.ylx.massage.service.TOrderService;
 import com.ylx.massage.service.TSignService;
 import com.ylx.massage.utils.DateTimeUtils;
+import com.ylx.system.service.ISysDeptService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -39,6 +44,9 @@ public class massageTask {
     @Resource
     private TSignService signService;
 
+    @Autowired
+    private ISysDeptService deptService;
+
 
     public void cancelOrder() {
 
@@ -127,7 +135,7 @@ public class massageTask {
             if (CollectionUtil.isNotEmpty(page1.getRecords())) {
                 page1.getRecords().forEach(tjs -> {
                     List<TOrder> list = orderService.list(new LambdaQueryWrapper<TOrder>().eq(TOrder::getcJsId, tjs.getId()).ge(TOrder::getDtCreateTime, date));
-                    if(CollectionUtil.isEmpty(list) || list.size() < 3){
+                    if (CollectionUtil.isEmpty(list) || list.size() < 3) {
                         TJs js = new TJs();
                         js.setId(tjs.getId());
                         js.setnB3(MassageConstants.INTEGER_ZERO);
@@ -147,28 +155,72 @@ public class massageTask {
      * 插入一条(前一天)下岗记录(并计算在线时长) 和当天上岗记录
      *
      * @param date yyyy-MM-dd
-     *
-     *
-    **/
+     **/
     public void RegularLayoff(String date) {
 
         Date date2 = new Date();
-        if(StringUtils.isNotBlank(date)){
+        if (StringUtils.isNotBlank(date)) {
             date2 = DateTimeUtils.parseDate(date, DateTimeUtils.DATE_FORMAT);
-        }else {
+        } else {
             date2 = DateTimeUtils.addDays(date2, -1);
         }
-
-        Page<TSign> signPage = new Page<>();
-        signPage.setSize(MassageConstants.TWO_HUNDRED);
-        LambdaQueryWrapper<TSign> signLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        //上岗
         Date startDate = DateTimeUtils.getStartDate(date2);
         Date endDate = DateTimeUtils.getEndDate(date2);
-
-//        signLambdaQueryWrapper.eq(TSign::getDutyStatus, JsStatusEnum.POST_ON_DUTY.getCode()).ge(TSign::getSingTime, startDate).le(TSign::getSingTime, endDate);
-//        Page<TSign> page = signService.page(signPage, signLambdaQueryWrapper);
-
+        long total = 1L;
+        while (total > 0L) {
+            Page<TSign> signPage = new Page<>();
+            signPage.setSize(MassageConstants.TWO_HUNDRED);
+            LambdaQueryWrapper<TSign> signLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            //上岗
+
+            signLambdaQueryWrapper.isNull(TSign::getLayoffTime).ge(TSign::getSingTime, startDate).le(TSign::getSingTime, endDate);
+            Page<TSign> page = signService.page(signPage, signLambdaQueryWrapper);
+
+            if (CollectionUtil.isNotEmpty(page.getRecords())) {
+                page.getRecords().forEach(sign -> {
+
+                    sign.setLayoffTime(endDate);
+                    Long layoff = DateTimeUtils.dateToStamp(sign.getLayoffTime());
+                    Long sing = DateTimeUtils.dateToStamp(sign.getSingTime());
+                    Long time = layoff - sing;
+                    time = time / 1000;
+                    time = time / 60;
+                    sign.setOnlineTime(time.intValue());
+                    signService.updateById(sign);
+                });
+            }
+            total = page.getTotal();
+        }
+        //查询所有部门
+        List<SysDept> sysDepts = deptService.selectDeptList(null);
+
+        sysDepts.forEach(sysDept -> {
+            //查询所有技师
+            LambdaQueryWrapper<TJs> jsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            jsLambdaQueryWrapper.eq(TJs::getnTong, JsStatusEnum.JS_PASS.getCode()).eq(TJs::getDeptId, sysDept.getDeptId());
+            List<TJs> jsList = jsService.list(jsLambdaQueryWrapper);
+            if (CollectionUtil.isNotEmpty(jsList)) {
+                jsList.forEach(js -> {
+                    TJsDay tJsDay = new TJsDay();
+                    tJsDay.setDeptName(js.getCity());
+                    tJsDay.setDeptId(js.getDeptId());
+                    tJsDay.setOpenId(js.getcOpenId());
+                    tJsDay.setJsId(js.getId());
+                    tJsDay.setName(js.getcName());
+                    Integer onLine =signService.getOnLineTime(js.getId(),startDate,endDate);
+                    tJsDay.setOnLine(onLine);
+                    Integer orderNum = orderService.getOrderNum(js.getId(),startDate,endDate);
+                    tJsDay.setOrderNum(orderNum);
+                    Integer addNum = orderService.getAddNum(js.getId(),startDate,endDate);
+                    tJsDay.setAddNum(addNum);
+                    Integer upgradeNum = orderService.getUpgradeNum(js.getId(),startDate,endDate);
+                    tJsDay.setUpgradeNum(upgradeNum);
+                    BigDecimal turnover = orderService.getTurnover(js.getId(),startDate,endDate);
+                    tJsDay.setTurnover(turnover);
+                    tJsDay.setRecharge(0.0);
+                });
+            }
+        });
 
 
     }

+ 49 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TJsDayMapper.xml

@@ -0,0 +1,49 @@
+<?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.ylx.massage.mapper.TJsDayMapper">
+
+    <resultMap type="com.ylx.massage.domain.TJsDay" id="TJsDayMap">
+        <result property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="onLine" column="on_line" jdbcType="INTEGER"/>
+        <result property="orderNum" column="order_num" jdbcType="INTEGER"/>
+        <result property="turnover" column="turnover" jdbcType="NUMERIC"/>
+        <result property="addNum" column="add_num" jdbcType="INTEGER"/>
+        <result property="upgradeNum" column="upgrade_num" jdbcType="INTEGER"/>
+        <result property="recharge" column="recharge" jdbcType="NUMERIC"/>
+        <result property="jsId" column="js_id" jdbcType="VARCHAR"/>
+        <result property="openId" column="open_id" jdbcType="VARCHAR"/>
+        <result property="countDate" column="count_date" jdbcType="VARCHAR"/>
+        <result property="name" column="name" jdbcType="VARCHAR"/>
+        <result property="deptId" column="dept_id" jdbcType="VARCHAR"/>
+        <result property="deptName" column="dept_name" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="isDelete" column="is_delete" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <!-- 批量插入 -->
+    <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into
+        ry-vue.t_js_day(on_lineorder_numturnoveradd_numupgrade_numrechargejs_idopen_idcount_datenamedept_iddept_namecreate_timeupdate_timeis_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.onLine}#{entity.orderNum}#{entity.turnover}#{entity.addNum}#{entity.upgradeNum}#{entity.recharge}#{entity.jsId}#{entity.openId}#{entity.countDate}#{entity.name}#{entity.deptId}#{entity.deptName}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+    </insert>
+    <!-- 批量插入或按主键更新 -->
+    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into
+        ry-vue.t_js_day(on_lineorder_numturnoveradd_numupgrade_numrechargejs_idopen_idcount_datenamedept_iddept_namecreate_timeupdate_timeis_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.onLine}#{entity.orderNum}#{entity.turnover}#{entity.addNum}#{entity.upgradeNum}#{entity.recharge}#{entity.jsId}#{entity.openId}#{entity.countDate}#{entity.name}#{entity.deptId}#{entity.deptName}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+        on duplicate key update
+        on_line = values(on_line) order_num = values(order_num) turnover = values(turnover) add_num = values(add_num)
+        upgrade_num = values(upgrade_num) recharge = values(recharge) js_id = values(js_id) open_id = values(open_id)
+        count_date = values(count_date) name = values(name) dept_id = values(dept_id) dept_name = values(dept_name)
+        create_time = values(create_time) update_time = values(update_time) is_delete = values(is_delete)
+    </insert>
+
+</mapper>
+

+ 47 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TOrderMapper.xml

@@ -15,6 +15,7 @@
         <result column="total_price" property="totalPrice"/>
         <result column="parent_no" property="parentNo"/>
         <result column="c_open_id" property="cOpenId"/>
+        <result column="timeout_cause" property="timeoutCause"/>
         <result column="coupon_receive_id" property="couponReceiveId"/>
         <result column="c_goods" property="cGoods"
                 typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
@@ -92,6 +93,7 @@
                t_order.c_phone,
                t_order.c_note,
                t_order.c_time,
+               t_order.timeout_cause,
                t_order.name,
                t_order.latitude,
                t_order.longitude,
@@ -171,4 +173,49 @@
         order by
             t_order.dt_create_time desc
     </select>
+    <select id="getOrderNum" resultType="java.lang.Integer">
+        SELECT
+            count( 1 )
+        FROM
+            t_order
+        WHERE
+            is_delete = 0
+          AND c_js_id = #{jsid}
+          AND end_time BETWEEN #{startDate} AND #{endDate}
+          AND n_status in(4,5)
+    </select>
+    <select id="getAddNum" resultType="java.lang.Integer">
+        SELECT
+            count( 1 )
+        FROM
+            t_order
+        WHERE
+            is_delete = 0
+          AND c_js_id = #{jsid}
+          AND end_time BETWEEN #{startDate} AND #{endDate}
+          AND n_status in(4,5) and order_type = 1
+    </select>
+    <select id="getUpgradeNum" resultType="java.lang.Integer">
+        SELECT
+            count( 1 )
+        FROM
+            t_order
+        WHERE
+            is_delete = 0
+          AND c_js_id = #{jsid}
+          AND end_time BETWEEN #{startDate} AND #{endDate}
+          AND n_status in(4,5) and order_type = 2
+    </select>
+
+    <select id="getTurnover">
+        SELECT
+            sum(total_price)
+        FROM
+            t_order
+        WHERE
+            is_delete = 0
+          AND c_js_id = #{jsid}
+          AND end_time BETWEEN #{startDate} AND #{endDate}
+          AND n_status in(4,5)
+    </select>
 </mapper>

+ 5 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TSignMapper.xml

@@ -38,5 +38,10 @@
         values(update_time) is_delete = values(is_delete)
     </insert>
 
+    <select id="getOnLineTime" resultType="java.lang.Integer">
+        select sum(online_time) onlineTime from t_sign where is_delete = 0
+        and js_id = #{jsId} and sing_time between #{startDate} and #{endDate}
+    </select>
+
 </mapper>