From b12cba30e8d0c9e1bba5e2dc6059250eb0c5aff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 28 Aug 2024 17:28:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E5=9C=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/AppArtificerTimeController.java | 10 ++-- .../artificer/dao/ArtificerTimeIdelDao.java | 11 ++++ .../artificer/entity/ArtificerTimeIdel.java | 52 +++++++++++++++++++ .../service/ArtificerTimeService.java | 4 +- .../impl/ArtificerTimeServiceImpl.java | 52 +++++++++++++++---- .../content/app/AppShipinquanController.java | 7 ++- .../shipinquan/entity/BlShipinquan.java | 3 ++ .../mapper/shipinquan/ShipinquanDao.xml | 14 +++-- 8 files changed, 128 insertions(+), 25 deletions(-) create mode 100644 src/main/java/com/sqx/modules/artificer/dao/ArtificerTimeIdelDao.java create mode 100644 src/main/java/com/sqx/modules/artificer/entity/ArtificerTimeIdel.java diff --git a/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerTimeController.java b/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerTimeController.java index a9bbc2a..fe6c07b 100644 --- a/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerTimeController.java +++ b/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerTimeController.java @@ -40,14 +40,14 @@ public class AppArtificerTimeController { /** * @param idleTime 可接单时间 * @param busyTime 不可接单时间 - * @param userId + * @param artificerId 技师ID * @return */ @PostMapping("/setArtificerTime") @ApiOperation("设置时间管理") @Login - public Result setArtificerTime(String idleTime,String busyTime,@RequestAttribute("userId") Long userId){ - return artificerTimeService.setArtificerTime( idleTime, busyTime, userId); + public Result setArtificerTime(String idleTime,String busyTime,Long artificerId){ + return artificerTimeService.setArtificerTime( idleTime, busyTime, artificerId); } /** @@ -58,8 +58,8 @@ public class AppArtificerTimeController { @PostMapping("/setArtificerAccept") @ApiOperation("设置是否接单") @Login - public Result setArtificerAccept(Integer flag,@RequestAttribute("userId") Long userId){ - return artificerTimeService.setArtificerAccept( flag, userId); + public Result setArtificerAccept(Integer flag,Long artificerId){ + return artificerTimeService.setArtificerAccept(flag, artificerId); } } diff --git a/src/main/java/com/sqx/modules/artificer/dao/ArtificerTimeIdelDao.java b/src/main/java/com/sqx/modules/artificer/dao/ArtificerTimeIdelDao.java new file mode 100644 index 0000000..ed25669 --- /dev/null +++ b/src/main/java/com/sqx/modules/artificer/dao/ArtificerTimeIdelDao.java @@ -0,0 +1,11 @@ +package com.sqx.modules.artificer.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sqx.modules.artificer.entity.ArtificerTimeIdel; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ArtificerTimeIdelDao extends BaseMapper { + + +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/artificer/entity/ArtificerTimeIdel.java b/src/main/java/com/sqx/modules/artificer/entity/ArtificerTimeIdel.java new file mode 100644 index 0000000..3563497 --- /dev/null +++ b/src/main/java/com/sqx/modules/artificer/entity/ArtificerTimeIdel.java @@ -0,0 +1,52 @@ +package com.sqx.modules.artificer.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @description artificer_time_idel + * @author caolei + * @date 2024-08-28 + */ +@Data +@TableName("artificer_time_idel") +public class ArtificerTimeIdel implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + /** + * id + */ + private Long id; + + /** + * 技师id + */ + private Long artificerId; + + /** + * 日期 + */ + private String artificerDate; + + /** + * 开始时间 + */ + private String startTime; + /** + * 结束时间 + */ + private String endTime; + + /** + * 创建时间 + */ + private String createTime; + + public ArtificerTimeIdel() {} +} diff --git a/src/main/java/com/sqx/modules/artificer/service/ArtificerTimeService.java b/src/main/java/com/sqx/modules/artificer/service/ArtificerTimeService.java index 8d44464..ab8484a 100644 --- a/src/main/java/com/sqx/modules/artificer/service/ArtificerTimeService.java +++ b/src/main/java/com/sqx/modules/artificer/service/ArtificerTimeService.java @@ -15,8 +15,8 @@ public interface ArtificerTimeService extends IService { Result selectArtificerTimeListByArtificerId(Long artificerId,String artificerDate); - Result setArtificerTime(String idleTime,String busyTime,Long userId); + Result setArtificerTime(String idleTime,String busyTime,Long artificerId); - Result setArtificerAccept(Integer flag,Long userId); + Result setArtificerAccept(Integer flag,Long artificerId); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerTimeServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerTimeServiceImpl.java index 864f057..81c207f 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerTimeServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerTimeServiceImpl.java @@ -10,11 +10,9 @@ import com.sqx.modules.app.entity.UserMoney; import com.sqx.modules.app.service.UserMoneyService; import com.sqx.modules.artificer.dao.ArtificerDao; import com.sqx.modules.artificer.dao.ArtificerTimeDao; +import com.sqx.modules.artificer.dao.ArtificerTimeIdelDao; import com.sqx.modules.artificer.dao.OrdersDao; -import com.sqx.modules.artificer.entity.Artificer; -import com.sqx.modules.artificer.entity.ArtificerTime; -import com.sqx.modules.artificer.entity.CollectArtificer; -import com.sqx.modules.artificer.entity.Orders; +import com.sqx.modules.artificer.entity.*; import com.sqx.modules.artificer.service.ArtificerService; import com.sqx.modules.artificer.service.ArtificerTimeService; import com.sqx.modules.artificer.service.CollectArtificerService; @@ -38,6 +36,8 @@ public class ArtificerTimeServiceImpl extends ServiceImpl map = new HashMap<>(); + Artificer artificer = artificerService.getById(artificerId); + if(artificer.getAcceptOrders()==null){ + map.put("acceptOrders", 1); + }else{ + map.put("acceptOrders", artificer.getAcceptOrders()); + } + ArtificerTimeIdel ati = artificerTimeIdelDao.selectOne(new QueryWrapper() + .eq("artificer_id", artificerId) + .eq("artificer_date", artificerDate)); + if(ati!=null){ + map.put("startTime", ati.getStartTime()); + map.put("endTime", ati.getEndTime()); + }else{ + map.put("startTime", artificerDate+" 00:00:00"); + Date endDate = DateUtils.stringToDate(artificerDate,DateUtils.DATE_PATTERN); + endDate = DateUtils.addDateDays(endDate,1); + String endDateStr = DateUtils.format(endDate,DateUtils.DATE_PATTERN); + map.put("endTime", endDateStr+" 00:00:00"); + } List artificerTimes = baseMapper.selectList(new QueryWrapper() .eq("artificer_id", artificerId) .eq("artificer_date", artificerDate)); @@ -81,7 +101,8 @@ public class ArtificerTimeServiceImpl extends ServiceImpl(); + qwi.eq("artificer_id", artificer.getArtificerId()); + qwi.eq("artificer_date", startDay); + artificerTimeIdelDao.delete(qwi); + + ArtificerTimeIdel ati = new ArtificerTimeIdel(); + ati.setArtificerId(artificer.getArtificerId()); + ati.setArtificerDate(startDay); + ati.setStartTime(idelTimes[0]); + ati.setEndTime(idelTimes[1]); + ati.setCreateTime(DateUtils.format(new Date())); + artificerTimeIdelDao.insert(ati); + Map dateMap = getIdelMap(idelTimes[0],idelTimes[1]); Map busyMap = getBusyMap(dateMap); @@ -267,8 +301,8 @@ public class ArtificerTimeServiceImpl extends ServiceImpl SELECT - distinct a.id, a.create_time, a.content, @@ -34,23 +33,22 @@ b.artificer_id as create_by, b.artificer_name as artificer_name, b.artificer_img AS artificerImg, - if(c.id is null,0,1) as sfdz + (case when (select count(*) from bl_shipinquan_dianzan c where a.id = c.shipinquan_id and c.create_by = #{params.userId}) > 0 then 1 else 0 end) as sfdz FROM bl_shipinquan a left join artificer b on a.create_by = b.user_id - left join bl_shipinquan_dianzan c on a.id = c.shipinquan_id and c.create_by = #{params.createBy} - and c.create_by = #{params.userId} - left join collect_artificer d on b.artificer_id = d.artificer_id - and d.user_id = #{params.userId} + + inner join collect_artificer d on b.artificer_id = d.artificer_id and d.classify = 1 and d.user_id = #{params.gzrId} + and a.create_by = #{params.createBy} - order by (st_distance (point (b.longitude, b.latitude),point(#{params.longitude},#{params.longitude}) ) *111195) asc,create_time desc + order by (st_distance (point (b.longitude, b.latitude),point(#{params.longitude},#{params.longitude}) ) *111195) asc,a.create_time desc - order by create_time desc + order by a.create_time desc