k94314517
2023-12-11 2766ee4da962a242328b8751c7d73cbdbce23694
11111
已添加4个文件
已修改6个文件
237 ■■■■■ 文件已修改
server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CheckVisitedDTO.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/web/response/DeviceRoleVO.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/web/response/MemberVO.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceRoleService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CheckVisitedDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package com.doumee.dao.web.reqeust;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2023/12/7 11:19
 */
@Data
public class CheckVisitedDTO {
    @NotBlank(message = "手机号未录入")
    @ApiModelProperty(value = "手机号")
    private String mobile;
    @ApiModelProperty(value = "姓名")
    private String name;
}
server/dmvisit_service/src/main/java/com/doumee/dao/web/response/DeviceRoleVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package com.doumee.dao.web.response;
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 com.doumee.core.annotation.excel.ExcelColumn;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class DeviceRoleVO {
    @ApiModelProperty(value = "主键", example = "1")
    private Integer id;
    @ApiModelProperty(value = "名称")
    private String name;
}
server/dmvisit_service/src/main/java/com/doumee/dao/web/response/MemberVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.doumee.dao.web.response;
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 com.doumee.core.annotation.excel.ExcelColumn;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * äººå‘˜ä¿¡æ¯è¡¨
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/30 15:33
 */
@Data
public class MemberVO {
    @ApiModelProperty(value = "主键", example = "1")
    private Integer id;
    @ApiModelProperty(value = "所属组织编码(关联company表)", example = "1")
    private Integer companyId;
    @ApiModelProperty(value = "访客名称")
    private String name;
    @ApiModelProperty(value = "手机号")
    private String phone;
}
server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceRoleService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.DeviceRole;
import com.doumee.dao.web.response.DeviceRoleVO;
import java.util.List;
/**
@@ -102,4 +104,8 @@
     * @return long
     */
    long count(DeviceRole deviceRole);
    List<DeviceRoleVO> findListByType(Integer type);
}
server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -8,6 +8,8 @@
import com.doumee.dao.admin.request.MemberQuery;
import com.doumee.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.web.reqeust.CheckVisitedDTO;
import com.doumee.dao.web.response.MemberVO;
import com.doumee.dao.web.response.WxAuthorizeVO;
import java.util.List;
@@ -159,7 +161,7 @@
    MemberVO getVisitedMember(CheckVisitedDTO checkVisitedDTO);
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -8,7 +8,9 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.DeviceRoleMapper;
import com.doumee.dao.business.model.Device;
import com.doumee.dao.business.model.DeviceRole;
import com.doumee.dao.web.response.DeviceRoleVO;
import com.doumee.service.business.DeviceRoleService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -16,10 +18,13 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.collections.CollectionUtils;
import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -225,4 +230,22 @@
        QueryWrapper<DeviceRole> wrapper = new QueryWrapper<>(deviceRole);
        return deviceRoleMapper.selectCount(wrapper);
    }
    @Override
    public List<DeviceRoleVO> findListByType(Integer type) {
        List<DeviceRole> deviceRoleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
                .eq(DeviceRole::getType,type)
                .eq(DeviceRole::getIsdeleted, Constants.ZERO)
                .eq(DeviceRole::getStatus, Constants.ZERO)
        );
        List<DeviceRoleVO> deviceRoleVOList = new ArrayList<>();
        for (DeviceRole deviceRole:deviceRoleList) {
            DeviceRoleVO deviceRoleVO = new DeviceRoleVO();
            BeanUtils.copyProperties(deviceRole,deviceRoleVO);
            deviceRoleVOList.add(deviceRoleVO);
        }
        return deviceRoleVOList;
    }
}
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -448,6 +448,25 @@
    }
    @Override
    public MemberVO getVisitedMember(CheckVisitedDTO checkVisitedDTO){
        Integer validType = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.BEVISITED_USER_VALID).getCode());
        if(Objects.isNull(checkVisitedDTO)||StringUtils.isBlank(checkVisitedDTO.getMobile())||(validType.equals(Constants.ONE)&&StringUtils.isBlank(checkVisitedDTO.getName()))){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
                .eq(Member::getPhone,checkVisitedDTO.getMobile())
                .eq(validType.equals(Constants.ONE),Member::getName,checkVisitedDTO.getName())
                .eq(Member::getIsdeleted,Constants.ZERO)
                .eq(Member::getStatus,Constants.ZERO)
                .eq(Member::getCanVisit,Constants.ONE)
                .eq(Member::getType,Constants.memberType.internal)
                .last(" limit 1 ")
        );
        MemberVO memberVO = new MemberVO();
        BeanUtils.copyProperties(member,memberVO);
        return memberVO;
    }
