新增预约日历。咨询师主键替换为userid

This commit is contained in:
cjw 2024-08-20 11:00:17 +08:00
parent 1bb3237515
commit e7e7705c82
12 changed files with 70 additions and 51 deletions

View File

@ -10,7 +10,7 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.scale.domain.bo.ReservationDayBo;
import org.dromara.scale.domain.vo.CounselorVo;
import org.dromara.scale.domain.vo.ReservationDayVo;
import org.dromara.scale.domain.vo.ReservationDateVo;
import org.dromara.scale.service.ICounselorService;
import org.dromara.scale.service.IReservationService;
import org.springframework.validation.annotation.Validated;
@ -41,7 +41,7 @@ public class WxCounselorController extends BaseController {
@GetMapping()
public R<CounselorVo> getInfo() {
Long userId = LoginHelper.getUserId();
return R.ok(counselorService.queryByUserId(userId));
return R.ok(counselorService.queryById(userId));
}
/**
@ -55,8 +55,8 @@ public class WxCounselorController extends BaseController {
}
@GetMapping("/date")
public R<List<ReservationDayVo>> getReservationList(String time, Long userId) {
return null;
public R<List<ReservationDateVo>> getReservationList(String time, Long userId) {
return R.ok(reservationService.selectDateList(time, userId));
}
}

View File

@ -1,6 +1,5 @@
package org.dromara.scale.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@ -28,14 +27,9 @@ public class Counselor extends BaseEntity {
/**
*
*/
@TableId(value = "id", type = IdType.AUTO)
@TableId(value = "id")
private Long id;
/**
* 姓名
*/
private Long userId;
/**
* 手机号
*/

View File

@ -1,13 +1,14 @@
package org.dromara.scale.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.util.Date;
/**
* 预约-日对象 m_reservation_day
@ -26,7 +27,7 @@ public class ReservationDay extends BaseEntity {
/**
*
*/
@TableId(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**

View File

@ -1,5 +1,6 @@
package org.dromara.scale.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@ -26,7 +27,7 @@ public class ReservationTime extends BaseEntity {
/**
*
*/
@TableId(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**

View File

@ -1,6 +1,5 @@
package org.dromara.scale.domain.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.github.linpeilie.annotations.AutoMapper;
import io.github.linpeilie.annotations.AutoMapping;
import lombok.Data;
@ -32,14 +31,11 @@ public class CounselorVo implements Serializable {
*/
private Long id;
@JsonIgnore
private Long userId;
/**
* 姓名
*/
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
@AutoMapping(target = "userId")
@AutoMapping(target = "id")
private String name;
/**

View File

@ -0,0 +1,27 @@
package org.dromara.scale.domain.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* <p>TODO<p>
*
* @author cjw
* @version V1.0.0
* @date 2024/8/20 10:23
*/
@Data
public class ReservationDateVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Long dayId;
private Date dayTime;
private Integer notUseNum;
}

View File

@ -1,9 +1,13 @@
package org.dromara.scale.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.scale.domain.ReservationDay;
import org.dromara.scale.domain.vo.ReservationDayVo;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.scale.domain.ReservationDay;
import org.dromara.scale.domain.vo.ReservationDateVo;
import org.dromara.scale.domain.vo.ReservationDayVo;
import java.util.List;
/**
* 预约-日Mapper接口
@ -14,4 +18,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
@Mapper
public interface ReservationDayMapper extends BaseMapperPlus<ReservationDay, ReservationDayVo> {
List<ReservationDateVo> selectDateList(@Param("time") String time, @Param("userId") Long userId);
}

View File

@ -15,14 +15,6 @@ import java.util.List;
*/
public interface ICounselorService {
/**
* 查询心理咨询师
*
* @param id 用户id
* @return 心理咨询师
*/
CounselorVo queryByUserId(Long id);
/**
* 查询心理咨询师
*

View File

@ -1,7 +1,7 @@
package org.dromara.scale.service;
import org.dromara.scale.domain.ReservationDay;
import org.dromara.scale.domain.bo.ReservationDayBo;
import org.dromara.scale.domain.vo.ReservationDateVo;
import java.util.List;
@ -15,5 +15,5 @@ public interface IReservationService {
*/
Boolean insertByBo(ReservationDayBo bo);
List<ReservationDay> selectList();
List<ReservationDateVo> selectDateList(String time, Long userId);
}

View File

@ -42,11 +42,6 @@ public class CounselorServiceImpl implements ICounselorService {
* @param id 主键
* @return 心理咨询师
*/
@Override
public CounselorVo queryByUserId(Long id) {
return baseMapper.selectVoOne(new LambdaQueryWrapper<Counselor>().eq(Counselor::getUserId, id));
}
@Override
public CounselorVo queryById(Long id) {
return baseMapper.selectVoById(id);
@ -109,13 +104,9 @@ public class CounselorServiceImpl implements ICounselorService {
user.setUserType("sys_counselor");
userService.insertUser(user);
Counselor add = MapstructUtils.convert(bo, Counselor.class);
add.setUserId(user.getUserId());
add.setId(user.getUserId());
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
return baseMapper.insert(add) > 0;
}
/**

View File

@ -9,6 +9,7 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.scale.domain.ReservationDay;
import org.dromara.scale.domain.ReservationTime;
import org.dromara.scale.domain.bo.ReservationDayBo;
import org.dromara.scale.domain.vo.ReservationDateVo;
import org.dromara.scale.mapper.ReservationDayMapper;
import org.dromara.scale.mapper.ReservationTimeMapper;
import org.dromara.scale.service.IReservationService;
@ -70,7 +71,8 @@ public class ReservationServiceImpl implements IReservationService {
}
@Override
public List<ReservationDay> selectList() {
return List.of();
public List<ReservationDateVo> selectDateList(String time, Long userId) {
return dayMapper.selectDateList(time,userId);
}
}

View File

@ -1,7 +1,17 @@
<?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">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.scale.mapper.ReservationDayMapper">
<select id="selectDateList" resultType="org.dromara.scale.domain.vo.ReservationDateVo">
select rd.id, rd.day_time, t.num
from m_reservation_day rd
left join (select count(*) as num, day_id
from m_reservation_time
where counselor_id = #{userId}
and status = 0
group by day_id) t on t.day_id = rd.id
where rd.counselor_id = #{userId}
and DATE_FORMAT(rd.day_time, '%Y-%m-%d') = #{time}
</select>
</mapper>