1.新增用户模板授权分页列表接口,2.mock获取优化排单参数接口

This commit is contained in:
yangsb
2024-03-28 17:03:42 +08:00
parent 0f67ea72cb
commit 6f4e8938d6
14 changed files with 237 additions and 38 deletions
@@ -125,4 +125,12 @@ public class MachineTemplateController {
return success(machineTemplateService.auth(vo));
}
@GetMapping("auth-template-page")
@Operation(summary = "用户模板授权分页列表")
@PreAuthorize("@ss.hasPermission('machine-template::query')")
public CommonResult<PageResult<AuthTemplateResp>> authTemplatePage(AuthTemplatePage page) {
return success(machineTemplateService.authTemplatePage(page));
}
}
@@ -0,0 +1,19 @@
package com.cf.imes.module.system.controller.admin.machine.vo;
import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @author Beal
*/
@Data
public class AuthTemplatePage extends PageParam {
@Schema(description = "组织id")
private Long organId;
@Schema(description = "用户昵称")
private String nickname;
@Schema(description = "机台模板名称")
private String templateName;
}
@@ -0,0 +1,29 @@
package com.cf.imes.module.system.controller.admin.machine.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author Beal
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AuthTemplateResp {
@Schema(description = "组织id")
private Long organId;
@Schema(description = "组织名称")
private String organName;
@Schema(description = "用户id")
private Long userId;
@Schema(description = "用户昵称")
private String nickname;
@Schema(description = "机台模板列表")
private List<AutoTemplateVO> authTemplateList;
}
@@ -0,0 +1,19 @@
package com.cf.imes.module.system.controller.admin.machine.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @author Beal
*/
@Data
public class AutoTemplateVO {
@Schema(description = "机台模板id")
private Long templateId;
@Schema(description = "机台模板名称")
private String templateName;
@JsonIgnore
private Long userId;
}
@@ -14,6 +14,5 @@ public class MachineAuthVO {
@NotNull(message = "用户id不能空")
private Long userId;
@NotEmpty(message = "机台配置id不能空")
private List<Long> machinesIds;
}
@@ -20,5 +20,4 @@ public class UserMachineDO {
private Long id;
private Long userId;
private Long machineId;
private Long organId;
}
@@ -1,14 +1,21 @@
package com.cf.imes.module.system.dal.mysql.machinetemplate;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.system.controller.admin.machine.vo.AuthTemplatePage;
import com.cf.imes.module.system.controller.admin.machine.vo.AuthTemplateResp;
import com.cf.imes.module.system.controller.admin.machine.vo.AutoTemplateVO;
import com.cf.imes.module.system.controller.admin.machine.vo.MachinePageReqVO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* @author there
@@ -24,4 +31,8 @@ public interface MachineTemplateMapper extends BaseMapperX<MachineTemplateDO> {
.betweenIfPresent(MachineTemplateDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(MachineTemplateDO::getCreateTime));
}
Page<AuthTemplateResp> selectAuthTemplatePage(@Param("page") IPage<AuthTemplateResp> authTemplateRespPage, @Param("vo") AuthTemplatePage page);
List<AutoTemplateVO> selectAuthTemplateList(Map<String, Object> map);
}
@@ -44,4 +44,6 @@ public interface MachineTemplateService {
DrillTemplateRespVO getDefaultDrill();
Map<Integer, List<MachineTemplateDO>> getMachineTemplateTree();
PageResult<AuthTemplateResp> authTemplatePage(AuthTemplatePage page);
}
@@ -10,6 +10,9 @@ import co.elastic.clients.elasticsearch.core.DeleteByQueryRequest;
import co.elastic.clients.elasticsearch.core.SearchRequest;
import co.elastic.clients.elasticsearch.core.SearchResponse;
import co.elastic.clients.elasticsearch.core.search.Hit;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.cf.imes.framework.common.exception.ServiceException;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.es.core.dal.ESDocument;
@@ -23,8 +26,10 @@ import com.cf.imes.module.system.dal.dataobject.machine.UserMachineDO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.CuttingTemplateMachineDO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.DrillTemplateMachineDO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO;
import com.cf.imes.module.system.dal.dataobject.user.AdminUserDO;
import com.cf.imes.module.system.dal.mysql.machine.UserMachineMapper;
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -257,6 +262,13 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
return map;
}
@Override
public PageResult<AuthTemplateResp> authTemplatePage(AuthTemplatePage page) {
Page<AuthTemplateResp> respPage = new Page<>(page.getPageNo(), page.getPageSize());
Page<AuthTemplateResp> pageRes = machineTemplateMapper.selectAuthTemplatePage(respPage, page);
return new PageResult<>(pageRes.getRecords(),pageRes.getTotal());
}
@Override
public Boolean deleteCuttingTemplate(Long id) {
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
@@ -301,14 +313,16 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Transactional(rollbackFor = Exception.class)
public Boolean auth(MachineAuthVO vo) {
userMachineMapper.delete(new LambdaQueryWrapperX<UserMachineDO>().eq(UserMachineDO::getUserId, vo.getUserId()));
ArrayList<UserMachineDO> userMachineDOS = new ArrayList<>();
for (Long machinesId : vo.getMachinesIds()) {
userMachineDOS.add(UserMachineDO.builder()
.userId(vo.getUserId())
.machineId(machinesId)
.build());
if(CollectionUtil.isNotEmpty(vo.getMachinesIds())) {
ArrayList<UserMachineDO> userMachineDOS = new ArrayList<>();
for (Long machinesId : vo.getMachinesIds()) {
userMachineDOS.add(UserMachineDO.builder()
.userId(vo.getUserId())
.machineId(machinesId)
.build());
}
userMachineMapper.insertBatch(userMachineDOS);
}
userMachineMapper.insertBatch(userMachineDOS);
return Boolean.TRUE;
}
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper">
<resultMap id="map" type="com.cf.imes.module.system.controller.admin.machine.vo.AuthTemplateResp">
<result property="nickname" column="nickname"/>
<result property="organId" column="organ_id"/>
<result property="userId" column="userId"/>
<result property="organName" column="organName"/>
<collection property="authTemplateList" javaType="java.util.List" ofType="com.cf.imes.module.system.controller.admin.machine.vo.AutoTemplateVO"
select="selectAuthTemplateList" column="{userId=userId, templateName = templateName}" >
</collection>
</resultMap>
<select id="selectAuthTemplatePage" resultMap="map" parameterType="com.cf.imes.module.system.controller.admin.machine.vo.AuthTemplatePage">
select a.id AS userId, a.nickname, a.organ_id, f.name as organName,
case when ('${vo.templateName}' != '') then '${vo.templateName}' else '' end as templateName
from system_users a, user_machine b, system_organization f
<where>
a.id = b.user_id
and a.organ_id = f.id
and a.deleted = 0
<if test="vo.organId != null">
and a.organ_id = #{vo.organId}
</if>
<if test="vo.nickname != null and vo.nickname != '' ">
and a.nickname like concat('%',#{vo.nickname},'%')
</if>
</where>
group by a.id
</select>
<select id="selectAuthTemplateList"
resultType="com.cf.imes.module.system.controller.admin.machine.vo.AutoTemplateVO" parameterType="java.util.Map">
select b.user_id, c.name AS templateName, c.id AS templateId
from user_machine b
inner join system_machine_template c on b.machine_id = c.id
<where>
c.deleted = 0
<if test="templateName != null and templateName != ''">
and c.name like concat('%',#{templateName},'%')
</if>
</where>
</select>
</mapper>