Progr1mmer 6 rokov pred
rodič
commit
c4e672a473

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/base/role/RoleDO.java

@ -36,7 +36,7 @@ public class RoleDO extends IntegerIdentityEntityWithOperator {
	//角色类型
	private Type type;
	@Column(name = "saas_id", length = 50)
	@Column(name = "saas_id", nullable = false, length = 50)
	public String getSaasId() {
		return this.saasId;
	}

+ 29 - 2
common/common-entity/src/main/java/com/yihu/jw/entity/base/user/UserHideModuleFunctionDO.java

@ -2,6 +2,7 @@ package com.yihu.jw.entity.base.user;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@ -9,14 +10,40 @@ import javax.persistence.Table;
 * Created by progr1mmer on 2018/8/14.
 */
@Entity
@Table(name = "base_employ_hide_module_function")
@Table(name = "base_user_hide_module_function")
public class UserHideModuleFunctionDO extends IntegerIdentityEntity {
    //用户ID
    private String employId;
    private String userId;
    //模块ID
    private Integer moduleId;
    //功能ID(该字段为空则直接隐藏上级模块)
    private Integer functionId;
    @Column(name = "user_id", nullable = false, length = 50)
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    @Column(name = "module_id", nullable = false)
    public Integer getModuleId() {
        return moduleId;
    }
    public void setModuleId(Integer moduleId) {
        this.moduleId = moduleId;
    }
    @Column(name = "function_id")
    public Integer getFunctionId() {
        return functionId;
    }
    public void setFunctionId(Integer functionId) {
        this.functionId = functionId;
    }
}

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

@ -35,6 +35,12 @@ public class BaseRequestMapping {
        public static final String PREFIX  = "/saas_module";
    }
    /**
     * SAAS默认模块
     */
    public static class SaasDefaultModule extends Basic {
        public static final String PREFIX  = "/saas_default_module";
    }
    /**
     * 模块
@ -88,12 +94,19 @@ public class BaseRequestMapping {
    }
    /**
     * 用户
     * 用户角色
     */
    public static class UserRole extends Basic {
        public static final String PREFIX  = "/user_role";
    }
    /**
     * 用户取消的模块或者功能
     */
    public static class UserHideModuleFunction extends Basic {
        public static final String PREFIX  = "/user_hide_module_function";
    }
    /**
     * 角色
     */

+ 16 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/SaasDefaultModuleDao.java

@ -0,0 +1,16 @@
package com.yihu.jw.base.dao;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by progr1mmer on 2018/8/17.
 */
public interface SaasDefaultModuleDao extends PagingAndSortingRepository<SaasDefaultModuleDO, Integer>, JpaSpecificationExecutor<SaasDefaultModuleDO> {
    List<SaasDefaultModuleDO> findByType(SaasDO.Type type);
}

+ 11 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/UserHideModuleFunctionDao.java

@ -0,0 +1,11 @@
package com.yihu.jw.base.dao;
import com.yihu.jw.entity.base.user.UserHideModuleFunctionDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by progr1mmer on 2018/8/20.
 */
public interface UserHideModuleFunctionDao extends PagingAndSortingRepository<UserHideModuleFunctionDO, Integer>, JpaSpecificationExecutor<UserHideModuleFunctionDO> {
}

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

@ -43,7 +43,7 @@ public class ModuleEndpoint extends EnvelopRestEndpoint {
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        moduleService.delete(ids);
        moduleService.delete(ids.split(","));
        return success("删除成功");
    }

+ 94 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/saas/SaasDefaultModuleEndpoint.java

@ -0,0 +1,94 @@
package com.yihu.jw.base.endpoint.saas;
import com.yihu.jw.base.service.SaasDefaultModuleService;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * Created by progr1mmer on 2018/8/16.
 */
@RestController
@RequestMapping(value = BaseRequestMapping.SaasDefaultModule.PREFIX)
@Api(value = "Saas默认模块管理", description = "Saas默认模块管理服务接口", tags = {"wlyy基础服务 - Saas默认模块管理服务接口"})
public class SaasDefaultModuleEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private SaasDefaultModuleService saasDefaultModuleService;
    @PostMapping(value = BaseRequestMapping.SaasDefaultModule.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<SaasDefaultModuleDO> create (
            @ApiParam(name = "json", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        SaasDefaultModuleDO saasDefaultModuleDO = toEntity(jsonData, SaasDefaultModuleDO.class);
        saasDefaultModuleDO = saasDefaultModuleService.save(saasDefaultModuleDO);
        return success(saasDefaultModuleDO);
    }
    @PostMapping(value = BaseRequestMapping.SaasDefaultModule.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        saasDefaultModuleService.delete(ids);
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.SaasDefaultModule.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public Envelop update (
            @ApiParam(name = "json", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        SaasDefaultModuleDO saasDefaultModuleDO = toEntity(jsonData, SaasDefaultModuleDO.class);
        if (null == saasDefaultModuleDO.getId()) {
            return failed("ID不能为空");
        }
        saasDefaultModuleDO = saasDefaultModuleService.save(saasDefaultModuleDO);
        return success(saasDefaultModuleDO);
    }
    @GetMapping(value = BaseRequestMapping.SaasDefaultModule.PAGE)
    @ApiOperation(value = "获取分页")
    public PageEnvelop<SaasDefaultModuleDO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<SaasDefaultModuleDO> saasDefaultModuleDOS = saasDefaultModuleService.search(fields, filters, sorts, page, size);
        int count = (int)saasDefaultModuleService.getCount(filters);
        return success(saasDefaultModuleDOS, count, page, size);
    }
    @GetMapping(value = BaseRequestMapping.SaasDefaultModule.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<SaasDefaultModuleDO> list (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<SaasDefaultModuleDO> saasDefaultModuleDOS = saasDefaultModuleService.search(fields, filters, sorts);
        return success(saasDefaultModuleDOS);
    }
}

+ 94 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/user/UserHideModuleFunctionEndpoint.java

@ -0,0 +1,94 @@
package com.yihu.jw.base.endpoint.user;
import com.yihu.jw.base.service.UserHideModuleFunctionService;
import com.yihu.jw.entity.base.user.UserHideModuleFunctionDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * Created by progr1mmer on 2018/8/16.
 */
@RestController
@RequestMapping(value = BaseRequestMapping.UserHideModuleFunction.PREFIX)
@Api(value = "用户模块功能管理", description = "用户模块功能管理服务接口", tags = {"wlyy基础服务 - 用户模块功能管理服务接口"})
public class UserHideModuleFunctionEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private UserHideModuleFunctionService userHideModuleFunctionService;
    @PostMapping(value = BaseRequestMapping.UserHideModuleFunction.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
    public ObjEnvelop<UserHideModuleFunctionDO> create (
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        UserHideModuleFunctionDO userHideModuleFunctionDO = toEntity(jsonData, UserHideModuleFunctionDO.class);
        userHideModuleFunctionDO = userHideModuleFunctionService.save(userHideModuleFunctionDO);
        return success(userHideModuleFunctionDO);
    }
    @PostMapping(value = BaseRequestMapping.UserHideModuleFunction.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        userHideModuleFunctionService.delete(ids);
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.UserHideModuleFunction.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public Envelop update (
            @ApiParam(name = "json_data", value = "Json数据", required = true)
            @RequestBody String jsonData) throws Exception {
        UserHideModuleFunctionDO userHideModuleFunctionDO = toEntity(jsonData, UserHideModuleFunctionDO.class);
        if (null == userHideModuleFunctionDO.getId()) {
            return failed("ID不能为空");
        }
        userHideModuleFunctionDO = userHideModuleFunctionService.save(userHideModuleFunctionDO);
        return success(userHideModuleFunctionDO);
    }
    @GetMapping(value = BaseRequestMapping.UserHideModuleFunction.PAGE)
    @ApiOperation(value = "获取分页")
    public PageEnvelop<UserHideModuleFunctionDO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<UserHideModuleFunctionDO> userHideModuleFunctionDOS = userHideModuleFunctionService.search(fields, filters, sorts, page, size);
        int count = (int)userHideModuleFunctionService.getCount(filters);
        return success(userHideModuleFunctionDOS, count, page, size);
    }
    @GetMapping(value = BaseRequestMapping.UserHideModuleFunction.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<UserHideModuleFunctionDO> list (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<UserHideModuleFunctionDO> userHideModuleFunctionDOS = userHideModuleFunctionService.search(fields, filters, sorts);
        return success(userHideModuleFunctionDOS);
    }
}

+ 0 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/ModuleService.java

@ -6,7 +6,6 @@ import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * Created by chenweida on 2017/5/19.
 */
@ -16,5 +15,4 @@ public class ModuleService extends BaseJpaService<ModuleDO, ModuleDao> {
    @Autowired
    private ModuleDao moduleDao;
}

+ 14 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasDefaultModuleService.java

@ -0,0 +1,14 @@
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.SaasDefaultModuleDao;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * Created by progr1mmer on 2018/8/17.
 */
@Service
public class SaasDefaultModuleService extends BaseJpaService<SaasDefaultModuleDO, SaasDefaultModuleDao> {
}

+ 25 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/SaasService.java

@ -1,14 +1,22 @@
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.SaasDefaultModuleDao;
import com.yihu.jw.base.dao.SaasModuleDao;
import com.yihu.jw.base.dao.UserDao;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.base.dao.SaasDao;
import com.yihu.jw.entity.base.saas.SaasDefaultModuleDO;
import com.yihu.jw.entity.base.saas.SaasModuleDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
 * Created by chenweida on 2017/5/19.
 */
@ -19,11 +27,27 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
    private SaasDao saasDao;
    @Autowired
    private UserDao userDao;
    @Autowired
    private SaasDefaultModuleDao saasDefaultModuleDao;
    @Autowired
    private SaasModuleDao saasModuleDao;
    @Transactional
    public SaasDO save(SaasDO saas, UserDO user) {
        user = userDao.save(user);
        saas.setManager(user.getId());
        return super.save(saas);
        saas = saasDao.save(saas);
        String saasId = saas.getId();
        List<SaasDefaultModuleDO> saasDefaultModuleDOS = saasDefaultModuleDao.findByType(saas.getType());
        List<SaasModuleDO> saasModuleDOS = new ArrayList<>();
        saasDefaultModuleDOS.forEach(item -> {
            SaasModuleDO saasModuleDO = new SaasModuleDO();
            saasModuleDO.setSaasId(saasId);
            saasModuleDO.setModuleId(item.getModuleId());
            saasModuleDOS.add(saasModuleDO);
        });
        saasModuleDao.save(saasModuleDOS);
        return saas;
    }
    @Transactional

+ 13 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/UserHideModuleFunctionService.java

@ -0,0 +1,13 @@
package com.yihu.jw.base.service;
import com.yihu.jw.base.dao.UserHideModuleFunctionDao;
import com.yihu.jw.entity.base.user.UserHideModuleFunctionDO;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.stereotype.Service;
/**
 * Created by progr1mmer on 2018/8/20.
 */
@Service
public class UserHideModuleFunctionService extends BaseJpaService<UserHideModuleFunctionDO, UserHideModuleFunctionDao> {
}