소스 검색

fix:技师签到

wrj 9 달 전
부모
커밋
af0e071d3f

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

@@ -177,7 +177,7 @@ public class TOrderController {
     public R reach(@RequestBody TOrder order) {
         try {
             LambdaQueryWrapper<TOrder> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(TOrder::getcId,order.getcId()).eq(TOrder::getnStatus,OrderStatusEnum.RECEIVED_ORDER.getCode());
+            wrapper.eq(TOrder::getcId,order.getcId()).eq(TOrder::getnStatus,OrderStatusEnum.DEPART.getCode());
             order.setnStatus(OrderStatusEnum.ARRIVED.getCode());
             order.setReachTime(LocalDateTime.now());
             order.setArrivalLatitude(Optional.ofNullable(order.getArrivalLatitude()).orElse(BigDecimal.ZERO));

+ 96 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TSignController.java

@@ -0,0 +1,96 @@
+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.TSign;
+import com.ylx.massage.service.TSignService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 签到表(TSign)表控制层
+ *
+ * @author makejava
+ * @since 2024-08-12 10:52:24
+ */
+@RestController
+@RequestMapping("tSign")
+@Api(tags = {"签到表(TSign)表控制层"})
+public class TSignController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private TSignService tSignService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param page  分页对象
+     * @param tSign 查询实体
+     * @return 所有数据
+     */
+    @GetMapping("selectAll")
+    @ApiOperation("分页查询所有数据")
+    public R selectAll(Page<TSign> page, TSign tSign) {
+        return R.ok(this.tSignService.page(page, new QueryWrapper<>(tSign)));
+    }
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping("{id}")
+    @ApiOperation("通过主键查询单条数据")
+    public R selectOne(@PathVariable Serializable id) {
+        return R.ok(this.tSignService.getById(id));
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param tSign 实体对象
+     * @return 新增结果
+     */
+    @PostMapping("add")
+    @ApiOperation("新增数据")
+    public R insert(@RequestBody TSign tSign) {
+        return R.ok(this.tSignService.save(tSign));
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param tSign 实体对象
+     * @return 修改结果
+     */
+    @PostMapping("update")
+    @ApiOperation("修改数据")
+    public R update(@RequestBody TSign tSign) {
+        return R.ok(this.tSignService.updateById(tSign));
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param idList 主键结合
+     * @return 删除结果
+     */
+    @PostMapping("delete")
+    @ApiOperation("删除数据")
+    public R delete(@RequestBody List<String> idList) {
+        return R.ok(this.tSignService.removeByIds(idList));
+    }
+}
+

+ 62 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TSign.java

@@ -0,0 +1,62 @@
+package com.ylx.massage.domain;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 签到表(TSign)表实体类
+ *
+ * @author makejava
+ * @since 2024-08-12 10:52:25
+ */
+@SuppressWarnings("serial")
+@Data
+@ApiModel(value = "TSign", description = "签到表")
+public class TSign extends Model<TSign> {
+    //主键
+    @ApiModelProperty("主键")
+    private String id;
+    //上岗状态 -1下岗  0上岗
+    @ApiModelProperty("上岗状态 -1下岗  0上岗")
+    private Integer dutyStatus;
+    //技师id
+    @ApiModelProperty("技师id")
+    private String jsId;
+    //技师openid
+    @ApiModelProperty("技师openid")
+    private String openId;
+    //签到时间
+    @ApiModelProperty("签到时间")
+    private Date singTime;
+    //技师姓名
+    @ApiModelProperty("技师姓名")
+    private String name;
+    //系统创建时间
+    @ApiModelProperty("系统创建时间")
+    private Date createTime;
+    //系统修改时间
+    @ApiModelProperty("系统修改时间")
+    private Date updateTime;
+    //是否删除0否1是
+    @TableLogic
+    @ApiModelProperty("是否删除0否1是")
+    private Integer isDelete;
+
+    /**
+     * 获取主键值
+     *
+     * @return 主键值
+     */
+    @Override
+    public Serializable pkVal() {
+        return this.id;
+    }
+}
+

+ 35 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TSignMapper.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.TSign;
+
+/**
+ * 签到表(TSign)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-08-12 10:52:24
+ */
+public interface TSignMapper extends BaseMapper<TSign> {
+
+    /**
+     * 批量新增数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TSign> 实例对象列表
+     * @return 影响行数
+     */
+    int insertBatch(@Param("entities") List<TSign> entities);
+
+    /**
+     * 批量新增或按主键更新数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TSign> 实例对象列表
+     * @return 影响行数
+     * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
+     */
+    int insertOrUpdateBatch(@Param("entities") List<TSign> entities);
+
+}
+

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

@@ -0,0 +1,15 @@
+package com.ylx.massage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ylx.massage.domain.TSign;
+
+/**
+ * 签到表(TSign)表服务接口
+ *
+ * @author makejava
+ * @since 2024-08-12 10:52:25
+ */
+public interface TSignService extends IService<TSign> {
+
+}
+

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

@@ -64,6 +64,9 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
     @Resource
     private TOrderService orderService;
 
+    @Resource
+    private TSignService signService;
+
     @Resource(name = "commonAsyncExecutor")
     private ThreadPoolTaskExecutor threadPoolTaskExecutor;
 
@@ -206,10 +209,20 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
         if (js.getnStatus2() == null) {
             throw new ServiceException("岗位状态不能为空");
         }
+        TJs js2 = this.getById(js.getId());
+        TSign tSign = new TSign();
+
         //上岗
         if (Objects.equals(js.getnStatus2(), JsStatusEnum.POST_ON_DUTY.getCode())) {
             //岗位状态为1时,设置nStatus为1
             js.setnStatus(JsStatusEnum.JS_SERVICEABLE.getCode());
+            //记录签到信息
+            tSign.setDutyStatus(JsStatusEnum.POST_ON_DUTY.getCode());
+            tSign.setSingTime(new Date());
+            tSign.setOpenId(js2.getcOpenId());
+            tSign.setJsId(js2.getId());
+            tSign.setName(js2.getcName());
+            signService.save(tSign);
         }
         if (Objects.equals(js.getnStatus2(), JsStatusEnum.POST_NOT_ON_DUTY.getCode())) {
 
@@ -219,6 +232,13 @@ public class TJsServiceImpl extends ServiceImpl<TJsMapper, TJs> implements TJsSe
                 throw new ServiceException("您有服务中的订单,不能下岗");
             }
             js.setnStatus(JsStatusEnum.JS_NO_SERVICE.getCode());
+            //记录签退信息
+            tSign.setDutyStatus(JsStatusEnum.POST_NOT_ON_DUTY.getCode());
+            tSign.setSingTime(new Date());
+            tSign.setOpenId(js2.getcOpenId());
+            tSign.setJsId(js2.getId());
+            tSign.setName(js2.getcName());
+            signService.save(tSign);
         }
         return this.updateById(js);
     }

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

@@ -0,0 +1,19 @@
+package com.ylx.massage.service.impl;
+
+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.stereotype.Service;
+
+/**
+ * 签到表(TSign)表服务实现类
+ *
+ * @author makejava
+ * @since 2024-08-12 10:52:25
+ */
+@Service("tSignService")
+public class TSignServiceImpl extends ServiceImpl<TSignMapper, TSign> implements TSignService {
+
+}
+

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

@@ -0,0 +1,39 @@
+<?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.TSignMapper">
+
+    <resultMap type="com.ylx.massage.domain.TSign" id="TSignMap">
+        <result property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="dutyStatus" column="duty_status" jdbcType="INTEGER"/>
+        <result property="jsId" column="js_id" jdbcType="VARCHAR"/>
+        <result property="openId" column="open_id" jdbcType="VARCHAR"/>
+        <result property="singTime" column="sing_time" jdbcType="TIMESTAMP"/>
+        <result property="name" column="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 t_sign(duty_status,js_id,open_id,sing_time,name,create_time,update_time,is_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.dutyStatus}#{entity.jsId}#{entity.openId}#{entity.singTime}#{entity.name}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+    </insert>
+    <!-- 批量插入或按主键更新 -->
+    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into ry-vue.t_sign(duty_status,js_id,open_id,sing_time,name,create_time,update_time,is_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.dutyStatus}#{entity.jsId}#{entity.openId}#{entity.singTime}#{entity.name}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+        on duplicate key update
+        duty_status = values(duty_status) js_id = values(js_id) open_id = values(open_id)
+        sing_time = values(sing_time) name = values(name) create_time = values(create_time) update_time =
+        values(update_time) is_delete = values(is_delete)
+    </insert>
+
+</mapper>
+