Jelajahi Sumber

Merge branch 'dev' of yeshijie/jw2.0 into dev

yeshijie 6 tahun lalu
induk
melakukan
f2916886ee

+ 66 - 24
common/common-entity/src/main/java/com/yihu/jw/entity/base/module/ModuleDO.java

@ -17,33 +17,57 @@ import java.util.List;
@Table(name = "base_module")
public class ModuleDO extends UuidIdentityEntityWithOperator {
	/**
	 * 0 - 禁用
	 * 1 - 可用
	 * 2 - 不可用
	 */
    public enum Status {
		disable,
		available,
		delete
    }
	public enum Status {
		unAvailable("不可用", 0),
		available("可用", 1);
		private String name;
		private Integer value;
		Status(String name, Integer value) {
			this.name = name;
			this.value = value;
		}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public Integer getValue() {
			return value;
		}
		public void setValue(Integer value) {
			this.value = value;
		}
	}
	//模块名称
	private String name;
	//模块连接
	private String url;
	//父id
	private String parentId;
	//状态
	private Status status;
	private Integer status;
	//类型
	private Integer type;
	//备注
	private String remark;
	//closed-表示有子节点,open-表示没有子节点
	private String state ;
	//0-表示有子节点,1-表示没有子节点
	private Integer isEnd ;
	//逻辑删除标志1正常,0删除
	private Integer del ;
	//子集
	private List<ModuleDO> children = new ArrayList<>();
	// Constructors
    @Column(name = "name", length = 200)
    @Column(name = "name")
    public String getName() {
        return this.name;
    }
@ -52,7 +76,7 @@ public class ModuleDO extends UuidIdentityEntityWithOperator {
        this.name = name;
    }
	@Column(name = "parent_id", length = 50)
	@Column(name = "parent_id")
	public String getParentId() {
		return parentId;
	}
@ -62,15 +86,15 @@ public class ModuleDO extends UuidIdentityEntityWithOperator {
	}
    @Column(name = "status")
    public Status getStatus() {
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Status status) {
    public void setStatus(Integer status) {
        this.status = status;
    }
	@Column(name = "remark", length = 1000)
	@Column(name = "remark")
	public String getRemark() {
		return this.remark;
	}
@ -79,16 +103,34 @@ public class ModuleDO extends UuidIdentityEntityWithOperator {
		this.remark = remark;
	}
    @Transient
	public String getState() {
		return state;
	@Column(name = "url")
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	@Column(name = "is_end")
	public Integer getIsEnd() {
		return isEnd;
	}
	public void setIsEnd(Integer isEnd) {
		this.isEnd = isEnd;
	}
	@Column(name = "del")
	public Integer getDel() {
		return del;
	}
	public void setState(String state) {
		this.state = state;
	public void setDel(Integer del) {
		this.del = del;
	}
    @Transient
	@Transient
	public List<ModuleDO> getChildren() {
		return children;
	}

+ 1 - 1
common/common-exception/src/main/java/com/yihu/jw/exception/code/BaseErrorCode.java

@ -40,7 +40,7 @@ public class BaseErrorCode {
     * 菜单模块
     */
    public static class Menu{
        public static final String FINDDICTBYCODE = "-102000";
        public static final String NAME_IS_EXIST = "-102000";
    }
    /**

+ 3 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -129,6 +129,9 @@ public class BaseRequestMapping {
    public static class Menu extends Basic {
        public static final String PREFIX  = "/menu";
        public static final String STATUS  = "/status";
        public static final String ISNAMEEXIST  = "/isNameExist";
        public static final String MOVEUP  = "/moveUp";
        public static final String MOVEDOWN  = "/moveDown";
    }
    /**

+ 20 - 11
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/ModuleVO.java

@ -1,6 +1,5 @@
package com.yihu.jw.restmodel.base.module;
import com.yihu.jw.entity.base.module.ModuleDO;
import com.yihu.jw.restmodel.UuidIdentityVOWithOperator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -19,12 +18,14 @@ public class ModuleVO extends UuidIdentityVOWithOperator {
    private String name;
    @ApiModelProperty(value = "父ID", example = "402803ee656498890165649ad2da0000")
    private String parentId;
    @ApiModelProperty(value = "状态", example = "disable")
    private ModuleDO.Status status;
    @ApiModelProperty(value = "url", example = "/doctor/*")
    private String url;
    @ApiModelProperty(value = "状态", example = "1有效,0失效")
    private Integer status;
    @ApiModelProperty(value = "备注", example = "我是备注")
    private String remark;
    @ApiModelProperty(value = "节点信息(closed-表示有子节点,open-表示没有子节点)", example = "open")
    private String state ;
    @ApiModelProperty(value = "节点信息(0-表示有子节点,1-表示没有子节点)", example = "1")
    private Integer isEnd ;
    @ApiModelProperty(value = "子集")
    private List<ModuleVO> children = new ArrayList<>();
@ -44,11 +45,11 @@ public class ModuleVO extends UuidIdentityVOWithOperator {
        this.parentId = parentId;
    }
    public ModuleDO.Status getStatus() {
    public Integer getStatus() {
        return status;
    }
    public void setStatus(ModuleDO.Status status) {
    public void setStatus(Integer status) {
        this.status = status;
    }
@ -60,12 +61,20 @@ public class ModuleVO extends UuidIdentityVOWithOperator {
        this.remark = remark;
    }
    public String getState() {
        return state;
    public String getUrl() {
        return url;
    }
    public void setState(String state) {
        this.state = state;
    public void setUrl(String url) {
        this.url = url;
    }
    public Integer getIsEnd() {
        return isEnd;
    }
    public void setIsEnd(Integer isEnd) {
        this.isEnd = isEnd;
    }
    public List<ModuleVO> getChildren() {

+ 13 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/contant/MenuContant.java

@ -0,0 +1,13 @@
package com.yihu.jw.base.contant;
/**
 * 菜单常量
 * @author yeshijie on 2018/9/27.
 */
public class MenuContant {
    /**
     * 默认父类id 0
     */
    public static final String DEFAULT_PARENTID = "0";
}

+ 14 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/role/MenuDao.java

@ -14,4 +14,18 @@ public interface MenuDao extends PagingAndSortingRepository<MenuDO, String>, Jpa
    @Modifying
    @Query("update MenuDO p set p.status=?2 where p.id=?1")
    void updateStatus(String id,Integer status);
    @Modifying
    @Query("update MenuDO p set p.sort=p.sort+1 where p.parentId=?1 and p.sort=?2")
    void addSort(String parentId,Integer sort);
    @Modifying
    @Query("update MenuDO p set p.sort=p.sort-1 where p.parentId=?1 and p.sort=?2")
    void subSort(String parentId,Integer sort);
    @Query("select count(*) from MenuDO a where a.name = ?1 ")
    int isExistName(String name);
    @Query("select count(*) from MenuDO a where a.parentId = ?1 ")
    int countMenuByParentId(String parentId);
}

+ 5 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/ModuleEndpoint.java

@ -1,7 +1,9 @@
package com.yihu.jw.base.endpoint.module;
import com.yihu.jw.base.service.module.ModuleService;
import com.yihu.jw.base.util.ErrorCodeUtil;
import com.yihu.jw.entity.base.module.ModuleDO;
import com.yihu.jw.exception.code.BaseErrorCode;
import com.yihu.jw.restmodel.base.module.ModuleVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -29,6 +31,8 @@ public class ModuleEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ModuleService moduleService;
    @Autowired
    private ErrorCodeUtil errorCodeUtil;
    @PostMapping(value = BaseRequestMapping.Module.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
@ -56,7 +60,7 @@ public class ModuleEndpoint extends EnvelopRestEndpoint {
            @RequestBody String jsonData) throws Exception {
        ModuleDO module = toEntity(jsonData, ModuleDO.class);
        if (null == module.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
            return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Common.ID_IS_NULL), ObjEnvelop.class);
        }
        module = moduleService.save(module);
        return success(module, ModuleVO.class);

+ 27 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/MenuEndpoint.java

@ -44,9 +44,27 @@ public class MenuEndpoint extends EnvelopRestEndpoint {
        return success(menuDO, MenuVO.class);
    }
    @PostMapping(value = BaseRequestMapping.Menu.MOVEDOWN)
    @ApiOperation(value = "下移")
    public Envelop moveDown(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
        menuService.moveDown(id);
        return success("修改成功");
    }
    @PostMapping(value = BaseRequestMapping.Menu.MOVEUP)
    @ApiOperation(value = "上移")
    public Envelop moveUp(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
        menuService.moveUp(id);
        return success("修改成功");
    }
    @PostMapping(value = BaseRequestMapping.Menu.STATUS)
    @ApiOperation(value = "生效/失效")
    public Envelop delete(
    public Envelop status(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id,
            @ApiParam(name = "status", value = "1生效,0失效", required = true)
@ -55,6 +73,14 @@ public class MenuEndpoint extends EnvelopRestEndpoint {
        return success("修改成功");
    }
    @GetMapping(value = BaseRequestMapping.Menu.ISNAMEEXIST)
    @ApiOperation(value = "名称是否存在",notes = "返回值中的obj=1表示名称已经存在,0表示名称不存在")
    public ObjEnvelop isNameExist(
            @ApiParam(name = "name", value = "菜单名称", required = true)
            @RequestParam(value = "name") String name) {
        return success(menuService.isExistName(name));
    }
    @PostMapping(value = BaseRequestMapping.Menu.UPDATE,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public Envelop update (

+ 62 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/role/MenuService.java

@ -1,8 +1,10 @@
package com.yihu.jw.base.service.role;
import com.yihu.jw.base.contant.MenuContant;
import com.yihu.jw.base.dao.role.MenuDao;
import com.yihu.jw.entity.base.role.MenuDO;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -14,6 +16,8 @@ import org.springframework.transaction.annotation.Transactional;
@Service
public class MenuService extends BaseJpaService<MenuDO, MenuDao> {
    @Autowired
    private MenuDao menuDao;
@ -22,8 +26,65 @@ public class MenuService extends BaseJpaService<MenuDO, MenuDao> {
     * @param id
     * @param status
     */
    @Transactional
    @Transactional(rollbackFor = Exception.class)
    public void updateStatus(String id,Integer status){
        menuDao.updateStatus(id,status);
    }
    /**
     * 新增菜单
     * @param menuDO
     * @return
     */
    public MenuDO addMenu(MenuDO menuDO){
        if(StringUtils.isBlank(menuDO.getParentId())){
            menuDO.setParentId(MenuContant.DEFAULT_PARENTID);
        }
        int sort = menuDao.countMenuByParentId(menuDO.getParentId())+1;
        menuDO.setSort(sort);
        menuDao.save(menuDO);
        return menuDO;
    }
    /**
     * 上移
     * @param menuId
     */
    @Transactional(rollbackFor = Exception.class)
    public void moveUp(String menuId){
        MenuDO menuDO = menuDao.findOne(menuId);
        int sort = menuDO.getSort();
        if(sort > 1){
            sort = sort-1;
            menuDao.addSort(menuDO.getParentId(),sort);
            menuDO.setSort(sort);
            menuDao.save(menuDO);
        }
    }
    /**
     * 下移
     * @param menuId
     */
    @Transactional(rollbackFor = Exception.class)
    public void moveDown(String menuId){
        MenuDO menuDO = menuDao.findOne(menuId);
        int sort = menuDO.getSort();
        int count = menuDao.countMenuByParentId(menuDO.getParentId());
        if(sort < count){
            sort = sort+1;
            menuDao.subSort(menuDO.getParentId(),sort);
            menuDO.setSort(sort);
            menuDao.save(menuDO);
        }
    }
    /**
     * 名称是否存在
     * @param name
     * @return
     */
    public int isExistName(String name){
        return menuDao.isExistName(name);
    }
}