server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.doumee.api.web;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
import com.doumee.dao.web.reqeust.FinishAnswerDTO;
import com.doumee.dao.web.response.ProblemsVO;
import com.doumee.service.business.ProblemLogService;
import com.doumee.service.business.ProblemsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2023/12/8 8:54
 */
@Api(tags = "2、题目业务")
@Trace(exclude = true)
@RestController
@RequestMapping("/web/problem")
@Slf4j
public class ProblemController extends ApiController{
    @Autowired
    private ProblemsService problemsService;
    @Autowired
    private ProblemLogService problemLogService;
    @ApiOperation(value = "获取题目数据", notes = "H5")
    @GetMapping("/getProblemsVO")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "useType", value = "使用场景 0劳务人员 1普通访客", required = true)
    })
    public ApiResponse<List<ProblemsVO>> getProblemsVO(@RequestParam Integer useType) {
        return ApiResponse.success("查询成功",problemsService.getProblemsVO(useType));
    }
    @ApiOperation(value = "保存答题记录", notes = "H5")
    @PostMapping("/finishAnswer")
    public ApiResponse<Integer> finishAnswer(@RequestBody FinishAnswerDTO finishAnswerDTO) {
        return ApiResponse.success("查询成功",problemLogService.finishAnswer(finishAnswerDTO));
    }
}
server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java
@@ -5,7 +5,10 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.web.reqeust.FinishAnswerDTO;
import com.doumee.dao.web.response.DeviceRoleVO;
import com.doumee.dao.web.response.ProblemsVO;
import com.doumee.service.business.DeviceRoleService;
import com.doumee.service.business.DeviceService;
import com.doumee.service.business.ProblemLogService;
import com.doumee.service.business.ProblemsService;
import io.swagger.annotations.Api;
@@ -37,10 +40,7 @@
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private ProblemsService problemsService;
    @Autowired
    private ProblemLogService problemLogService;
    private DeviceRoleService deviceRoleService;
    @ApiOperation(value = "查询字典值数据", notes = "H5")
    @GetMapping("/getSystemDictData")
@@ -52,22 +52,13 @@
        return ApiResponse.success("查询成功",systemDictDataBiz.queryByCode(dictCode,label));
    }
    @ApiOperation(value = "获取题目数据", notes = "H5")
    @GetMapping("/getProblemsVO")
    @ApiOperation(value = "设备组列表", notes = "H5")
    @GetMapping("/deviceRoleList")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "useType", value = "使用场景 0劳务人员 1普通访客", required = true)
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "类型 0劳务访客 1普通访客 2内部人员", required = true)
    })
    public ApiResponse<List<ProblemsVO>> getProblemsVO(@RequestParam Integer useType) {
        return ApiResponse.success("查询成功",problemsService.getProblemsVO(useType));
    public ApiResponse<List<DeviceRoleVO>> deviceRoleList(@RequestParam Integer type) {
        return ApiResponse.success("查询成功",deviceRoleService.findListByType(type));
    }
    @ApiOperation(value = "保存答题记录", notes = "H5")
    @PostMapping("/finishAnswer")
    public ApiResponse<Integer> finishAnswer(@RequestBody FinishAnswerDTO finishAnswerDTO) {
        return ApiResponse.success("查询成功",problemLogService.finishAnswer(finishAnswerDTO));
    }
}
server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
@@ -3,6 +3,8 @@
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.dao.web.reqeust.CheckVisitedDTO;
import com.doumee.dao.web.response.MemberVO;
import com.doumee.dao.web.response.WxAuthorizeVO;
import com.doumee.service.business.MemberService;
import io.swagger.annotations.Api;
@@ -11,10 +13,9 @@
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
 * Created by IntelliJ IDEA.
@@ -33,6 +34,7 @@
    @Autowired
    private MemberService memberService;
    @ApiOperation(value = "访客微信授权", notes = "访客微信授权获取openId")
    @GetMapping("/wxAuthorize")
    @ApiImplicitParams({
@@ -44,4 +46,10 @@
    }
    @ApiOperation(value = "查询被访问人信息", notes = "查询被访问人信息")
    @PostMapping("/getVisitedMember")
    public ApiResponse<MemberVO> getVisitedMember(@Valid @RequestBody CheckVisitedDTO checkVisitedDTO) {
        return ApiResponse.success("查询成功", memberService.getVisitedMember(checkVisitedDTO));
    }
}