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 3fdb2f4..a9bbc2a 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 @@ -37,7 +37,29 @@ public class AppArtificerTimeController { return artificerTimeService.selectArtificerTimeListByArtificerId(artificerId,artificerDate); } + /** + * @param idleTime 可接单时间 + * @param busyTime 不可接单时间 + * @param userId + * @return + */ + @PostMapping("/setArtificerTime") + @ApiOperation("设置时间管理") + @Login + public Result setArtificerTime(String idleTime,String busyTime,@RequestAttribute("userId") Long userId){ + return artificerTimeService.setArtificerTime( idleTime, busyTime, userId); + } - + /** + * @param flag 1接单 2不接单 + * @param userId + * @return + */ + @PostMapping("/setArtificerAccept") + @ApiOperation("设置是否接单") + @Login + public Result setArtificerAccept(Integer flag,@RequestAttribute("userId") Long userId){ + return artificerTimeService.setArtificerAccept( flag, userId); + } } diff --git a/src/main/java/com/sqx/modules/artificer/entity/Artificer.java b/src/main/java/com/sqx/modules/artificer/entity/Artificer.java index 4447e76..d29b8e3 100644 --- a/src/main/java/com/sqx/modules/artificer/entity/Artificer.java +++ b/src/main/java/com/sqx/modules/artificer/entity/Artificer.java @@ -251,6 +251,11 @@ public class Artificer implements Serializable { */ private String grade; + /** + * 是否可接单 1可 2不可 + */ + private Integer acceptOrders; + @TableField(exist = false) private List artificerClassifyList; 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 3b5b1e2..8d44464 100644 --- a/src/main/java/com/sqx/modules/artificer/service/ArtificerTimeService.java +++ b/src/main/java/com/sqx/modules/artificer/service/ArtificerTimeService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.sqx.common.utils.Result; import com.sqx.modules.artificer.entity.Artificer; import com.sqx.modules.artificer.entity.ArtificerTime; +import org.springframework.web.bind.annotation.RequestAttribute; public interface ArtificerTimeService extends IService { @@ -14,4 +15,8 @@ public interface ArtificerTimeService extends IService { Result selectArtificerTimeListByArtificerId(Long artificerId,String artificerDate); + Result setArtificerTime(String idleTime,String busyTime,Long userId); + + Result setArtificerAccept(Integer flag,Long userId); + } \ 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 fb3cc32..b615807 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 @@ -97,6 +97,152 @@ public class ArtificerTimeServiceImpl extends ServiceImpl dateMap = new HashMap(); + for(String times:idleTime.split(",")){ + String[] datetime = times.split(" "); + if(datetime!=null && datetime.length>0) { + baseMapper.delete(new QueryWrapper().eq("artificer_date", datetime[0]).eq("artificer_id", artificer.getArtificerId()).eq("artificer_time", datetime[1])); + if(dateMap.get(datetime[0])!=null){ + List timeList = dateMap.get(datetime[0]); + timeList.add(datetime[1]); + }else{ + List timeList = new ArrayList<>(); + timeList.add(datetime[1]); + dateMap.put(datetime[0],timeList); + } + } + } + Map busyMap = getBusyMap(dateMap); + for (String key : busyMap.keySet()) { + Map busyTimeMap = busyMap.get(key); + for (String timeKey : busyTimeMap.keySet()) { + ArtificerTime artificerTime=new ArtificerTime(); + artificerTime.setArtificerDate(key); + artificerTime.setArtificerTime(busyTimeMap.get(timeKey)); + artificerTime.setArtificerId(artificer.getArtificerId()); + artificerTime.setClassify(2); + artificerTime.setCreateTime(DateUtils.format(new Date())); + baseMapper.insert(artificerTime); + } + } + } + if(StringUtils.isNotEmpty(busyTime)){ + for(String times:busyTime.split(",")){ + String[] datetime = times.split(" "); + if(datetime!=null && datetime.length>0){ + Integer counts = baseMapper.selectCount(new QueryWrapper().eq("artificer_date", datetime[0]).eq("artificer_id", artificer.getArtificerId()).eq("artificer_time", datetime[1])); + if(counts==0){ + ArtificerTime artificerTime=new ArtificerTime(); + artificerTime.setArtificerDate(datetime[0]); + artificerTime.setArtificerTime(datetime[1]); + artificerTime.setArtificerId(artificer.getArtificerId()); + artificerTime.setClassify(2); + artificerTime.setCreateTime(DateUtils.format(new Date())); + baseMapper.insert(artificerTime); + } + } + } + } + return Result.success(); + } + private Map getBusyMap(Map dateMap){ + Map map = new HashMap(); + for (String key : dateMap.keySet()) { + List timeList = dateMap.get(key); + Map allTimes = getTimeMap(); + for(int i=0; i < timeList.size();i++){ + String time = timeList.get(i); + if(allTimes.get(time)!=null){ + allTimes.remove(time); + } + } + map.put(key,allTimes); + } + return map; + } + + private Map getTimeMap(){ + Map map = new HashMap(); + for(int i=0;i<24;i++){ + String s = ""; + if(i<10){ + s = "0"+i+":"; + }else{ + s = i+":"; + } + map.put(s+"00",s+"00"); + map.put(s+"30",s+"30"); + } + return map; + } + + public static void main(String[] args) { + + String idleTime = "2024-08-28 12:00,2024-08-28 13:00,2024-08-28 14:00,2024-08-28 15:00,2024-08-28 16:00,2024-08-28 17:00,2024-08-28 18:00,2024-08-28 19:00,2024-08-28 20:00,2024-08-28 21:00,2024-08-28 22:00,2024-08-28 23:00,2024-08-29 00:30,2024-08-29 01:30,2024-08-29 02:30,2024-08-29 03:30,2024-08-29 04:30,2024-08-29 05:30,2024-08-29 06:30,2024-08-29 07:30,2024-08-29 08:30,2024-08-29 09:30"; + + Map dateMap = new HashMap(); + for(String times:idleTime.split(",")){ + String[] datetime = times.split(" "); + if(datetime!=null && datetime.length>0) { + if(dateMap.get(datetime[0])!=null){ + List timeList = dateMap.get(datetime[0]); + timeList.add(datetime[1]); + }else{ + List timeList = new ArrayList<>(); + timeList.add(datetime[1]); + dateMap.put(datetime[0],timeList); + } + } + } + + Map map = new HashMap(); + for (String key : dateMap.keySet()) { + List timeList = dateMap.get(key); + Map allTimes = new HashMap(); + for(int i=0;i<24;i++){ + String s = ""; + if(i<10){ + s = "0"+i+":"; + }else{ + s = i+":"; + } + allTimes.put(s+"00",s+"00"); + allTimes.put(s+"30",s+"30"); + } + for(int i=0; i < timeList.size();i++){ + String time = timeList.get(i); + if(allTimes.get(time)!=null){ + allTimes.remove(time); + } + } + map.put(key,allTimes); + } + + for (String key : map.keySet()) { + Map busyTimeMap = map.get(key); + for (String timeKey : busyTimeMap.keySet()) { + System.out.print(key); + System.out.print(" "); + System.out.print(busyTimeMap.get(timeKey)); + System.out.println(""); + } + } + + } + + @Override + public Result setArtificerAccept(Integer flag,Long userId){ + Artificer artificer = artificerService.selectArtificerByUserId(userId); + Artificer artificer2 = new Artificer(); + artificer2.setAcceptOrders(flag); + artificer2.setArtificerId(artificer.getArtificerId()); + artificerService.updateById(artificer2); + return Result.success(); + } } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/ywy/controller/YwyApplyController.java b/src/main/java/com/sqx/modules/bl/commission/ywy/controller/YwyApplyController.java index cf68c9d..462eade 100644 --- a/src/main/java/com/sqx/modules/bl/commission/ywy/controller/YwyApplyController.java +++ b/src/main/java/com/sqx/modules/bl/commission/ywy/controller/YwyApplyController.java @@ -66,4 +66,29 @@ public class YwyApplyController { return service.findUserPage(ywyApply); } + @GetMapping("/invitationQdsPage") + @ApiOperation("绑定渠道查询(分页)") + public Result invitationQdsPage(YwyApply ywyApply){ + return service.invitationQdsPage(ywyApply); + } + + @GetMapping("/invitationQdsNotBindPage") + @ApiOperation("未绑定渠道查询(分页)") + public Result invitationQdsNotBindPage(YwyApply ywyApply){ + return service.invitationQdsNotBindPage(ywyApply); + } + + @PostMapping("/deleteQds") + @ApiOperation("取消渠道商") + public Result deleteQds(YwyApply ywyApply){ + service.deleteQds(ywyApply); + return Result.success(); + } + + @PostMapping("/addQds") + @ApiOperation("邀请渠道商") + public Result addQds(YwyApply ywyApply){ + service.addQds(ywyApply); + return Result.success(); + } } diff --git a/src/main/java/com/sqx/modules/bl/commission/ywy/dao/YwyApplyDao.java b/src/main/java/com/sqx/modules/bl/commission/ywy/dao/YwyApplyDao.java index a32a595..dfbe90f 100644 --- a/src/main/java/com/sqx/modules/bl/commission/ywy/dao/YwyApplyDao.java +++ b/src/main/java/com/sqx/modules/bl/commission/ywy/dao/YwyApplyDao.java @@ -15,4 +15,8 @@ public interface YwyApplyDao extends BaseMapper { int approve(YwyApply ywyApply); int updateRate(YwyApply ywyApply); IPage findUserPage(Page page, @Param("params") YwyApply ywyApply); + IPage invitationQdsPage(Page page, @Param("params") YwyApply ywyApply); + IPage invitationQdsNotBindPage(Page page, @Param("params") YwyApply ywyApply); + int deleteQds(YwyApply ywyApply); + int addQds(YwyApply ywyApply); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/ywy/service/YwyApplyService.java b/src/main/java/com/sqx/modules/bl/commission/ywy/service/YwyApplyService.java index f03ac03..5018872 100644 --- a/src/main/java/com/sqx/modules/bl/commission/ywy/service/YwyApplyService.java +++ b/src/main/java/com/sqx/modules/bl/commission/ywy/service/YwyApplyService.java @@ -11,4 +11,8 @@ public interface YwyApplyService extends IService { int approve(YwyApply ywyApply); int updateRate(YwyApply ywyApply); Result findUserPage(YwyApply ywyApply); + Result invitationQdsPage(YwyApply ywyApply); + Result invitationQdsNotBindPage(YwyApply ywyApply); + int deleteQds(YwyApply ywyApply); + int addQds(YwyApply ywyApply); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/commission/ywy/service/impl/YwyApplyServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/ywy/service/impl/YwyApplyServiceImpl.java index 68778dd..f95ec48 100644 --- a/src/main/java/com/sqx/modules/bl/commission/ywy/service/impl/YwyApplyServiceImpl.java +++ b/src/main/java/com/sqx/modules/bl/commission/ywy/service/impl/YwyApplyServiceImpl.java @@ -77,4 +77,26 @@ public class YwyApplyServiceImpl extends ServiceImpl impl return Result.success().put("data",new PageUtils(baseMapper.findUserPage(pages,ywyApply))); } + @Override + public Result invitationQdsPage(YwyApply ywyApply){ + Page pages=new Page<>(ywyApply.getUserPage(),ywyApply.getUserLimit()); + return Result.success().put("data",new PageUtils(baseMapper.invitationQdsPage(pages,ywyApply))); + } + + @Override + public Result invitationQdsNotBindPage(YwyApply ywyApply){ + Page pages=new Page<>(ywyApply.getUserPage(),ywyApply.getUserLimit()); + return Result.success().put("data",new PageUtils(baseMapper.invitationQdsNotBindPage(pages,ywyApply))); + } + + @Override + public int deleteQds(YwyApply ywyApply){ + return baseMapper.deleteQds(ywyApply); + } + + @Override + public int addQds(YwyApply ywyApply){ + return baseMapper.addQds(ywyApply); + } + } \ No newline at end of file diff --git a/src/main/resources/mapper/bl/commission/ywy/YwyApplyDao.xml b/src/main/resources/mapper/bl/commission/ywy/YwyApplyDao.xml index a99dc52..657e006 100644 --- a/src/main/resources/mapper/bl/commission/ywy/YwyApplyDao.xml +++ b/src/main/resources/mapper/bl/commission/ywy/YwyApplyDao.xml @@ -4,7 +4,7 @@ + + + + + + update tb_user + set bl_ywy_code = null + where user_id=#{userId} + + + + update tb_user + set bl_ywy_code = #{invitationCode} + where user_id=#{userId} + + \ No newline at end of file