add 问答库-回答人部门、姓名、头像

This commit is contained in:
liao
2023-09-28 15:49:21 +08:00
parent 8251d870bb
commit 9ff33fad0a
3 changed files with 50 additions and 4 deletions
@@ -6,6 +6,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.Translation;
import com.jero.common.util.MessageUtils;
import com.jero.modules.laws.common.constant.ResultCommon;
import com.jero.modules.laws.library.entity.LawsAnswerLibrary;
@@ -96,6 +97,7 @@ public class LawsProblemLibraryController extends JeroController<LawsProblemLibr
@AutoLog(value = "问答库-通过id查询")
@ApiOperation(value="问答库-通过id查询", notes="问答库-通过id查询")
@GetMapping(value = "/queryById")
@Translation
public Result<LawsProblemLibrary> queryById(@RequestParam(name="id") String id) {
LawsProblemLibrary lawsProblemLibrary = lawsProblemLibraryService.queryById(id);
return Result.OK(lawsProblemLibrary);
@@ -5,6 +5,7 @@ import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
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;
@@ -38,14 +39,13 @@ public class LawsAnswerLibrary implements Serializable {
@ApiModelProperty(value = "主键ID")
private java.lang.String id;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private java.util.Date createTime;
/**所属部门*/
@Excel(name = "所属部门", width = 15)
@ApiModelProperty(value = "所属部门")
@Dict(dictTable = "sys_depart", dicCode = "org_code", dicText = "depart_name")
private java.lang.String orgCode;
/**问题id*/
@Excel(name = "问题id", width = 15)
@@ -62,6 +62,18 @@ public class LawsAnswerLibrary implements Serializable {
/**回答人id*/
@Excel(name = "回答人id", width = 15)
@ApiModelProperty(value = "回答人id")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "name_work_no")
private java.lang.String userId;
/**回答人头像*/
@ApiModelProperty(value = "回答人头像")
@TableField(exist = false)
private java.lang.String avatar;
/**回答人名称*/
@ApiModelProperty(value = "回答人名称")
@TableField(exist = false)
private java.lang.String name;
/**回答人部门*/
@ApiModelProperty(value = "回答人部门")
@TableField(exist = false)
private java.lang.String departName;
}
@@ -14,6 +14,11 @@ import com.jero.modules.laws.library.entity.LawsProblemLibrary;
import com.jero.modules.laws.library.mapper.LawsProblemLibraryMapper;
import com.jero.modules.laws.library.service.ILawsAnswerLibraryService;
import com.jero.modules.laws.library.service.ILawsProblemLibraryService;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,6 +28,7 @@ import com.jero.common.exception.JeroBootException;
import java.util.List;
import java.util.Date;
import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.query.QueryGenerator;
@@ -45,6 +51,10 @@ public class LawsProblemLibraryServiceImpl extends ServiceImpl<LawsProblemLibrar
private ILawsCommonService lawsCommonService;
@Autowired
private ILawsAnswerLibraryService lawsAnswerLibraryService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private ISysDepartService sysDepartService;
@Override
public IPage<LawsProblemLibrary> queryPage(LawsProblemLibrary lawsProblemLibrary, Integer pageNo, Integer pageSize,
@@ -130,6 +140,28 @@ public class LawsProblemLibraryServiceImpl extends ServiceImpl<LawsProblemLibrar
queryWrapper.orderByDesc(LawsAnswerLibrary::getIsTop).orderByDesc(LawsAnswerLibrary::getCreateTime);
List<LawsAnswerLibrary> answerList = lawsAnswerLibraryService.list(queryWrapper);
if (CollectionUtils.isNotEmpty(answerList)) {
List<String> userIdList = answerList.stream()
.map(LawsAnswerLibrary::getUserId).collect(Collectors.toList());
List<String> orgCodeList = answerList.stream()
.map(LawsAnswerLibrary::getOrgCode).collect(Collectors.toList());
LambdaQueryWrapper<SysUser> userQueryWrapper = new LambdaQueryWrapper<>();
userQueryWrapper.in(SysUser::getId, userIdList);
List<SysUser> userList = sysUserService.list(userQueryWrapper);
LambdaQueryWrapper<SysDepart> departQueryWrapper = new LambdaQueryWrapper<>();
departQueryWrapper.in(SysDepart::getOrgCode, orgCodeList);
List<SysDepart> departList = sysDepartService.list(departQueryWrapper);
answerList.forEach(answer -> {
SysUser sysUser = userList.stream().filter(user -> answer.getUserId()
.equals(user.getId())).collect(Collectors.toList()).get(0);
SysDepart sysDepart = departList.stream().filter(depart -> answer.getOrgCode()
.equals(depart.getOrgCode())).collect(Collectors.toList()).get(0);
answer.setAvatar(sysUser.getAvatar());
answer.setName(sysUser.getNameWorkNo());
answer.setDepartName(sysDepart.getDepartName());
});
}
lawsProblemLibrary.setAnswerList(answerList);
lawsProblemLibrary.setAnswerCount(answerList.size());