101captain
2021-08-24 c92f77ac03a1bbe3009891ce1d1f57f2d1091572
提交预约登记小程序相关代码
18个文件已修改
6个文件已添加
603 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComReserveApi.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/CancelRecordDTO.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/OperationDetailDTO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageUserReserveDTO.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoRewardVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActReserveCommitVO.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActReserveIndexVo.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveRecordMapper.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveDO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveOperationRecordDO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveRecordDO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubDO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubSelectionDO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveOperationRecordService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveRecordService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveRecordMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComReserveApi.java
New file
@@ -0,0 +1,71 @@
package com.panzhihua.applets.api;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.community.CancelRecordDTO;
import com.panzhihua.common.model.dtos.community.OperationDetailDTO;
import com.panzhihua.common.model.dtos.community.PageUserReserveDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActReserveCommitVO;
import com.panzhihua.common.service.community.CommunityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * 预约/登记服务
 */
@Slf4j
@RestController
@RequestMapping("reserve")
@Api(tags = "预约/登记服务")
public class ComReserveApi extends BaseController {
    @Resource
    private CommunityService communityService;
    @ApiOperation("详情")
    @GetMapping("/detail")
    public R detail(@RequestParam("id") Long id){
        return communityService.reserveDetail(id);
    }
    @ApiOperation("用户提交数据")
    @PostMapping("/commit")
    public R commit(@RequestBody ComActReserveCommitVO comActReserveCommitVO){
        comActReserveCommitVO.setCommunityId(this.getCommunityId());
        comActReserveCommitVO.setUserId(this.getUserId());
        return communityService.reserveCommit(comActReserveCommitVO);
    }
    /**
     * 我的预约/登记
     * @param pageUserReserveDTO
     * @return
     */
    @ApiOperation("我的预约/登记")
    @PostMapping("/userReserveList")
    public R userReserveList(@RequestBody PageUserReserveDTO pageUserReserveDTO){
        pageUserReserveDTO.setUserId(this.getUserId());
        return communityService.userReserveList(pageUserReserveDTO);
    }
    /**
     * 取消预约/登记
     */
    @ApiOperation("取消预约/登记")
    @PostMapping("/cancelReserve")
    public R userCancelReserve(@RequestBody CancelRecordDTO cancelRecordDTO){
        return communityService.userCancelReserve(cancelRecordDTO);
    }
    /**
     * 预约详情操作记录
     */
    @ApiOperation("预约详情操作记录")
    @PostMapping("/detailOperation")
    public R reserveOperation(@RequestBody OperationDetailDTO comActReserveOperationRecordDO){
        comActReserveOperationRecordDO.setUserId(this.getUserId());
        return communityService.reserveOperation(comActReserveOperationRecordDO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/CancelRecordDTO.java
New file
@@ -0,0 +1,25 @@
package com.panzhihua.common.model.dtos.community;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("取消预约/登记参数")
public class CancelRecordDTO {
    @ApiModelProperty("记录id")
    private Long id;
    /**
     * 内容
     */
    @ApiModelProperty("内容")
    private String content;
    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;
    private Integer status;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/OperationDetailDTO.java
New file
@@ -0,0 +1,23 @@
package com.panzhihua.common.model.dtos.community;
import lombok.Data;
@Data
public class OperationDetailDTO {
    /**
     * 预约登记记录id
     */
    private Long reserveRecordId;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 类型(1.本人操作 2.社区操作)
     */
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageUserReserveDTO.java
New file
@@ -0,0 +1,12 @@
package com.panzhihua.common.model.dtos.community;
import lombok.Data;
@Data
public class PageUserReserveDTO {
    private Integer pageNum;
    private Integer pageSize;
    private Integer type;
    private Long userId;
    private Integer status;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoRewardVO.java
@@ -29,4 +29,10 @@
    @ApiModelProperty("应用位置问卷调查列表")
    private List<ComActQuestnaireAppVO> applicationQuestnaireList;
    @ApiModelProperty("banner预约/登记列表")
    private List<ComActReserveIndexVo> comActReserveIndexBannerVos;
    @ApiModelProperty("应用预约/登记列表")
    private List<ComActReserveIndexVo> comActReserveIndexApplicationVos;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActReserveCommitVO.java
New file
@@ -0,0 +1,22 @@
package com.panzhihua.common.model.vos.community;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("提交预约/登记参数")
public class ComActReserveCommitVO {
    @ApiModelProperty("记录id")
    private Long id;
    @ApiModelProperty("表单json")
    private String jsonObject;
    @ApiModelProperty("用户id")
    private Long userId;
    @ApiModelProperty("社区id")
    private Long communityId;
    @ApiModelProperty("手机号")
    private String phone;
    @ApiModelProperty("类型 1预约 2登记")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActReserveIndexVo.java
New file
@@ -0,0 +1,24 @@
package com.panzhihua.common.model.vos.community;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("预约/登记返回参数")
public class ComActReserveIndexVo {
    private Long id;
    @ApiModelProperty("标题")
    private String title;
    @ApiModelProperty("类型(1.预约 2.登记) ")
    private Integer type;
    @ApiModelProperty("图标类型(1.预设1 2.预设2 3.预设3 4.预设4 5.用户自定义图片)")
    private Integer imgType;
    @ApiModelProperty("图标url(当img_type为5时,此字段的值为图标url地址)")
    private String imgUrl;
    @ApiModelProperty("是否是首页顶部(1.是 2.否)")
    private Integer adverPositionTop;
    @ApiModelProperty("是否是首页应用(1.是 2.否)")
    private Integer adverPositionApplication;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -4348,4 +4348,30 @@
     */
    @GetMapping("/easyphoto/noHandle/list")
    R easyPhotoNoHandleList(@RequestParam("communityId") Long communityId);
    @GetMapping("/reserve/detail")
    R reserveDetail(@RequestParam("id") Long id);
    @PostMapping("/reserve/commit")
    R reserveCommit(@RequestBody  ComActReserveCommitVO comActReserveCommitVO);
    /**
     * 我的预约/登记
     * @param pageUserReserveDTO
     * @return
     */
    @PostMapping("/reserve/userReserveList")
    R userReserveList(@RequestBody PageUserReserveDTO pageUserReserveDTO);
    /**
     * 取消预约/登记
     */
    @PostMapping("/reserve/cancelReserve")
    R userCancelReserve(@RequestBody CancelRecordDTO comActReserveRecordDO);
    /**
     * 预约详情操作记录
     */
    @PostMapping("/reserve/detailOperation")
    R reserveOperation(@RequestBody OperationDetailDTO comActReserveOperationRecordDO);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActReserveApi.java
@@ -1,5 +1,17 @@
package com.panzhihua.service_community.api;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.CancelRecordDTO;
import com.panzhihua.common.model.dtos.community.OperationDetailDTO;
import com.panzhihua.common.model.dtos.community.PageUserReserveDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActReserveCommitVO;
import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper;
import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO;
import com.panzhihua.service_community.model.dos.ComActReserveRecordDO;
import com.panzhihua.service_community.service.ComActReserveOperationRecordService;
import com.panzhihua.service_community.service.ComActReserveRecordService;
import com.panzhihua.service_community.service.ComActReserveService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
@@ -16,6 +28,69 @@
    @Resource
    private ComActReserveService comActReserveService;
    @Resource
    private ComActReserveRecordService comActReserveRecordService;
    @Resource
    private ComActReserveOperationRecordService comActReserveOperationRecordService;
    /**
     * 预约登记详情
     * @param id
     * @return
     */
    @GetMapping("/detail")
    public R detail(@RequestParam("id") Long id){
        if(id!=null){
            return R.ok(comActReserveService.getById(id));
        }
        return R.fail();
    }
    /**
     * 小程序提交预约/登记
     * @param comActReserveCommitVO
     * @return
     */
    @PostMapping("/commit")
    public R commit(@RequestBody ComActReserveCommitVO comActReserveCommitVO){
        return comActReserveService.commit(comActReserveCommitVO);
    }
    /**
     * 我的预约/登记
     * @param pageUserReserveDTO
     * @return
     */
    @PostMapping("/userReserveList")
    public R userReserveList(@RequestBody PageUserReserveDTO pageUserReserveDTO){
        return comActReserveService.pageReserveList(pageUserReserveDTO);
    }
    /**
     * 取消预约/登记
     */
    @PostMapping("/cancelReserve")
    public R userCancelReserve(@RequestBody CancelRecordDTO cancelRecordDTO){
        return comActReserveRecordService.cancel(cancelRecordDTO);
    }
    /**
     * 预约详情操作记录
     */
    @PostMapping("/detailOperation")
    public R reserveOperation(@RequestBody OperationDetailDTO comActReserveOperationRecordDO){
            if(comActReserveOperationRecordDO!=null){
                QueryWrapper<ComActReserveOperationRecordDO> queryWrapper=new QueryWrapper<>();
                if(comActReserveOperationRecordDO.getUserId()!=null){
                    queryWrapper.eq("user_id",comActReserveOperationRecordDO.getUserId());
                }
                if(comActReserveOperationRecordDO.getReserveRecordId()!=null){
                    queryWrapper.eq("reserve_record_id",comActReserveOperationRecordDO.getReserveRecordId());
                }
                if(comActReserveOperationRecordDO.getType()!=null){
                    queryWrapper.eq("type",comActReserveOperationRecordDO.getType());
                }
                queryWrapper.orderByDesc("reserve_time");
                return R.ok(comActReserveOperationRecordService.list(queryWrapper));
            }
        return R.ok();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveMapper.java
@@ -1,8 +1,16 @@
package com.panzhihua.service_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.PageUserReserveDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActReserveIndexVo;
import com.panzhihua.service_community.model.dos.ComActReserveDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @auther lyq
@@ -11,5 +19,6 @@
 */
@Mapper
public interface ComActReserveMapper extends BaseMapper<ComActReserveDO> {
    List<ComActReserveIndexVo> indexBanner(Long communityId);
    List<ComActReserveIndexVo> indexApplication(Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActReserveRecordMapper.java
@@ -1,8 +1,13 @@
package com.panzhihua.service_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.PageUserReserveDTO;
import com.panzhihua.service_community.model.dos.ComActReserveDO;
import com.panzhihua.service_community.model.dos.ComActReserveRecordDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
 * @auther lyq
@@ -11,5 +16,5 @@
 */
@Mapper
public interface ComActReserveRecordMapper extends BaseMapper<ComActReserveRecordDO> {
    IPage<ComActReserveRecordDO> pageReserveList(Page page, @Param("pageUserReserveDTO") PageUserReserveDTO pageUserReserveDTO);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveDO.java
@@ -147,4 +147,8 @@
                ", updateBy=" + updateBy +
                "}";
    }
    public interface isRepeat{
        int yes=1;
        int no=2;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveOperationRecordDO.java
@@ -99,4 +99,22 @@
                ", createBy=" + createBy +
                "}";
    }
    /**
     * 1本人 2社区
     */
    public interface type{
        int br=1;
        int sq=2;
    }
    /**
     * 状态(1.提交 2.预约成功 3.预约失败 4.取消)
     */
    public interface status{
        int ytj=1;
        int cg=2;
        int sb=3;
        int qx=4;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveRecordDO.java
@@ -129,4 +129,14 @@
                ", updateBy=" + updateBy +
                "}";
    }
    /**
     * 状态(1.待处理 2.预约成功 3.预约失败 4.已取消)
     */
    public interface status{
        int dcl = 1;
        int cg = 2;
        int sb = 3;
        int yqx = 4;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubDO.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.model.dos;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -45,6 +46,7 @@
    /**
     * 问卷调查题目key
     */
    @TableField("`key`")
    private String key;
    /**
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActReserveSubSelectionDO.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.model.dos;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -40,6 +41,7 @@
    /**
     * 预约登记选项key
     */
    @TableField("`key`")
    private String key;
    /**
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveOperationRecordService.java
@@ -4,6 +4,7 @@
import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO;
import java.util.Date;
import java.util.List;
/**
 * @auther lyq
@@ -26,5 +27,4 @@
     */
    void addReserveOperationRecord(Long reserveId, Long reserveRecordId, Long userId, Integer type
            , String phone, String reserveContent,String remark,Integer status,Long createBy);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveRecordService.java
@@ -1,6 +1,8 @@
package com.panzhihua.service_community.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panzhihua.common.model.dtos.community.CancelRecordDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.model.dos.ComActReserveRecordDO;
/**
@@ -9,5 +11,5 @@
 * @describe 预约登记记录表服务类
 */
public interface ComActReserveRecordService extends IService<ComActReserveRecordDO> {
    R cancel(CancelRecordDTO comActReserveRecordDO);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActReserveService.java
@@ -1,6 +1,9 @@
package com.panzhihua.service_community.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panzhihua.common.model.dtos.community.PageUserReserveDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActReserveCommitVO;
import com.panzhihua.service_community.model.dos.ComActReserveDO;
/**
@@ -9,5 +12,6 @@
 * @describe 预约登记表服务类
 */
public interface ComActReserveService extends IService<ComActReserveDO> {
    R commit(ComActReserveCommitVO comActReserveCommitVO);
    R pageReserveList(PageUserReserveDTO pageUserReserveDTO);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -59,6 +59,8 @@
    private ComActEasyPhotoFeedbackMapper comActEasyPhotoFeedbackMapper;
    @Resource
    private ComActQuestnaireDAO comActQuestnaireDAO;
    @Resource
    private ComActReserveMapper comActReserveMapper;
    /**
     * 分页查询随手拍
     *
@@ -618,7 +620,16 @@
        if(!applicationQuestnaireList.isEmpty()){
            easyPhotoRewardVO.setApplicationQuestnaireList(applicationQuestnaireList);
        }
        //查询社区正在进行中的banner预约/登记列表
        List<ComActReserveIndexVo> comActReserveIndexVos=comActReserveMapper.indexBanner(communityId);
        if(!comActReserveIndexVos.isEmpty()){
            easyPhotoRewardVO.setComActReserveIndexBannerVos(comActReserveIndexVos);
        }
        //查询社区正在进行中的应用预约/登记列表
        List<ComActReserveIndexVo> comActReserveIndexApplicationVos=comActReserveMapper.indexApplication(communityId);
        if(!comActReserveIndexApplicationVos.isEmpty()){
            easyPhotoRewardVO.setComActReserveIndexApplicationVos(comActReserveIndexApplicationVos);
        }
        return R.ok(easyPhotoRewardVO);
    }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveRecordServiceImpl.java
@@ -1,11 +1,19 @@
package com.panzhihua.service_community.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.model.dtos.community.CancelRecordDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.dao.ComActReserveOperationRecordMapper;
import com.panzhihua.service_community.dao.ComActReserveRecordMapper;
import com.panzhihua.service_community.model.dos.ComActReserveOperationRecordDO;
import com.panzhihua.service_community.model.dos.ComActReserveRecordDO;
import com.panzhihua.service_community.service.ComActReserveRecordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
 * @auther lyq
@@ -15,5 +23,38 @@
@Slf4j
@Service
public class ComActReserveRecordServiceImpl extends ServiceImpl<ComActReserveRecordMapper, ComActReserveRecordDO> implements ComActReserveRecordService {
    @Resource
    private ComActReserveRecordMapper comActReserveRecordMapper;
    @Resource
    private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper;
    private final static String CANCEL="用户取消";
    @Override
    @Transactional
    public R cancel(CancelRecordDTO comActReserveRecord) {
        if(comActReserveRecord!=null&&comActReserveRecord.getId()!=null){
            ComActReserveRecordDO comActReserveRecordDO=comActReserveRecordMapper.selectById(comActReserveRecord.getId());
            if(comActReserveRecordDO!=null&&comActReserveRecordDO.getStatus()!=ComActReserveRecordDO.status.yqx){
                comActReserveRecordDO.setStatus(ComActReserveRecordDO.status.yqx);
                comActReserveRecordDO.setContent(comActReserveRecord.getContent());
                int result =comActReserveRecordMapper.updateById(comActReserveRecordDO);
                if(result>0){
                    ComActReserveOperationRecordDO comActReserveOperationRecordDO=new ComActReserveOperationRecordDO();
                    comActReserveOperationRecordDO.setReserveId(comActReserveRecordDO.getReserveId());
                    comActReserveOperationRecordDO.setReserveRecordId(comActReserveRecordDO.getId());
                    comActReserveOperationRecordDO.setType(ComActReserveOperationRecordDO.type.br);
                    comActReserveOperationRecordDO.setReserveTime(DateUtil.date());
                    comActReserveOperationRecordDO.setReserveContent(CANCEL);
                    comActReserveOperationRecordDO.setPhone(comActReserveRecordDO.getPhone());
                    comActReserveOperationRecordDO.setStatus(ComActReserveOperationRecordDO.status.qx);
                    comActReserveOperationRecordDO.setUserId(comActReserveRecordDO.getUserId());
                    comActReserveOperationRecordMapper.insert(comActReserveOperationRecordDO);
                    return R.ok();
                }
            }
            return R.fail("无法重复取消");
        }
        return R.fail("参数异常");
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
@@ -1,11 +1,27 @@
package com.panzhihua.service_community.service.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.service_community.dao.ComActReserveMapper;
import com.panzhihua.service_community.model.dos.ComActReserveDO;
import com.panzhihua.common.model.dtos.community.PageUserReserveDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActReserveCommitVO;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubVO;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.ComActReserveAnswerContentService;
import com.panzhihua.service_community.service.ComActReserveService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * @auther lyq
@@ -15,5 +31,146 @@
@Slf4j
@Service
public class ComActReserveServiceImpl extends ServiceImpl<ComActReserveMapper, ComActReserveDO> implements ComActReserveService {
    @Resource
    private ComActReserveMapper comActReserveMapper;
    @Resource
    private ComActReserveSubMapper comActReserveSubMapper;
    @Resource
    private ComActReserveSubSelectionMapper comActReserveSubSelectionMapper;
    @Resource
    private ComActReserveAnswerContentService comActReserveAnswerContentService;
    @Resource
    private ComActReserveRecordMapper comActReserveRecordMapper;
    @Resource
    private ComActReserveOperationRecordMapper comActReserveOperationRecordMapper;
    private final static String COMMIT="用户已提交";
    @Override
    @Transactional
    public R commit(ComActReserveCommitVO comActReserveCommitVO) {
        if(comActReserveCommitVO!=null){
            Long userId=comActReserveCommitVO.getUserId();
            Date nowDate=DateUtil.date();
            ComActReserveDO comActReserveDO=comActReserveMapper.selectById(comActReserveCommitVO.getId());
            if(comActReserveDO!=null){
                List<ComActReserveRecordDO> list=comActReserveRecordMapper.selectList(new QueryWrapper<ComActReserveRecordDO>().eq("reserve_id",comActReserveCommitVO.getId()).eq("user_id",comActReserveCommitVO.getUserId()).in("status",1,2,3));
                if(!list.isEmpty()&&comActReserveDO.getIsRepeat()==ComActReserveDO.isRepeat.no){
                    return R.fail("提交失败,不可重复预约");
                }
                else {
                    List<QuestnaiteSubVO> questnaiteSubVOS = JSON.parseArray(comActReserveCommitVO.getJsonObject(),QuestnaiteSubVO.class);
                    if(!questnaiteSubVOS.isEmpty()){
                        Long questId=comActReserveCommitVO.getId();
                        List<ComActReserveAnswerContentDO> answerContentList=new ArrayList<>();
                        for(QuestnaiteSubVO questnaiteSub:questnaiteSubVOS){
                            //查询用户填写题目
                            ComActReserveSubDO questnaireSubDO = comActReserveSubMapper.selectOne(new QueryWrapper<ComActReserveSubDO>().lambda()
                                    .eq(ComActReserveSubDO::getReserveId,questId).eq(ComActReserveSubDO::getKey,questnaiteSub.getKey()));
                            if(questnaireSubDO == null){
                                log.error("未查询到调查问卷题目,题目名称:" + questnaiteSub.getLabel() + "题目key:" + questnaiteSub.getKey());
                                continue;
                            }
                            Long queSubId = questnaireSubDO.getId();
                            //根据上传的类型查询不同的题目选项
                            if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.danxuan)){
                                //单选题处理
                                ComActReserveSubSelectionDO subSelectionDO = comActReserveSubSelectionMapper.selectOne(new QueryWrapper<ComActReserveSubSelectionDO>()
                                        .lambda().eq(ComActReserveSubSelectionDO::getReserveSubId,queSubId).eq(ComActReserveSubSelectionDO::getReserveId,questId)
                                        .eq(ComActReserveSubSelectionDO::getKey,questnaiteSub.getValues()));
                                if(subSelectionDO == null){
                                    log.error("未查询到调查问卷选项,题目名称:" + questnaiteSub.getLabel() + "选项key:" + questnaiteSub.getValues());
                                    continue;
                                }
                                ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO();
                                answerContentDO.setUserId(userId);
                                answerContentDO.setCreateAt(nowDate);
                                answerContentDO.setCreateBy(userId);
                                answerContentDO.setReserveSelectionId(subSelectionDO.getId());
                                answerContentDO.setReserveSubId(queSubId);
                                answerContentDO.setType(1);
                                answerContentDO.setChoice(subSelectionDO.getOptionName());
                                answerContentDO.setAnswerContent(subSelectionDO.getContent());
                                answerContentList.add(answerContentDO);
                            }else if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.duoxuan)){
                                //多选题处理
                                String values = questnaiteSub.getValues();
                                String []value = values.split(",");
                                for (int i = 0; i < value.length; i++) {
                                    ComActReserveSubSelectionDO subSelectionDO = comActReserveSubSelectionMapper.selectOne(new QueryWrapper<ComActReserveSubSelectionDO>()
                                            .lambda().eq(ComActReserveSubSelectionDO::getReserveSubId,queSubId).eq(ComActReserveSubSelectionDO::getReserveId,questId)
                                            .eq(ComActReserveSubSelectionDO::getKey,value[i]));
                                    if(subSelectionDO == null){
                                        log.error("未查询到调查问卷选项,题目名称:" + questnaiteSub.getLabel() + "选项key:" + questnaiteSub.getValues());
                                        continue;
                                    }
                                    ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO();
                                    answerContentDO.setUserId(userId);
                                    answerContentDO.setCreateAt(nowDate);
                                    answerContentDO.setCreateBy(userId);
                                    answerContentDO.setReserveSelectionId(subSelectionDO.getId());
                                    answerContentDO.setReserveSubId(queSubId);
                                    answerContentDO.setType(1);
                                    answerContentDO.setChoice(subSelectionDO.getOptionName());
                                    answerContentDO.setAnswerContent(subSelectionDO.getContent());
                                    answerContentList.add(answerContentDO);
                                }
                            }else if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.wenda)){
                                //问答题处理
                                String values = questnaiteSub.getValues();
                                ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO();
                                answerContentDO.setUserId(userId);
                                answerContentDO.setCreateAt(nowDate);
                                answerContentDO.setCreateBy(userId);
                                answerContentDO.setReserveSubId(queSubId);
                                answerContentDO.setType(2);
                                answerContentDO.setAnswerContent(values);
                                answerContentList.add(answerContentDO);
                            }
                        }
                        if(!answerContentList.isEmpty()){
                            comActReserveAnswerContentService.saveBatch(answerContentList);
                            //更新回答用户数量
                            Integer joinCount = comActReserveDO.getJoinCount();
                            comActReserveDO.setJoinCount(joinCount != null ? joinCount + 1 : 1);
                            comActReserveMapper.updateById(comActReserveDO);
                            //新增用户答题记录
                            ComActReserveRecordDO userAnswerDO = new ComActReserveRecordDO();
                            userAnswerDO.setPhone(comActReserveCommitVO.getPhone());
                            userAnswerDO.setReserveId(questId);
                            userAnswerDO.setUserId(userId);
                            userAnswerDO.setType(comActReserveCommitVO.getType());
                            userAnswerDO.setCreateAt(nowDate);
                            userAnswerDO.setJsonObject(comActReserveCommitVO.getJsonObject());
                            userAnswerDO.setStatus(ComActReserveRecordDO.status.dcl);
                            comActReserveRecordMapper.insert(userAnswerDO);
                            //新增用户操作记录
                            ComActReserveOperationRecordDO comActReserveOperationRecordDO=new ComActReserveOperationRecordDO();
                            comActReserveOperationRecordDO.setReserveId(comActReserveCommitVO.getId());
                            comActReserveOperationRecordDO.setReserveRecordId(userAnswerDO.getId());
                            comActReserveOperationRecordDO.setType(ComActReserveOperationRecordDO.type.br);
                            comActReserveOperationRecordDO.setReserveTime(DateUtil.date());
                            comActReserveOperationRecordDO.setReserveContent(COMMIT);
                            comActReserveOperationRecordDO.setPhone(comActReserveCommitVO.getPhone());
                            comActReserveOperationRecordDO.setStatus(ComActReserveOperationRecordDO.status.ytj);
                            comActReserveOperationRecordDO.setUserId(comActReserveCommitVO.getUserId());
                            comActReserveOperationRecordMapper.insert(comActReserveOperationRecordDO);
                        }
                    }
                }
            }
        }
        return R.fail("参数错误");
    }
    @Override
    public R pageReserveList(PageUserReserveDTO pageUserReserveDTO) {
        return R.ok(comActReserveRecordMapper.pageReserveList(new Page<ComActReserveDO>(pageUserReserveDTO.getPageNum(), pageUserReserveDTO.getPageSize()),pageUserReserveDTO));
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveMapper.xml
@@ -31,4 +31,26 @@
        id, community_id, type, title, view_num, join_all_count, join_count, img_type, img_url, status, publish_time, is_repeat, remark, json_object, adver_position_top, adver_position_application, create_at, create_by, update_at, update_by
    </sql>
    <select id="indexBanner" resultType="com.panzhihua.common.model.vos.community.ComActReserveIndexVo">
        select id,title,type,img_type, img_url,adver_position_top, adver_position_application from com_act_reserve
        where
            status = 1 and adver_position_top = 1
            <if test="communityId !=null">
                and community_id =#{communityId}
            </if>
    </select>
    <select id="indexApplication" resultType="com.panzhihua.common.model.vos.community.ComActReserveIndexVo">
        select id,title,type,img_type, img_url,adver_position_top, adver_position_application from com_act_reserve
        <where>
            status = 1 and adver_position_application = 1
            <if test="communityId !=null">
                and community_id =#{communityId}
            </if>
        </where>
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveRecordMapper.xml
@@ -28,4 +28,20 @@
        id, user_id, reserve_id, community_id, type, name, phone, status, content, remark, act_remark, reserve_time, json_object, create_at, create_by, update_at, update_by
    </sql>
    <select id="pageReserveList" resultMap="BaseResultMap">
        select * from com_act_reserve_record
        <where>
            1=1
            <if test="pageUserReserveDTO.type !=null">
                and type =#{pageUserReserveDTO.type}
            </if>
            <if test="pageUserReserveDTO.status !=null">
                and status =#{pageUserReserveDTO.status}
            </if>
            <if test="pageUserReserveDTO.userId !=null">
                and user_id =#{pageUserReserveDTO.userId}
            </if>
        </where>
    </select>
</mapper>