jiaosong
2023-12-07 40662806c2738a259edb87761b3ac3ae4a0001c4
#答题日志数据转换 字段映射修改
已添加1个文件
已修改9个文件
187 ■■■■ 文件已修改
server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/ProblemLogController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/config/mybatis/JSONObjectHandler.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ProblemLog.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemsService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java
@@ -10,7 +10,7 @@
import com.doumee.service.business.CarEventService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -33,7 +33,7 @@
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("business:carevent:create")
//    @RequiresPermissions("business:carevent:create")
    public ApiResponse create(@RequestBody CarEvent carEvent) {
        return ApiResponse.success(carEventService.create(carEvent));
    }
server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java
@@ -10,7 +10,7 @@
import com.doumee.service.business.DeviceEventService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -33,7 +33,7 @@
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("business:deviceevent:create")
//    @RequiresPermissions("business:deviceevent:create")
    public ApiResponse create(@RequestBody DeviceEvent deviceEvent) {
        return ApiResponse.success(deviceEventService.create(deviceEvent));
    }
server/dmvisit_admin/src/main/java/com/doumee/api/business/ProblemLogController.java
@@ -10,7 +10,7 @@
import com.doumee.service.business.ProblemLogService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -33,7 +33,7 @@
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("business:problemlog:create")
//    @RequiresPermissions("business:problemlog:create")
    public ApiResponse create(@RequestBody ProblemLog problemLog) {
        return ApiResponse.success(problemLogService.create(problemLog));
    }
@@ -69,7 +69,7 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:problemlog:query")
//    @RequiresPermissions("business:problemlog:query")
    public ApiResponse<PageData<ProblemLog>> findPage (@RequestBody PageWrap<ProblemLog> pageWrap) {
        return ApiResponse.success(problemLogService.findPage(pageWrap));
    }
server/dmvisit_service/src/main/java/com/doumee/config/mybatis/JSONObjectHandler.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
package com.doumee.config.mybatis;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeHandler;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
 * @author T14
 */
