Commit b66cf8ac by huluobin

update

parent e0403206
......@@ -19,4 +19,12 @@ public interface ITrainingFeedbackService extends IService<TrainingFeedback> {
* @param trainingFeedback
*/
void submitTrainingFeedBack(TrainingFeedback trainingFeedback);
/**
* 是否有技能培训需要填写反馈
*
* @param technicianId
* @return
*/
Boolean hasFeedBackToDo(Integer technicianId);
}
......@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.store.training.ITrainingFeedbackDetailService;
import com.gogirl.application.store.training.ITrainingFeedbackService;
import com.gogirl.domain.store.training.TrainingFeedback;
import com.gogirl.domain.store.training.TrainingStartClassLogTechnician;
import com.gogirl.infrastructure.common.util.ListUtil;
import com.gogirl.infrastructure.mapper.store.training.TrainingFeedbackMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* <p>
......@@ -32,4 +35,10 @@ public class TrainingFeedbackServiceImpl extends ServiceImpl<TrainingFeedbackMap
});
trainingFeedbackDetailService.saveBatch(trainingFeedback.getTrainingFeedbackDetailList());
}
@Override
public Boolean hasFeedBackToDo(Integer technicianId) {
List<TrainingStartClassLogTechnician> trainingStartClassLogTechnicianList = baseMapper.FeedBackToDoList(technicianId);
return ListUtil.isNotEmpty(trainingStartClassLogTechnicianList);
}
}
package com.gogirl.application.store.training.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.store.training.ITrainingStartClassLogTechnicianService;
import com.gogirl.domain.store.training.TrainingFeedback;
import com.gogirl.domain.store.training.TrainingStartClass;
import com.gogirl.domain.store.training.TrainingStartClassLogTechnician;
import com.gogirl.infrastructure.common.util.ListUtil;
import com.gogirl.infrastructure.mapper.store.training.TrainingFeedbackMapper;
import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassLogTechnicianMapper;
import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassMapper;
import com.gogirl.infrastructure.util.SessionUtils;
......@@ -32,6 +35,9 @@ public class TrainingStartClassLogTechnicianServiceImpl extends ServiceImpl<Trai
@Resource
TrainingStartClassMapper trainingStartClassMapper;
@Resource
TrainingFeedbackMapper trainingFeedbackMapper;
@Override
public IPage<TrainingStartClassLogTechnician> queryPageStartClassLog(QueryPageStartClassLogRequest request) {
......@@ -40,11 +46,18 @@ public class TrainingStartClassLogTechnicianServiceImpl extends ServiceImpl<Trai
IPage<TrainingStartClassLogTechnician> pageRequest = new Page<>(request.getPageNum(), request.getPageSize());
IPage<TrainingStartClassLogTechnician> page = baseMapper.queryPageStartClassLog(pageRequest, request);
List<Integer> ids = page.getRecords().stream().map(TrainingStartClassLogTechnician::getTrainingStartClassId).collect(Collectors.toList());
if (ListUtil.isNotEmpty(ids)) {
Map<Integer, TrainingStartClass> trainingStartClassesMap = trainingStartClassMapper.selectBatchIds(ids).stream().collect(Collectors.toMap(TrainingStartClass::getId, trainingStartClass -> trainingStartClass, (k1, k2) -> k1));
List<Integer> trainingStartClassIdList = page.getRecords().stream().map(TrainingStartClassLogTechnician::getTrainingStartClassId).collect(Collectors.toList());
List<Integer> trainingStartClassLogTechnicianIdList = page.getRecords().stream().map(TrainingStartClassLogTechnician::getId).collect(Collectors.toList());
if (ListUtil.isNotEmpty(trainingStartClassIdList)) {
Map<Integer, TrainingStartClass> trainingStartClassesMap = trainingStartClassMapper.selectBatchIds(trainingStartClassIdList).stream().collect(Collectors.toMap(TrainingStartClass::getId, trainingStartClass -> trainingStartClass, (k1, k2) -> k1));
Map<Integer, TrainingFeedback> feedbackMap = trainingFeedbackMapper.selectList(new LambdaQueryWrapper<TrainingFeedback>().in(TrainingFeedback::getTrainingStartClassLogTechnicianId, trainingStartClassLogTechnicianIdList)).stream()
.collect(Collectors.toMap(TrainingFeedback::getTrainingStartClassLogTechnicianId, trainingFeedback -> trainingFeedback, (k1, k2) -> k1))
page.getRecords().forEach(trainingStartClassLogTechnician -> {
trainingStartClassLogTechnician.setTrainingStartClass(trainingStartClassesMap.get(trainingStartClassLogTechnician.getTrainingStartClassId()));
trainingStartClassLogTechnician.setTrainingFeedback(feedbackMap.get(trainingStartClassLogTechnician.getId()));
});
}
......
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
......@@ -34,6 +35,11 @@ public class TrainingStartClassLogTechnician {
private Integer trainingStartClassId;
@ApiModelProperty("开课记录")
@TableField(exist = false)
private TrainingStartClass trainingStartClass;
@ApiModelProperty("反馈记录")
@TableField(exist = false)
private TrainingFeedback trainingFeedback
}
......@@ -2,6 +2,9 @@ package com.gogirl.infrastructure.mapper.store.training;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.store.training.TrainingFeedback;
import com.gogirl.domain.store.training.TrainingStartClassLogTechnician;
import java.util.List;
/**
* <p>
......@@ -13,4 +16,11 @@ import com.gogirl.domain.store.training.TrainingFeedback;
*/
public interface TrainingFeedbackMapper extends BaseMapper<TrainingFeedback> {
/**
* 查询需要填写问卷调查的记录
*
* @param technicianId
* @return
*/
List<TrainingStartClassLogTechnician> FeedBackToDoList(Integer technicianId);
}
......@@ -4,10 +4,8 @@ package com.gogirl.interfaces.store.training;
import com.gogirl.application.store.training.ITrainingFeedbackService;
import com.gogirl.domain.store.training.TrainingFeedback;
import com.gogirl.infrastructure.common.base.JsonResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.gogirl.infrastructure.util.SessionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
......@@ -31,4 +29,10 @@ public class TrainingFeedbackController {
trainingFeedbackService.submitTrainingFeedBack(trainingFeedback);
return JsonResult.success();
}
@GetMapping("/hasFeedBackToDo")
public JsonResult<Boolean> hasFeedBackToDo() {
Boolean b = trainingFeedbackService.hasFeedBackToDo(SessionUtils.getTechnicianId());
return JsonResult.success(b);
}
}
......@@ -2,4 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gogirl.infrastructure.mapper.store.training.TrainingFeedbackMapper">
<select id="FeedBackToDoList"
resultType="com.gogirl.domain.store.training.TrainingStartClassLogTechnician">
SELECT t1.*
from training_start_class_log_technician t1
LEFT JOIN training_feedback t2 on t1.id = t2.training_start_class_log_technician_id
LEFT JOIN training_start_class t3 on t1.training_start_class_id = t3.id
where t1.technician_id = 123
and t2.id is null
and t3.`status` = 2
</select>
</mapper>
......@@ -89,7 +89,7 @@ public class CodeGenerator {
@Override
public String outputFile(TableInfo tableInfo) {
// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
return projectPath + "/src/main/resources/mapper/" + s.replaceAll(".", "/")
return projectPath + "/src/main/resources/mapper/" + s.replace(".", "/")
+ "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
}
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment