39 changed files with 1295 additions and 21 deletions
@ -0,0 +1,96 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import lombok.Data; |
|||
|
|||
|
|||
/** |
|||
* 客户定制功能角色列表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-09-07 |
|||
*/ |
|||
@Data |
|||
public class CustomerFunctionRoleDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 唯一标识 |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 功能ID(function.ID) |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 所属APP(工作端:gov、居民端:resi) |
|||
*/ |
|||
private String fromApp; |
|||
|
|||
/** |
|||
* 角色Key值 |
|||
*/ |
|||
private String roleKey; |
|||
|
|||
/** |
|||
* 角色名称 |
|||
*/ |
|||
private String roleName; |
|||
|
|||
/** |
|||
* 删除标识:0.未删除 1.已删除 |
|||
*/ |
|||
private Integer delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
} |
@ -0,0 +1,29 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 查询客户定制功能角色列表--接口入参 |
|||
* |
|||
* @author sun |
|||
*/ |
|||
@Data |
|||
public class CustomerFunctionRoleListFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
@NotBlank(message = "客户Id不能为空", groups = {AddUserInternalGroup.class }) |
|||
private String customerId; |
|||
/** |
|||
* 定制功能ID |
|||
*/ |
|||
@NotBlank(message = "功能ID不能为空", groups = {AddUserInternalGroup.class }) |
|||
private String functionId; |
|||
public interface AddUserInternalGroup {} |
|||
|
|||
} |
@ -0,0 +1,27 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 客户定制功能角色设置--接口入参 |
|||
* |
|||
* @author sun |
|||
*/ |
|||
@Data |
|||
public class RoleListFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
/** |
|||
* 角色Key |
|||
*/ |
|||
@NotBlank(message = "角色key不能为空", groups = {AddUserInternalGroup.class }) |
|||
private String roleKey; |
|||
/** |
|||
* 角色名称 |
|||
*/ |
|||
@NotBlank(message = "角色名称不能为空", groups = {AddUserInternalGroup.class }) |
|||
private String roleName; |
|||
public interface AddUserInternalGroup {} |
|||
} |
@ -0,0 +1,37 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 客户定制功能角色设置--接口入参 |
|||
* |
|||
* @author sun |
|||
*/ |
|||
@Data |
|||
public class SaveCustomerFunctionRoleFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 1L; |
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
@NotBlank(message = "客户Id不能为空", groups = {AddUserInternalGroup.class }) |
|||
private String customerId; |
|||
/** |
|||
* 定制功能ID |
|||
*/ |
|||
@NotBlank(message = "功能ID不能为空", groups = {AddUserInternalGroup.class }) |
|||
private String functionId; |
|||
/** |
|||
* 所属APP(工作端:gov、居民端:resi) |
|||
*/ |
|||
@NotBlank(message = "所属App不能为空", groups = {AddUserInternalGroup.class }) |
|||
private String fromApp; |
|||
/** |
|||
* 角色信息集合 |
|||
*/ |
|||
private List<RoleListFormDTO> roleList; |
|||
public interface AddUserInternalGroup {} |
|||
} |
@ -0,0 +1,26 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import com.epmet.dto.form.RoleListFormDTO; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 查询客户定制功能角色列表--接口返参 |
|||
* |
|||
* @author sun |
|||
*/ |
|||
@Data |
|||
public class CustomerFunctionRoleListResultDTO implements Serializable { |
|||
private static final long serialVersionUID = 2971689193155710437L; |
|||
|
|||
/** |
|||
* 角色Key |
|||
*/ |
|||
private String roleKey; |
|||
/** |
|||
* 角色名称 |
|||
*/ |
|||
private String roleName; |
|||
} |
@ -0,0 +1,123 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.annotation.LoginUser; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.security.dto.TokenDto; |
|||
import com.epmet.commons.tools.utils.ExcelUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.dto.CustomerFunctionRoleDTO; |
|||
import com.epmet.dto.form.CustomerFunctionRoleListFormDTO; |
|||
import com.epmet.dto.form.SaveCustomerFunctionRoleFormDTO; |
|||
import com.epmet.dto.result.CustomerFunctionRoleListResultDTO; |
|||
import com.epmet.excel.CustomerFunctionRoleExcel; |
|||
import com.epmet.service.CustomerFunctionRoleService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 客户定制功能角色列表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-09-07 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("customerfunctionrole") |
|||
public class CustomerFunctionRoleController { |
|||
|
|||
@Autowired |
|||
private CustomerFunctionRoleService customerFunctionRoleService; |
|||
|
|||
@GetMapping("page") |
|||
public Result<PageData<CustomerFunctionRoleDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<CustomerFunctionRoleDTO> page = customerFunctionRoleService.page(params); |
|||
return new Result<PageData<CustomerFunctionRoleDTO>>().ok(page); |
|||
} |
|||
|
|||
@GetMapping("{id}") |
|||
public Result<CustomerFunctionRoleDTO> get(@PathVariable("id") String id){ |
|||
CustomerFunctionRoleDTO data = customerFunctionRoleService.get(id); |
|||
return new Result<CustomerFunctionRoleDTO>().ok(data); |
|||
} |
|||
|
|||
@PostMapping |
|||
public Result save(@RequestBody CustomerFunctionRoleDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
customerFunctionRoleService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PutMapping |
|||
public Result update(@RequestBody CustomerFunctionRoleDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
customerFunctionRoleService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@DeleteMapping |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
customerFunctionRoleService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
@GetMapping("export") |
|||
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<CustomerFunctionRoleDTO> list = customerFunctionRoleService.list(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, CustomerFunctionRoleExcel.class); |
|||
} |
|||
|
|||
/** |
|||
* @param tokenDTO formDTO |
|||
* @return |
|||
* @author sun |
|||
* @Description 客户定制功能角色设置 |
|||
*/ |
|||
@PostMapping("savecustomerfunctionrole") |
|||
public Result saveCustomerFunctionRole(@LoginUser TokenDto tokenDTO, @RequestBody SaveCustomerFunctionRoleFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, SaveCustomerFunctionRoleFormDTO.AddUserInternalGroup.class); |
|||
customerFunctionRoleService.saveCustomerFunctionRole(formDTO); |
|||
return new Result(); |
|||
} |
|||
|
|||
/** |
|||
* @param tokenDTO formDTO |
|||
* @return |
|||
* @author sun |
|||
* @Description 查询客户定制功能角色列表 |
|||
*/ |
|||
@PostMapping("customerfunctionrolelist") |
|||
public Result<List<CustomerFunctionRoleListResultDTO>> customerFunctionRoleList(@LoginUser TokenDto tokenDTO, @RequestBody CustomerFunctionRoleListFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, CustomerFunctionRoleListFormDTO.AddUserInternalGroup.class); |
|||
return new Result<List<CustomerFunctionRoleListResultDTO>>().ok(customerFunctionRoleService.customerFunctionRoleList(formDTO)); |
|||
} |
|||
} |
@ -0,0 +1,62 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dto.CustomerFunctionRoleDTO; |
|||
import com.epmet.dto.form.CustomerFunctionRoleListFormDTO; |
|||
import com.epmet.dto.form.FunctionDetailFromDTO; |
|||
import com.epmet.dto.form.SaveCustomerFunctionRoleFormDTO; |
|||
import com.epmet.dto.result.CustomerFunctionRoleListResultDTO; |
|||
import com.epmet.entity.CustomerFunctionRoleEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 客户定制功能角色列表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-09-07 |
|||
*/ |
|||
@Mapper |
|||
public interface CustomerFunctionRoleDao extends BaseDao<CustomerFunctionRoleEntity> { |
|||
|
|||
/** |
|||
* @author sun |
|||
* @Description 根据客户Id删除客户功能角色信息 |
|||
*/ |
|||
void delByCustomerId(SaveCustomerFunctionRoleFormDTO formDTO); |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @author sun |
|||
* @Description 查询客户定制功能角色列表 |
|||
*/ |
|||
List<CustomerFunctionRoleListResultDTO> selectCustomerFunctionRoleList(CustomerFunctionRoleListFormDTO formDTO); |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @author sun |
|||
* @Description 根据用户拥有的角色查询客户的定制功能 |
|||
*/ |
|||
List<String> selectFunctionList(FunctionDetailFromDTO formDTO); |
|||
} |
@ -0,0 +1,66 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
|
|||
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 客户定制功能角色列表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-09-07 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("customer_function_role") |
|||
public class CustomerFunctionRoleEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 客户Id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 功能ID(function.ID) |
|||
*/ |
|||
private String functionId; |
|||
|
|||
/** |
|||
* 所属APP(工作端:gov、居民端:resi) |
|||
*/ |
|||
private String fromApp; |
|||
|
|||
/** |
|||
* 角色Key值 |
|||
*/ |
|||
private String roleKey; |
|||
|
|||
/** |
|||
* 角色名称 |
|||
*/ |
|||
private String roleName; |
|||
|
|||
} |
@ -0,0 +1,71 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.excel; |
|||
|
|||
import cn.afterturn.easypoi.excel.annotation.Excel; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 客户定制功能角色列表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-09-07 |
|||
*/ |
|||
@Data |
|||
public class CustomerFunctionRoleExcel { |
|||
|
|||
@Excel(name = "唯一标识") |
|||
private String id; |
|||
|
|||
@Excel(name = "客户Id ") |
|||
private String customerId; |
|||
|
|||
@Excel(name = "功能ID(function.ID)") |
|||
private String functionId; |
|||
|
|||
@Excel(name = "所属APP(工作端:gov、居民端:resi)") |
|||
private String fromApp; |
|||
|
|||
@Excel(name = "角色Key值") |
|||
private String roleKey; |
|||
|
|||
@Excel(name = "角色名称") |
|||
private String roleName; |
|||
|
|||
@Excel(name = "删除标识:0.未删除 1.已删除") |
|||
private Integer delFlag; |
|||
|
|||
@Excel(name = "乐观锁") |
|||
private Integer revision; |
|||
|
|||
@Excel(name = "创建人") |
|||
private String createdBy; |
|||
|
|||
@Excel(name = "创建时间") |
|||
private Date createdTime; |
|||
|
|||
@Excel(name = "更新人") |
|||
private String updatedBy; |
|||
|
|||
@Excel(name = "更新时间") |
|||
private Date updatedTime; |
|||
|
|||
|
|||
} |
@ -0,0 +1,47 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.redis; |
|||
|
|||
import com.epmet.commons.tools.redis.RedisUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 客户定制功能角色列表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-09-07 |
|||
*/ |
|||
@Component |
|||
public class CustomerFunctionRoleRedis { |
|||
@Autowired |
|||
private RedisUtils redisUtils; |
|||
|
|||
public void delete(Object[] ids) { |
|||
|
|||
} |
|||
|
|||
public void set(){ |
|||
|
|||
} |
|||
|
|||
public String get(String id){ |
|||
return null; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,114 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.service; |
|||
|
|||
import com.epmet.commons.mybatis.service.BaseService; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.dto.CustomerFunctionRoleDTO; |
|||
import com.epmet.dto.form.CustomerFunctionRoleListFormDTO; |
|||
import com.epmet.dto.form.SaveCustomerFunctionRoleFormDTO; |
|||
import com.epmet.dto.result.CustomerFunctionRoleListResultDTO; |
|||
import com.epmet.entity.CustomerFunctionRoleEntity; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 客户定制功能角色列表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-09-07 |
|||
*/ |
|||
public interface CustomerFunctionRoleService extends BaseService<CustomerFunctionRoleEntity> { |
|||
|
|||
/** |
|||
* 默认分页 |
|||
* |
|||
* @param params |
|||
* @return PageData<CustomerFunctionRoleDTO> |
|||
* @author generator |
|||
* @date 2020-09-07 |
|||
*/ |
|||
PageData<CustomerFunctionRoleDTO> page(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 默认查询 |
|||
* |
|||
* @param params |
|||
* @return java.util.List<CustomerFunctionRoleDTO> |
|||
* @author generator |
|||
* @date 2020-09-07 |
|||
*/ |
|||
List<CustomerFunctionRoleDTO> list(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 单条查询 |
|||
* |
|||
* @param id |
|||
* @return CustomerFunctionRoleDTO |
|||
* @author generator |
|||
* @date 2020-09-07 |
|||
*/ |
|||
CustomerFunctionRoleDTO get(String id); |
|||
|
|||
/** |
|||
* 默认保存 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2020-09-07 |
|||
*/ |
|||
void save(CustomerFunctionRoleDTO dto); |
|||
|
|||
/** |
|||
* 默认更新 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2020-09-07 |
|||
*/ |
|||
void update(CustomerFunctionRoleDTO dto); |
|||
|
|||
/** |
|||
* 批量删除 |
|||
* |
|||
* @param ids |
|||
* @return void |
|||
* @author generator |
|||
* @date 2020-09-07 |
|||
*/ |
|||
void delete(String[] ids); |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @author sun |
|||
* @Description 客户定制功能角色设置 |
|||
*/ |
|||
void saveCustomerFunctionRole(SaveCustomerFunctionRoleFormDTO formDTO); |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @author sun |
|||
* @Description 查询客户定制功能角色列表 |
|||
*/ |
|||
List<CustomerFunctionRoleListResultDTO> customerFunctionRoleList(CustomerFunctionRoleListFormDTO formDTO); |
|||
} |
@ -0,0 +1,154 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|||
import com.epmet.commons.tools.exception.ErrorCode; |
|||
import com.epmet.commons.tools.exception.RenException; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.utils.ConvertUtils; |
|||
import com.epmet.commons.tools.constant.FieldConstant; |
|||
import com.epmet.dao.CustomerFunctionRoleDao; |
|||
import com.epmet.dto.CustomerFunctionRoleDTO; |
|||
import com.epmet.dto.form.CustomerFunctionRoleListFormDTO; |
|||
import com.epmet.dto.form.RoleListFormDTO; |
|||
import com.epmet.dto.form.SaveCustomerFunctionRoleFormDTO; |
|||
import com.epmet.dto.result.CustomerFunctionRoleListResultDTO; |
|||
import com.epmet.entity.CustomerFunctionRoleEntity; |
|||
import com.epmet.redis.CustomerFunctionRoleRedis; |
|||
import com.epmet.service.CustomerFunctionRoleService; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
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.Arrays; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 客户定制功能角色列表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2020-09-07 |
|||
*/ |
|||
@Service |
|||
public class CustomerFunctionRoleServiceImpl extends BaseServiceImpl<CustomerFunctionRoleDao, CustomerFunctionRoleEntity> implements CustomerFunctionRoleService { |
|||
|
|||
@Autowired |
|||
private CustomerFunctionRoleRedis customerFunctionRoleRedis; |
|||
|
|||
@Override |
|||
public PageData<CustomerFunctionRoleDTO> page(Map<String, Object> params) { |
|||
IPage<CustomerFunctionRoleEntity> page = baseDao.selectPage( |
|||
getPage(params, FieldConstant.CREATED_TIME, false), |
|||
getWrapper(params) |
|||
); |
|||
return getPageData(page, CustomerFunctionRoleDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
public List<CustomerFunctionRoleDTO> list(Map<String, Object> params) { |
|||
List<CustomerFunctionRoleEntity> entityList = baseDao.selectList(getWrapper(params)); |
|||
|
|||
return ConvertUtils.sourceToTarget(entityList, CustomerFunctionRoleDTO.class); |
|||
} |
|||
|
|||
private QueryWrapper<CustomerFunctionRoleEntity> getWrapper(Map<String, Object> params){ |
|||
String id = (String)params.get(FieldConstant.ID_HUMP); |
|||
|
|||
QueryWrapper<CustomerFunctionRoleEntity> wrapper = new QueryWrapper<>(); |
|||
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|||
|
|||
return wrapper; |
|||
} |
|||
|
|||
@Override |
|||
public CustomerFunctionRoleDTO get(String id) { |
|||
CustomerFunctionRoleEntity entity = baseDao.selectById(id); |
|||
return ConvertUtils.sourceToTarget(entity, CustomerFunctionRoleDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void save(CustomerFunctionRoleDTO dto) { |
|||
CustomerFunctionRoleEntity entity = ConvertUtils.sourceToTarget(dto, CustomerFunctionRoleEntity.class); |
|||
insert(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void update(CustomerFunctionRoleDTO dto) { |
|||
CustomerFunctionRoleEntity entity = ConvertUtils.sourceToTarget(dto, CustomerFunctionRoleEntity.class); |
|||
updateById(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void delete(String[] ids) { |
|||
// 逻辑删除(@TableLogic 注解)
|
|||
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|||
} |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @author sun |
|||
* @Description 客户定制功能角色设置 |
|||
*/ |
|||
@Override |
|||
public void saveCustomerFunctionRole(SaveCustomerFunctionRoleFormDTO formDTO) { |
|||
List<CustomerFunctionRoleEntity> listEntity = new ArrayList<>(); |
|||
//1.封装数据
|
|||
List<RoleListFormDTO> roleList = formDTO.getRoleList(); |
|||
roleList.forEach(role->{ |
|||
CustomerFunctionRoleEntity entity = new CustomerFunctionRoleEntity(); |
|||
entity.setCustomerId(formDTO.getCustomerId()); |
|||
entity.setFunctionId(formDTO.getFunctionId()); |
|||
entity.setFromApp(formDTO.getFromApp()); |
|||
entity.setRoleKey(role.getRoleKey()); |
|||
entity.setRoleName(role.getRoleName()); |
|||
listEntity.add(entity); |
|||
}); |
|||
|
|||
//2.先按客户Id、功能Id执行删除操作
|
|||
baseDao.delByCustomerId(formDTO); |
|||
|
|||
//3.批量新增
|
|||
if(!insertBatch(listEntity)){ |
|||
throw new RenException("定制功能角色设置失败"); |
|||
} |
|||
|
|||
} |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return |
|||
* @author sun |
|||
* @Description 查询客户定制功能角色列表 |
|||
*/ |
|||
@Override |
|||
public List<CustomerFunctionRoleListResultDTO> customerFunctionRoleList(CustomerFunctionRoleListFormDTO formDTO) { |
|||
//1.根据客户Id、功能Id查询客户定制功能设置的角色列表
|
|||
return baseDao.selectCustomerFunctionRoleList(formDTO); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,15 @@ |
|||
CREATE TABLE `customer_function_role` ( |
|||
`ID` varchar(64) NOT NULL COMMENT '唯一标识', |
|||
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id ', |
|||
`FUNCTION_ID` varchar(64) NOT NULL COMMENT '功能ID(function.ID)', |
|||
`FROM_APP` varchar(32) NOT NULL COMMENT '所属APP(工作端:gov、居民端:resi)', |
|||
`ROLE_KEY` varchar(32) NOT NULL COMMENT '角色Key值', |
|||
`ROLE_NAME` varchar(32) NOT NULL COMMENT '角色名称', |
|||
`DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', |
|||
`REVISION` int(11) NOT NULL COMMENT '乐观锁', |
|||
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', |
|||
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间', |
|||
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', |
|||
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', |
|||
PRIMARY KEY (`ID`) |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户定制功能角色列表'; |
@ -0,0 +1,39 @@ |
|||
<?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.epmet.dao.CustomerFunctionRoleDao"> |
|||
|
|||
<select id="selectCustomerFunctionRoleList" resultType="com.epmet.dto.result.CustomerFunctionRoleListResultDTO"> |
|||
SELECT |
|||
role_key AS "roleKey", |
|||
role_name AS "roleName" |
|||
FROM |
|||
customer_function_role |
|||
WHERE |
|||
del_flag = '0' |
|||
AND customer_id = #{customerId} |
|||
AND function_id = #{functionId} |
|||
</select> |
|||
|
|||
<select id="selectFunctionList" resultType="java.lang.String"> |
|||
SELECT |
|||
DISTINCT |
|||
FUNCTION_ID |
|||
FROM customer_function_role |
|||
WHERE del_flag = '0' |
|||
AND customer_id = #{customerId} |
|||
AND from_app = #{clientType} |
|||
<foreach collection="roleKeyList" item="roleKey" index="index" open="AND ( " separator=" OR " close=")"> |
|||
role_key = #{roleKey} |
|||
</foreach> |
|||
|
|||
</select> |
|||
|
|||
<delete id="delByCustomerId"> |
|||
DELETE |
|||
FROM customer_function_role |
|||
WHERE customer_id = #{customerId} |
|||
AND function_id = #{functionId} |
|||
</delete> |
|||
|
|||
</mapper> |
@ -0,0 +1,28 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Description 获取用户拥有的角色key集合-接口入参 |
|||
* @Author sun |
|||
*/ |
|||
@Data |
|||
public class GetRoleKeyListFormDTO implements Serializable{ |
|||
private static final long serialVersionUID = -7994579456530273809L; |
|||
|
|||
/** |
|||
* 用户Id |
|||
* */ |
|||
private String userId; |
|||
/** |
|||
* 网格Id |
|||
* */ |
|||
private String gridId; |
|||
/** |
|||
* 所属端(居民端:resi 工作端:gov) |
|||
* */ |
|||
private String fromApp; |
|||
} |
@ -0,0 +1,46 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
|
|||
/** |
|||
* 获取居民端、工作端人员角色列表--接口返参 |
|||
* |
|||
* @author sun |
|||
*/ |
|||
@Data |
|||
public class ResiGovRoleListResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 居民端角色列表 |
|||
*/ |
|||
private List<ResiGovRoleResultDTO> resiRoleList; |
|||
|
|||
/** |
|||
* 工作端角色列表 |
|||
*/ |
|||
private List<ResiGovRoleResultDTO> govRoleList; |
|||
|
|||
} |
@ -0,0 +1,44 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
|
|||
/** |
|||
* 获取居民端、工作端人员角色列表--接口返参 |
|||
* |
|||
* @author sun |
|||
*/ |
|||
@Data |
|||
public class ResiGovRoleResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 角色key |
|||
*/ |
|||
private String roleKey; |
|||
/** |
|||
* 角色名称 |
|||
*/ |
|||
private String roleName; |
|||
|
|||
} |
Loading…
Reference in new issue