public class JSONObjectHandler implements TypeHandler<JSONObject> {
    @Override
    public void setParameter(PreparedStatement preparedStatement, int i, JSONObject o, JdbcType jdbcType) throws SQLException {
        preparedStatement.setString(i,toString());
    }
    @Override
    public JSONObject getResult(ResultSet resultSet, String s) throws SQLException {
        String str = resultSet.getString(s);
        if (StringUtils.isBlank(str)){
            return null;
        }
        if (!JSONUtil.isJsonObj(str)){
            throw new SQLException("解析数据格式有误");
        }
        return (JSONObject)JSONObject.parse(str);
    }
    @Override
    public JSONObject getResult(ResultSet resultSet, int i) throws SQLException {
        String str = resultSet.getString(i);
        if (StringUtils.isBlank(str)){
            return null;
        }
        if (!JSONUtil.isJsonObj(str)){
            throw new SQLException("解析数据格式有误");
        }
        return (JSONObject)JSONObject.parse(str);
    }
    @Override
    public JSONObject getResult(CallableStatement callableStatement, int i) throws SQLException {
        String str = callableStatement.getString(i);
        if (StringUtils.isBlank(str)){
            return null;
        }
        if (!JSONUtil.isJsonObj(str)){
            throw new SQLException("解析数据格式有误");
        }
        return (JSONObject)JSONObject.parse(str);
    }
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
@@ -90,10 +90,12 @@
    @ApiModelProperty(value = "报警输入/防区通道", example = "1")
    @ExcelColumn(name="报警输入/防区通道")
    @TableField("ext_event_alarm_in_id")
    private Integer extEventAlarmInID;
    @ApiModelProperty(value = "报警输出通道", example = "1")
    @ExcelColumn(name="报警输出通道")
    @TableField("ext_event_alarm_out_id")
    private Integer extEventAlarmOutID;
    @ApiModelProperty(value = "卡号")
@@ -102,6 +104,7 @@
    @ApiModelProperty(value = "事件输入通道", example = "1")
    @ExcelColumn(name="事件输入通道")
    @TableField("ext_event_case_id")
    private Integer extEventCaseID;
    @ApiModelProperty(value = "事件类型代码", example = "1")
@@ -110,22 +113,27 @@
    @ApiModelProperty(value = "门编号", example = "1")
    @ExcelColumn(name="门编号")
    @TableField("ext_event_door_id")
    private Integer extEventDoorID;
    @ApiModelProperty(value = "身份证图片URL")
    @ExcelColumn(name="身份证图片URL")
    @TableField("ext_event_idcard_picture_url")
    private String extEventIDCardPictureURL;
    @ApiModelProperty(value = "进出方向 1-进 0-出 -1:未知 è¦æ±‚:进门读卡器拨码设置为1,出门读卡器拨码设置为2", example = "1")
    @ExcelColumn(name="进出方向 1-进 0-出 -1:未知 è¦æ±‚:进门读卡器拨码设置为1,出门读卡器拨码设置为2")
    @TableField("ext_event_in_out")
    private Integer extEventInOut;
    @ApiModelProperty(value = "就地控制器id", example = "1")
    @ExcelColumn(name="就地控制器id")
    @TableField("ext_event_local_controller_id")
    private Integer extEventLocalControllerID;
    @ApiModelProperty(value = "主设备拨码", example = "1")
    @ExcelColumn(name="主设备拨码")
    @TableField("ext_event_main_dev_id")
    private Integer extEventMainDevID;
    @ApiModelProperty(value = "人员编号")
@@ -138,10 +146,12 @@
    @ApiModelProperty(value = "读卡器id", example = "1")
    @ExcelColumn(name="读卡器id")
    @TableField("ext_event_reader_id")
    private Integer extEventReaderID;
    @ApiModelProperty(value = "图片的url")
    @ExcelColumn(name="图片的url")
    @TableField("ext_event_picture_url")
    private String extEventPictureURL;
    @ApiModelProperty(value = "图片存储服务器唯一标识")
@@ -154,15 +164,17 @@
    @ApiModelProperty(value = "群组编号", example = "1")
    @ExcelColumn(name="群组编号")
    @TableField("ext_event_role_id")
    private Integer extEventRoleID;
    @ApiModelProperty(value = "分控制器硬件ID", example = "1")
    @ExcelColumn(name="分控制器硬件ID")
    private Integer extEventSubDevID;
    @TableField("ext_event_eub_dev_id")
    private Integer extEventEubDevID;
    @ApiModelProperty(value = "刷卡次数", example = "1")
    @ExcelColumn(name="刷卡次数")
    private Integer extEventSwipNum;
    private Integer extEventEwipNum;
    @ApiModelProperty(value = "门禁事件类型", example = "1")
    @ExcelColumn(name="门禁事件类型")
@@ -170,10 +182,12 @@
    @ApiModelProperty(value = "多重认证序号", example = "1")
    @ExcelColumn(name="多重认证序号")
    @TableField("ext_event_verify_id")
    private Long extEventVerifyID;
    @ApiModelProperty(value = "白名单单号")
    @ExcelColumn(name="白名单单号")
    @TableField("ext_event_white_list_no")
    private String extEventWhiteListNo;
    @ApiModelProperty(value = "事件上报驱动的时间")
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ProblemLog.java
@@ -1,5 +1,8 @@
package com.doumee.dao.business.model;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.config.mybatis.JSONObjectHandler;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -18,7 +21,7 @@
 */
@Data
@ApiModel("访客答题记录表")
@TableName("`problem_log`")
@TableName(value = "`problem_log`",autoResultMap = true)
public class ProblemLog {
    @TableId(type = IdType.AUTO)
@@ -70,12 +73,18 @@
    @ApiModelProperty(value = "答题明细,json存储")
    @ExcelColumn(name="答题明细,json存储")
    private String content;
    @TableField(value = "content", typeHandler = JSONObjectHandler.class)
    private JSONObject content;
    @ApiModelProperty(value = "答题人姓名")
    @ExcelColumn(name="答题人姓名")
    private String name;
    @ApiModelProperty(value = "类型 0劳务访客 1普通访客  2内部人员")
    @ExcelColumn(name="类型 0劳务访客 1普通访客  2内部人员")
    @TableField(exist = false)
    private Integer type;
    @ApiModelProperty(value = "答题人手机后")
    @ExcelColumn(name="答题人手机后")
    private String phone;
server/dmvisit_service/src/main/java/com/doumee/service/business/ProblemsService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.admin.response.ProblemDTO;
import com.doumee.dao.business.model.Problems;
import java.util.List;
@@ -100,5 +101,5 @@
     * @param useType
     * @return
     */
    List<Problems> findListByUseType(Integer useType);
    List<ProblemDTO> findListByUseType(Integer useType);
}
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -206,11 +206,11 @@
        if (pageWrap.getModel().getExtEventRoleID() != null) {
            queryWrapper.lambda().eq(DeviceEvent::getExtEventRoleID, pageWrap.getModel().getExtEventRoleID());
        }
        if (pageWrap.getModel().getExtEventSubDevID() != null) {
            queryWrapper.lambda().eq(DeviceEvent::getExtEventSubDevID, pageWrap.getModel().getExtEventSubDevID());
        if (pageWrap.getModel().getExtEventEubDevID() != null) {
            queryWrapper.lambda().eq(DeviceEvent::getExtEventEubDevID, pageWrap.getModel().getExtEventEubDevID());
        }
        if (pageWrap.getModel().getExtEventSwipNum() != null) {
            queryWrapper.lambda().eq(DeviceEvent::getExtEventSwipNum, pageWrap.getModel().getExtEventSwipNum());
        if (pageWrap.getModel().getExtEventEwipNum() != null) {
            queryWrapper.lambda().eq(DeviceEvent::getExtEventEwipNum, pageWrap.getModel().getExtEventEwipNum());
        }
        if (pageWrap.getModel().getExtEventType() != null) {
            queryWrapper.lambda().eq(DeviceEvent::getExtEventType, pageWrap.getModel().getExtEventType());
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
@@ -83,7 +83,7 @@
        QueryWrapper<ProblemLog> wrapper = new QueryWrapper<>(problemLog);
        return problemLogMapper.selectList(wrapper);
    }
    @Override
    public PageData<ProblemLog> findPage(PageWrap<ProblemLog> pageWrap) {
        IPage<ProblemLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
@@ -142,13 +142,8 @@
        if (pageWrap.getModel().getOpenid() != null) {
            queryWrapper.lambda().eq(ProblemLog::getOpenid, pageWrap.getModel().getOpenid());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        queryWrapper.select("problem_log.*,(select type from member where member.openid = problem_log.openid) as type");
        queryWrapper.orderByAsc("problem_log.createDate");
        return PageData.from(problemLogMapper.selectPage(page, queryWrapper));
    }
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java
@@ -1,8 +1,13 @@
package com.doumee.service.business.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.response.ProblemDTO;
import com.doumee.dao.business.ProblemsMapper;
import com.doumee.dao.business.model.Problems;
import com.doumee.service.business.ProblemsService;
@@ -10,11 +15,15 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
 * è¯•题信息表Service实现
@@ -29,8 +38,24 @@
    @Override
    public Integer create(Problems problems) {
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Problems insert = new Problems();
        insert.setCreator(loginUserInfo.getId());
        insert.setCreateDate(new Date());
        insert.setEditor(loginUserInfo.getId());
        insert.setEditDate(new Date());
        insert.setIsdeleted(Constants.ZERO);
        insert.setRemark(problems.getRemark());
        insert.setTitle(problems.getTitle());
        insert.setOptions(problems.getOptions());
        insert.setAnswer(problems.getAnswer());
        insert.setSortnu(problems.getSortnu());
        insert.setType(problems.getType());
        insert.setScore(problems.getScore());
        insert.setUseType(problems.getUseType());
        problemsMapper.insert(problems);
        return problems.getId();
        return insert.getId();
    }
    @Override
@@ -54,7 +79,19 @@
    @Override
    public void updateById(Problems problems) {
        problemsMapper.updateById(problems);
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Problems update = new Problems();
        update.setId(problems.getId());
        update.setEditor(loginUserInfo.getId());
        update.setEditDate(new Date());
        update.setTitle(problems.getTitle());
        update.setOptions(problems.getOptions());
        update.setAnswer(problems.getAnswer());
        update.setSortnu(problems.getSortnu());
        update.setType(problems.getType());
        update.setScore(problems.getScore());
        update.setUseType(problems.getUseType());
        problemsMapper.updateById(update);
    }
    @Override
@@ -113,7 +150,7 @@
            queryWrapper.lambda().eq(Problems::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getTitle() != null) {
            queryWrapper.lambda().eq(Problems::getTitle, pageWrap.getModel().getTitle());
            queryWrapper.lambda().like(Problems::getTitle, pageWrap.getModel().getTitle());
        }
        if (pageWrap.getModel().getOptions() != null) {
            queryWrapper.lambda().eq(Problems::getOptions, pageWrap.getModel().getOptions());
@@ -133,7 +170,7 @@
        if (pageWrap.getModel().getUseType() != null) {
            queryWrapper.lambda().eq(Problems::getUseType, pageWrap.getModel().getUseType());
        }
        queryWrapper.lambda().orderByAsc(Problems::getCreateDate);
        queryWrapper.lambda().orderByAsc(Problems::getSortnu);
        queryWrapper.select("problems.*, (select REALNAME from system_user where system_user.id = problems.CREATOR) as creatorName");
        return PageData.from(problemsMapper.selectPage(page, queryWrapper));
    }
@@ -145,8 +182,21 @@
    }
    @Override
    public List<Problems> findListByUseType(Integer useType) {
    public List<ProblemDTO> findListByUseType(Integer useType) {
        LambdaQueryWrapper<Problems> wrapper = new LambdaQueryWrapper<>();
        return null;
        wrapper.eq(Problems::getIsdeleted, Constants.ZERO)
                .eq(Problems::getUseType, useType)
                .orderByAsc(Problems::getSortnu);
        List<Problems> problems = problemsMapper.selectList(wrapper);
        List<ProblemDTO> collect = problems.stream().map(s -> {
            ProblemDTO dto = new ProblemDTO();
            BeanUtils.copyProperties(dto, s);
            return dto;
        }).collect(Collectors.toList());
        return collect;
    }
}