Merge pull request '修改预约模块添加预约时间段bug' (#74) from sjy-two into master
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #74
This commit is contained in:
commit
6b5ba72b0a
@ -55,5 +55,10 @@ export const LitemallReservationApi = {
|
||||
// 导出预约订单 Excel
|
||||
exportLitemallReservation: async (params) => {
|
||||
return await request.download({ url: `/subscribe/litemall-reservation/export-excel`, params })
|
||||
}
|
||||
},
|
||||
|
||||
// 删除预约订单
|
||||
checkLitemallReservation: async (id: number,check: number) => {
|
||||
return await request.get({ url: `/subscribe/litemall-reservation/check?id=` + id + `&check=` + check })
|
||||
},
|
||||
}
|
||||
|
@ -127,6 +127,8 @@ export enum DICT_TYPE {
|
||||
//预约:项目
|
||||
SUBSCRIBE_PROJECT_STATUS = 'subscribe_project_status',
|
||||
|
||||
SUBSCRIBE_RESERVATION_STATUS = 'subscribe_reservation_status',
|
||||
|
||||
//预约:配置
|
||||
SUBSCRIBE_CONFIGURATION_STATUS = 'subscribe_configuration_status',
|
||||
|
||||
|
@ -33,10 +33,11 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="可预约日期" prop="timeInterval">
|
||||
<el-form-item label="可预约日期" prop="timeInterval" >
|
||||
<el-date-picker
|
||||
v-model="formData.timeInterval"
|
||||
type="daterange"
|
||||
value-format="YYYY-MM-DD"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
/>
|
||||
@ -106,8 +107,8 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
/** 提交表单 */
|
||||
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
||||
const submitForm = async () => {
|
||||
console.log('11111111111',formData.value.timeInterval)
|
||||
formData.value.timeInterval = JSON.stringify(formData.value.timeInterval);
|
||||
console.log('11111111111',JSON.stringify(formData.value.timeInterval))
|
||||
formData.value.timeInterval = JSON.stringify(formData.value.timeInterval);
|
||||
// 校验表单
|
||||
await formRef.value.validate()
|
||||
// 提交请求
|
||||
|
@ -148,25 +148,26 @@
|
||||
width="180px"
|
||||
/> -->
|
||||
<!-- <el-table-column label="预约时间段" align="center" prop="hsstr" /> -->
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
align="center"
|
||||
prop="createTime"
|
||||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column label="预约状态" align="center" prop="reStatus">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.RE_STATUS" :value="scope.row.reStatus" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="审核状态" align="center" prop="status">
|
||||
<!-- <el-table-column label="审核状态" align="center" prop="status">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.STATUS" :value="scope.row.status" />
|
||||
<dict-tag :type="DICT_TYPE.SUBSCRIBE_RESERVATION_STATUS" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
align="center"
|
||||
prop="createTime"
|
||||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column label="操作" align="center" fixed="right" width="110">
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" prop="remark" /> -->
|
||||
|
||||
<el-table-column label="审核" align="center" fixed="right" width="110">
|
||||
<template #default="scope">
|
||||
<!-- <el-button
|
||||
link
|
||||
@ -176,14 +177,43 @@
|
||||
>
|
||||
编辑
|
||||
</el-button> -->
|
||||
<el-button
|
||||
<el-button
|
||||
v-if="scope.row.reStatus == 2"
|
||||
link
|
||||
type="danger"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
v-hasPermi="['subscribe:litemall-reservation:delete']"
|
||||
type="success"
|
||||
@click="handleTonguo(scope.row.id)"
|
||||
>
|
||||
删除
|
||||
通过
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-if="scope.row.reStatus == 2"
|
||||
link
|
||||
type="danger"
|
||||
@click="handleJujue(scope.row.id)"
|
||||
>
|
||||
拒绝
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-if="scope.row.reStatus == 1"
|
||||
disabled
|
||||
type="success"
|
||||
>
|
||||
已通过
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-if="scope.row.reStatus == 0"
|
||||
disabled
|
||||
type="danger"
|
||||
>
|
||||
已拒绝
|
||||
</el-button>
|
||||
|
||||
|
||||
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -233,6 +263,7 @@ const queryParams = reactive({
|
||||
technicianName: undefined,
|
||||
technicianId: undefined,
|
||||
reStatus: undefined,
|
||||
status: undefined,
|
||||
remark: undefined,
|
||||
createTime: []
|
||||
})
|
||||
@ -269,14 +300,28 @@ const openForm = (type: string, id?: number) => {
|
||||
formRef.value.open(type, id)
|
||||
}
|
||||
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (id: number) => {
|
||||
/** 审核通过按钮操作 */
|
||||
const handleTonguo = async (id: number) => {
|
||||
|
||||
const check = 1;
|
||||
try {
|
||||
// 删除的二次确认
|
||||
await message.delConfirm()
|
||||
|
||||
// 发起删除
|
||||
await LitemallReservationApi.deleteLitemallReservation(id)
|
||||
message.success(t('common.delSuccess'))
|
||||
await LitemallReservationApi.checkLitemallReservation(id,check)
|
||||
message.success(t('审核成功'))
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} catch {}
|
||||
}
|
||||
|
||||
/** 审核拒绝按钮操作 */
|
||||
const handleJujue = async (id: number) => {
|
||||
|
||||
const check = 0;
|
||||
try {
|
||||
|
||||
await LitemallReservationApi.checkLitemallReservation(id,check)
|
||||
message.success(t('审核成功'))
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} catch {}
|
||||
|
@ -69,10 +69,10 @@
|
||||
<el-table-column label="归属项目" align="center" prop="brandName" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="180px" />
|
||||
<el-table-column label="操作" align="center" fixed="right" width="200">
|
||||
<el-table-column label="操作" align="center" fixed="right" width="220">
|
||||
<template #default="scope">
|
||||
<el-button @click="openday(scope.row.projectId,scope.row.id)">
|
||||
配置
|
||||
<el-button type="info" @click="openday(scope.row.projectId,scope.row.id)">
|
||||
时间段配置
|
||||
</el-button>
|
||||
<el-button link type="primary" @click="openForm('update', scope.row.id)"
|
||||
v-hasPermi="['subscribe:litemall-technician:update']">
|
||||
|
@ -24,6 +24,8 @@
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
<!-- 业务组件 -->
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.boot</groupId>
|
||||
|
@ -105,8 +105,8 @@ public class ConfigurationController {
|
||||
|
||||
//添加预约套餐时间段配置
|
||||
@PostMapping("/addUpdConfiguration")
|
||||
public CommonResult<Long> addConfiguration(@RequestBody ConfigurationDO pageReqVO) {
|
||||
Long aLong = configurationService.addUpdConfiguration(pageReqVO);
|
||||
public CommonResult<Integer> addConfiguration(@RequestBody ConfigurationDO pageReqVO) {
|
||||
Integer aLong = configurationService.addUpdConfiguration(pageReqVO);
|
||||
return success(aLong);
|
||||
}
|
||||
|
||||
|
@ -94,4 +94,11 @@ public class LitemallReservationController {
|
||||
BeanUtils.toBean(list, LitemallReservationRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/check")
|
||||
public CommonResult<Boolean> checkLitemallReservation(@RequestParam("id") Long id,@RequestParam("check") Long check) {
|
||||
Boolean aBoolean = litemallReservationService.checkLitemallReservation(id, check);
|
||||
return success(aBoolean);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -57,7 +57,7 @@ public interface ConfigurationService {
|
||||
|
||||
List<ServiceTimeVO> getConfiguration(Integer id);
|
||||
|
||||
Long addUpdConfiguration(ConfigurationDO pageReqVO);
|
||||
Integer addUpdConfiguration(ConfigurationDO pageReqVO);
|
||||
|
||||
List<ConfigurationDO> getConfigurationList(Integer projectdayId, Integer technicianId);
|
||||
|
||||
|
@ -13,6 +13,8 @@ import com.alibaba.fastjson.TypeReference;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
@ -101,36 +103,87 @@ public class ConfigurationServiceImpl implements ConfigurationService {
|
||||
serviceTimeVOList.add(serviceTimeVO);
|
||||
}
|
||||
|
||||
|
||||
return serviceTimeVOList;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public Long addUpdConfiguration(ConfigurationDO pageReqVO) {
|
||||
public Integer addUpdConfiguration(ConfigurationDO pageReqVO) {
|
||||
|
||||
//添加成功后,时间段添加到预约时间段配置中
|
||||
|
||||
if(pageReqVO.getServiceTimes() != null && pageReqVO.getServiceTimes() != ""){
|
||||
//把StringJSON格式serviceTime转成对象
|
||||
List<ServiceTimeVO> serviceTimeVOS = JSON.parseObject(pageReqVO.getServiceTimes(), new TypeReference<List<ServiceTimeVO>>() {});
|
||||
|
||||
/**
|
||||
* 删除时间段
|
||||
*/
|
||||
//获取预约天的时间段
|
||||
|
||||
List<ServiceTimeVO> serviceTimeVOList = new ArrayList<>();
|
||||
for (int i = 0; i < serviceTimeVOS.size(); i++) {
|
||||
if (serviceTimeVOS.get(i).getId() != null){
|
||||
serviceTimeVOList.add(serviceTimeVOS.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
List<ServiceTimeVO> configurationByProjectdayId = getConfigurationByProjectdayId(pageReqVO.getProjectdayId());
|
||||
for (int i = 0; i < configurationByProjectdayId.size(); i++) {
|
||||
ServiceTimeVO serviceTimeVO1 = configurationByProjectdayId.get(i);
|
||||
int check = 0;
|
||||
for (int j = 0; j < serviceTimeVOList.size(); j++) {
|
||||
ServiceTimeVO serviceTimeVO = serviceTimeVOS.get(j);
|
||||
|
||||
|
||||
if (!serviceTimeVO1.getId().equals(serviceTimeVO.getId())){
|
||||
check++;
|
||||
}
|
||||
if (check == serviceTimeVOList.size()){
|
||||
configurationMapper.deleteById(serviceTimeVO1.getId());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (int j = 0; j < serviceTimeVOS.size(); j++) {
|
||||
ServiceTimeVO serviceTimeVO = serviceTimeVOS.get(j);
|
||||
String serviceTime = serviceTimeVO.getStart() + " - " + serviceTimeVO.getEnd();
|
||||
|
||||
ConfigurationDO configurationDO = new ConfigurationDO();
|
||||
configurationDO.setTechnicianId(pageReqVO.getTechnicianId());
|
||||
configurationDO.setProjectdayId(pageReqVO.getProjectdayId());
|
||||
configurationDO.setTimeQuantum(serviceTime);
|
||||
configurationDO.setAvailableNumber(Integer.parseInt(serviceTimeVO.getSubscribeNum()));
|
||||
configurationDO.setResidueNumber(Integer.parseInt(serviceTimeVO.getSubscribeNum()));
|
||||
configurationDO.setStatus(1);
|
||||
configurationMapper.insert(configurationDO);
|
||||
}
|
||||
//判断时间段是否存在
|
||||
/**
|
||||
* 添加修改时间段
|
||||
*/
|
||||
if (serviceTimeVO.getId() == null){ //不存在,添加进时间段
|
||||
|
||||
ConfigurationDO configurationDO = new ConfigurationDO();
|
||||
configurationDO.setTechnicianId(pageReqVO.getTechnicianId());
|
||||
configurationDO.setProjectdayId(pageReqVO.getProjectdayId());
|
||||
configurationDO.setTimeQuantum(serviceTime);
|
||||
configurationDO.setAvailableNumber(Integer.parseInt(serviceTimeVO.getSubscribeNum()));
|
||||
configurationDO.setResidueNumber(Integer.parseInt(serviceTimeVO.getSubscribeNum()));
|
||||
configurationDO.setStatus(1);
|
||||
int insert = configurationMapper.insert(configurationDO);
|
||||
if (insert == 0){
|
||||
return insert;
|
||||
}
|
||||
}else {
|
||||
ConfigurationDO configurationDO = new ConfigurationDO();
|
||||
configurationDO.setId(serviceTimeVO.getId());
|
||||
configurationDO.setTechnicianId(pageReqVO.getTechnicianId());
|
||||
configurationDO.setProjectdayId(pageReqVO.getProjectdayId());
|
||||
configurationDO.setTimeQuantum(serviceTime);
|
||||
configurationDO.setAvailableNumber(Integer.parseInt(serviceTimeVO.getSubscribeNum()));
|
||||
int i = configurationMapper.updateById(configurationDO);
|
||||
if (i == 0){
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -142,4 +195,21 @@ public class ConfigurationServiceImpl implements ConfigurationService {
|
||||
return configurationDOS;
|
||||
}
|
||||
|
||||
|
||||
public List<ServiceTimeVO> getConfigurationByProjectdayId(Long id) {
|
||||
List<ConfigurationDO> configurationDOS = configurationMapper.selectList("projectday_id", id);
|
||||
List<ServiceTimeVO> serviceTimeVOList = new ArrayList<>();
|
||||
for (int i = 0; i < configurationDOS.size(); i++) {
|
||||
ConfigurationDO configurationDO = configurationDOS.get(i);
|
||||
ServiceTimeVO serviceTimeVO = new ServiceTimeVO();
|
||||
String[] split = configurationDO.getTimeQuantum().split(" - ");
|
||||
serviceTimeVO.setId(configurationDO.getId());
|
||||
serviceTimeVO.setStart(split[0]);
|
||||
serviceTimeVO.setEnd(split[1]);
|
||||
serviceTimeVO.setSubscribeNum(String.valueOf(configurationDO.getAvailableNumber()));
|
||||
serviceTimeVOList.add(serviceTimeVO);
|
||||
}
|
||||
return serviceTimeVOList;
|
||||
}
|
||||
|
||||
}
|
@ -13,6 +13,7 @@ import cn.iocoder.yudao.module.srbscribe.dal.mysql.projectday.ProjectdayMapper;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.google.common.reflect.TypeToken;
|
||||
import com.google.gson.Gson;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -66,37 +67,21 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
|
||||
// 将字符串转换为数组
|
||||
String[] timeIntervalArray = gson.fromJson(project.getTimeInterval(), arrayType);
|
||||
String[] startDate = timeIntervalArray[0].split("T");
|
||||
String[] endDate = timeIntervalArray[1].split("T");
|
||||
|
||||
// 定义日期格式
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
// 定义起始日期和结束日期
|
||||
LocalDate startDates = LocalDate.parse(startDate[0], formatter);
|
||||
LocalDate endDates = LocalDate.parse(endDate[0], formatter);
|
||||
// 获取日期范围内的所有日期
|
||||
List<LocalDate> dateList = getDatesBetween(startDates, endDates);
|
||||
// 创建一个 StringBuilder 来存储所有日期的字符串
|
||||
StringBuilder dateStringBuilder = new StringBuilder();
|
||||
// 拼接所有日期字符串
|
||||
for (LocalDate date : dateList) {
|
||||
dateStringBuilder.append(date.format(formatter)).append(","); // 连接日期和逗号
|
||||
}
|
||||
// 删除最后一个逗号和空格
|
||||
if (dateStringBuilder.length() > 0) {
|
||||
dateStringBuilder.setLength(dateStringBuilder.length() - 1); // 移除最后的逗号和空格
|
||||
}
|
||||
// 输出所有日期作为单个字符串
|
||||
String finalDateString = dateStringBuilder.toString();
|
||||
//根据两个日期获取中间所有日期 : "2024-10-01,.......,2024-10-31"
|
||||
String finalDateString = dateString(timeIntervalArray[0], timeIntervalArray[1]);
|
||||
|
||||
String[] split = finalDateString.split(",");
|
||||
List<ProjectdayDO> projectdayDOS = new ArrayList<>();
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
ProjectdayDO projectdayDO = new ProjectdayDO();
|
||||
projectdayDO.setProjectId(project.getId());
|
||||
projectdayDO.setDays(split[i]);
|
||||
//获取星期
|
||||
LocalDate localDate = LocalDate.parse(split[i]);
|
||||
String dayOfWeek = localDate.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINESE);
|
||||
projectdayDO.setWeek(dayOfWeek);
|
||||
|
||||
projectdayDOS.add(projectdayDO);
|
||||
}
|
||||
projectdayMapper.insertBatch(projectdayDOS);
|
||||
@ -110,8 +95,93 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
return project.getId();
|
||||
}
|
||||
|
||||
|
||||
//根据两个日期获取中间所有日期 : "2024-10-01,.......,2024-10-31"
|
||||
public String dateString(String startDay,String endDay){
|
||||
|
||||
// 定义日期格式
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
// 定义起始日期和结束日期
|
||||
LocalDate startDates = LocalDate.parse(startDay, formatter);
|
||||
LocalDate endDates = LocalDate.parse(endDay, formatter);
|
||||
// 获取日期范围内的所有日期
|
||||
List<LocalDate> dateList = getDatesBetween(startDates, endDates);
|
||||
// 创建一个 StringBuilder 来存储所有日期的字符串
|
||||
StringBuilder dateStringBuilder = new StringBuilder();
|
||||
// 拼接所有日期字符串
|
||||
for (LocalDate date : dateList) {
|
||||
dateStringBuilder.append(date.format(formatter)).append(","); // 连接日期和逗号
|
||||
}
|
||||
// 删除最后一个逗号和空格
|
||||
if (dateStringBuilder.length() > 0) {
|
||||
dateStringBuilder.setLength(dateStringBuilder.length() - 1); // 移除最后的逗号和空格
|
||||
}
|
||||
// 输出所有日期作为单个字符串
|
||||
String finalDateString = dateStringBuilder.toString();
|
||||
return finalDateString;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void updateProject(ProjectSaveReqVO updateReqVO) {
|
||||
|
||||
|
||||
// 创建 Gson 对象
|
||||
Gson gson = new Gson();
|
||||
// 定义数组的类型
|
||||
Type arrayType = new TypeToken<String[]>() {}.getType();
|
||||
// 将字符串转换为数组
|
||||
String[] timeIntervalArray = gson.fromJson(updateReqVO.getTimeInterval(), arrayType);
|
||||
//根据两个日期获取中间所有日期 : "2024-10-01,.......,2024-10-31"
|
||||
String finalDateString = dateString(timeIntervalArray[0], timeIntervalArray[1]);
|
||||
String[] split = finalDateString.split(",");
|
||||
List<String> dateList = new ArrayList<>();
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
dateList.add(split[i]);
|
||||
}
|
||||
|
||||
//更新前的时间
|
||||
List<ProjectdayDO> projectdayDOS = projectdayMapper.selectList("project_id", updateReqVO.getId());
|
||||
|
||||
|
||||
|
||||
List<ProjectdayDO> projectdayList = new ArrayList<>();
|
||||
|
||||
|
||||
for (int i = 0; i < dateList.size(); i++) {
|
||||
int chick = 0;
|
||||
for (int j = 0; j < projectdayDOS.size(); j++) {
|
||||
ProjectdayDO projectdayDO = projectdayDOS.get(j);
|
||||
|
||||
if (!dateList.get(i).equals(projectdayDO.getDays())){
|
||||
chick ++;
|
||||
}
|
||||
if (chick == projectdayDOS.size()){ //没有相同预约天,添加
|
||||
ProjectdayDO projectdayDO1 = new ProjectdayDO();
|
||||
projectdayDO1.setProjectId(updateReqVO.getId());
|
||||
projectdayDO1.setDays(split[i]);
|
||||
//获取星期
|
||||
LocalDate localDate = LocalDate.parse(split[i]);
|
||||
String dayOfWeek = localDate.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINESE);
|
||||
projectdayDO1.setWeek(dayOfWeek);
|
||||
projectdayList.add(projectdayDO1);
|
||||
}
|
||||
if (dateList.get(i).equals(projectdayDO.getDays())){
|
||||
projectdayDOS.remove(projectdayDO); //删除相等的
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
projectdayMapper.insertBatch(projectdayList);
|
||||
|
||||
//删除原来多余的预约天
|
||||
if (!projectdayDOS.isEmpty()){
|
||||
projectdayMapper.deleteByIds(projectdayDOS);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 校验存在
|
||||
validateProjectExists(updateReqVO.getId());
|
||||
// 更新
|
||||
|
@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.srbscribe.controller.admin.reservation.vo.LitemallReservationPageReqVO;
|
||||
import cn.iocoder.yudao.module.srbscribe.controller.admin.reservation.vo.LitemallReservationSaveReqVO;
|
||||
import cn.iocoder.yudao.module.srbscribe.dal.dataobject.reservation.LitemallReservationDO;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.validation.*;
|
||||
import java.util.List;
|
||||
@ -71,4 +72,8 @@ public interface LitemallReservationService {
|
||||
|
||||
List<LitemallReservationDO> reservationInfo(Long userId);
|
||||
|
||||
Boolean checkLitemallReservation( Long id, Long check);
|
||||
|
||||
|
||||
|
||||
}
|
@ -22,6 +22,8 @@ import com.alibaba.fastjson.TypeReference;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
@ -158,14 +160,14 @@ public class LitemallReservationServiceImpl implements LitemallReservationServic
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public int addReservation(LitemallReservationDO litemallReservationDO) {
|
||||
|
||||
ConfigurationDO configurationDO = configurationMapper.selectOne("id", litemallReservationDO.getConfigurationId());
|
||||
|
||||
if (configurationDO.getResidueNumber() > 0){ //剩余预约人数大于0,可预约
|
||||
litemallReservationDO.setReStatus(1);
|
||||
litemallReservationDO.setReStatus(2);
|
||||
litemallReservationMapper.insert(litemallReservationDO);
|
||||
int a = configurationDO.getResidueNumber() - 1;
|
||||
if (a == 0){
|
||||
@ -191,6 +193,9 @@ public class LitemallReservationServiceImpl implements LitemallReservationServic
|
||||
if (litemallReservationDO.getReStatus() == 0){
|
||||
litemallReservationDO.setStat("预约失败");
|
||||
}
|
||||
if (litemallReservationDO.getReStatus() == 2){
|
||||
litemallReservationDO.setStat("待审核");
|
||||
}
|
||||
|
||||
|
||||
//门店信息
|
||||
@ -222,4 +227,20 @@ public class LitemallReservationServiceImpl implements LitemallReservationServic
|
||||
return litemallReservationDOList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean checkLitemallReservation(Long id, Long check) {
|
||||
|
||||
LitemallReservationDO litemallReservationDO = litemallReservationMapper.selectOne("id", id);
|
||||
if (check == 0){ //拒绝
|
||||
litemallReservationDO.setReStatus(0);
|
||||
}
|
||||
if (check == 1){
|
||||
litemallReservationDO.setReStatus(1);
|
||||
}
|
||||
|
||||
litemallReservationMapper.updateById(litemallReservationDO);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user