Commit b66cf8ac by huluobin

update

parent e0403206
...@@ -19,4 +19,12 @@ public interface ITrainingFeedbackService extends IService<TrainingFeedback> { ...@@ -19,4 +19,12 @@ public interface ITrainingFeedbackService extends IService<TrainingFeedback> {
* @param trainingFeedback * @param trainingFeedback
*/ */
void submitTrainingFeedBack(TrainingFeedback trainingFeedback); void submitTrainingFeedBack(TrainingFeedback trainingFeedback);
/**
* 是否有技能培训需要填写反馈
*
* @param technicianId
* @return
*/
Boolean hasFeedBackToDo(Integer technicianId);
} }
...@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -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.ITrainingFeedbackDetailService;
import com.gogirl.application.store.training.ITrainingFeedbackService; import com.gogirl.application.store.training.ITrainingFeedbackService;
import com.gogirl.domain.store.training.TrainingFeedback; 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 com.gogirl.infrastructure.mapper.store.training.TrainingFeedbackMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* <p> * <p>
...@@ -32,4 +35,10 @@ public class TrainingFeedbackServiceImpl extends ServiceImpl<TrainingFeedbackMap ...@@ -32,4 +35,10 @@ public class TrainingFeedbackServiceImpl extends ServiceImpl<TrainingFeedbackMap
}); });
trainingFeedbackDetailService.saveBatch(trainingFeedback.getTrainingFeedbackDetailList()); 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; 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.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.store.training.ITrainingStartClassLogTechnicianService; 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.TrainingStartClass;
import com.gogirl.domain.store.training.TrainingStartClassLogTechnician; import com.gogirl.domain.store.training.TrainingStartClassLogTechnician;
import com.gogirl.infrastructure.common.util.ListUtil; 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.TrainingStartClassLogTechnicianMapper;
import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassMapper; import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassMapper;
import com.gogirl.infrastructure.util.SessionUtils; import com.gogirl.infrastructure.util.SessionUtils;
...@@ -32,6 +35,9 @@ public class TrainingStartClassLogTechnicianServiceImpl extends ServiceImpl<Trai ...@@ -32,6 +35,9 @@ public class TrainingStartClassLogTechnicianServiceImpl extends ServiceImpl<Trai
@Resource @Resource
TrainingStartClassMapper trainingStartClassMapper; TrainingStartClassMapper trainingStartClassMapper;
@Resource
TrainingFeedbackMapper trainingFeedbackMapper;
@Override @Override
public IPage<TrainingStartClassLogTechnician> queryPageStartClassLog(QueryPageStartClassLogRequest request) { public IPage<TrainingStartClassLogTechnician> queryPageStartClassLog(QueryPageStartClassLogRequest request) {
...@@ -40,11 +46,18 @@ public class TrainingStartClassLogTechnicianServiceImpl extends ServiceImpl<Trai ...@@ -40,11 +46,18 @@ public class TrainingStartClassLogTechnicianServiceImpl extends ServiceImpl<Trai
IPage<TrainingStartClassLogTechnician> pageRequest = new Page<>(request.getPageNum(), request.getPageSize()); IPage<TrainingStartClassLogTechnician> pageRequest = new Page<>(request.getPageNum(), request.getPageSize());
IPage<TrainingStartClassLogTechnician> page = baseMapper.queryPageStartClassLog(pageRequest, request); IPage<TrainingStartClassLogTechnician> page = baseMapper.queryPageStartClassLog(pageRequest, request);
List<Integer> ids = page.getRecords().stream().map(TrainingStartClassLogTechnician::getTrainingStartClassId).collect(Collectors.toList()); List<Integer> trainingStartClassIdList = page.getRecords().stream().map(TrainingStartClassLogTechnician::getTrainingStartClassId).collect(Collectors.toList());
if (ListUtil.isNotEmpty(ids)) { List<Integer> trainingStartClassLogTechnicianIdList = page.getRecords().stream().map(TrainingStartClassLogTechnician::getId).collect(Collectors.toList());
Map<Integer, TrainingStartClass> trainingStartClassesMap = trainingStartClassMapper.selectBatchIds(ids).stream().collect(Collectors.toMap(TrainingStartClass::getId, trainingStartClass -> trainingStartClass, (k1, k2) -> k1));
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 -> { page.getRecords().forEach(trainingStartClassLogTechnician -> {
trainingStartClassLogTechnician.setTrainingStartClass(trainingStartClassesMap.get(trainingStartClassLogTechnician.getTrainingStartClassId())); trainingStartClassLogTechnician.setTrainingStartClass(trainingStartClassesMap.get(trainingStartClassLogTechnician.getTrainingStartClassId()));
trainingStartClassLogTechnician.setTrainingFeedback(feedbackMap.get(trainingStartClassLogTechnician.getId()));
}); });
} }
......
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableField; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -34,6 +35,11 @@ public class TrainingStartClassLogTechnician { ...@@ -34,6 +35,11 @@ public class TrainingStartClassLogTechnician {
private Integer trainingStartClassId; private Integer trainingStartClassId;
@ApiModelProperty("开课记录")
@TableField(exist = false) @TableField(exist = false)
private TrainingStartClass trainingStartClass; private TrainingStartClass trainingStartClass;
@ApiModelProperty("反馈记录")
@TableField(exist = false)
private TrainingFeedback trainingFeedback
} }
...@@ -2,6 +2,9 @@ package com.gogirl.infrastructure.mapper.store.training; ...@@ -2,6 +2,9 @@ package com.gogirl.infrastructure.mapper.store.training;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.store.training.TrainingFeedback; import com.gogirl.domain.store.training.TrainingFeedback;
import com.gogirl.domain.store.training.TrainingStartClassLogTechnician;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +16,11 @@ import com.gogirl.domain.store.training.TrainingFeedback; ...@@ -13,4 +16,11 @@ import com.gogirl.domain.store.training.TrainingFeedback;
*/ */
public interface TrainingFeedbackMapper extends BaseMapper<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; ...@@ -4,10 +4,8 @@ package com.gogirl.interfaces.store.training;
import com.gogirl.application.store.training.ITrainingFeedbackService; import com.gogirl.application.store.training.ITrainingFeedbackService;
import com.gogirl.domain.store.training.TrainingFeedback; import com.gogirl.domain.store.training.TrainingFeedback;
import com.gogirl.infrastructure.common.base.JsonResult; import com.gogirl.infrastructure.common.base.JsonResult;
import org.springframework.web.bind.annotation.PostMapping; import com.gogirl.infrastructure.util.SessionUtils;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -31,4 +29,10 @@ public class TrainingFeedbackController { ...@@ -31,4 +29,10 @@ public class TrainingFeedbackController {
trainingFeedbackService.submitTrainingFeedBack(trainingFeedback); trainingFeedbackService.submitTrainingFeedBack(trainingFeedback);
return JsonResult.success(); return JsonResult.success();
} }
@GetMapping("/hasFeedBackToDo")
public JsonResult<Boolean> hasFeedBackToDo() {
Boolean b = trainingFeedbackService.hasFeedBackToDo(SessionUtils.getTechnicianId());
return JsonResult.success(b);
}
} }
...@@ -2,4 +2,14 @@ ...@@ -2,4 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!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"> <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> </mapper>
...@@ -89,7 +89,7 @@ public class CodeGenerator { ...@@ -89,7 +89,7 @@ public class CodeGenerator {
@Override @Override
public String outputFile(TableInfo tableInfo) { public String outputFile(TableInfo tableInfo) {
// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
return projectPath + "/src/main/resources/mapper/" + s.replaceAll(".", "/") return projectPath + "/src/main/resources/mapper/" + s.replace(".", "/")
+ "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; + "/" + 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