13 changed files with 785 additions and 7 deletions
			
			
		@ -0,0 +1,81 @@ | 
				
			|||
/** | 
				
			|||
 * 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 2021-03-16 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class GovCustomerMenuDTO implements Serializable { | 
				
			|||
 | 
				
			|||
    private static final long serialVersionUID = 1L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 主键ID | 
				
			|||
     */ | 
				
			|||
	private String id; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 客户ID | 
				
			|||
     */ | 
				
			|||
	private String customerId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * gov_menu表主键 | 
				
			|||
     */ | 
				
			|||
	private String tableId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 删除标识 0未删除、1已删除 | 
				
			|||
     */ | 
				
			|||
	private String delFlag; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 乐观锁 | 
				
			|||
     */ | 
				
			|||
	private Integer revision; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 创建人 | 
				
			|||
     */ | 
				
			|||
	private String createdBy; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 创建时间 | 
				
			|||
     */ | 
				
			|||
	private Date createdTime; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 更新人 | 
				
			|||
     */ | 
				
			|||
	private String updatedBy; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 更新时间 | 
				
			|||
     */ | 
				
			|||
	private Date updatedTime; | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,27 @@ | 
				
			|||
package com.epmet.dto.form; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import javax.validation.constraints.NotBlank; | 
				
			|||
import java.io.Serializable; | 
				
			|||
import java.util.List; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 菜单配置 - 一菜单 多 客户 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class MenuConfigFormDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = -2898130727929596798L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * gov_menu表主键 | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "菜单ID不能为空") | 
				
			|||
    private String tableId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 客户id 列表 | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "客户id 列表不能为空") | 
				
			|||
    private List<String> customerIds; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,129 @@ | 
				
			|||
/** | 
				
			|||
 * 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.exception.RenException; | 
				
			|||
import com.epmet.commons.tools.page.PageData; | 
				
			|||
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.GovCustomerMenuDTO; | 
				
			|||
import com.epmet.dto.form.MenuConfigFormDTO; | 
				
			|||
import com.epmet.excel.GovCustomerMenuExcel; | 
				
			|||
import com.epmet.service.GovCustomerMenuService; | 
				
			|||
import org.apache.commons.lang3.StringUtils; | 
				
			|||
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 2021-03-16 | 
				
			|||
 */ | 
				
			|||
@RestController | 
				
			|||
@RequestMapping("govcustomermenu") | 
				
			|||
public class GovCustomerMenuController { | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private GovCustomerMenuService govCustomerMenuService; | 
				
			|||
 | 
				
			|||
    @GetMapping("page") | 
				
			|||
    public Result<PageData<GovCustomerMenuDTO>> page(@RequestParam Map<String, Object> params){ | 
				
			|||
        PageData<GovCustomerMenuDTO> page = govCustomerMenuService.page(params); | 
				
			|||
        return new Result<PageData<GovCustomerMenuDTO>>().ok(page); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @GetMapping("{id}") | 
				
			|||
    public Result<GovCustomerMenuDTO> get(@PathVariable("id") String id){ | 
				
			|||
        GovCustomerMenuDTO data = govCustomerMenuService.get(id); | 
				
			|||
        return new Result<GovCustomerMenuDTO>().ok(data); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @PostMapping | 
				
			|||
    public Result save(@RequestBody GovCustomerMenuDTO dto){ | 
				
			|||
        //效验数据
 | 
				
			|||
        ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); | 
				
			|||
        govCustomerMenuService.save(dto); | 
				
			|||
        return new Result(); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @PutMapping | 
				
			|||
    public Result update(@RequestBody GovCustomerMenuDTO dto){ | 
				
			|||
        //效验数据
 | 
				
			|||
        ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); | 
				
			|||
        govCustomerMenuService.update(dto); | 
				
			|||
        return new Result(); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @DeleteMapping | 
				
			|||
    public Result delete(@RequestBody String[] ids){ | 
				
			|||
        //效验数据
 | 
				
			|||
        AssertUtils.isArrayEmpty(ids, "id"); | 
				
			|||
        govCustomerMenuService.delete(ids); | 
				
			|||
        return new Result(); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @GetMapping("export") | 
				
			|||
    public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { | 
				
			|||
        List<GovCustomerMenuDTO> list = govCustomerMenuService.list(params); | 
				
			|||
        ExcelUtils.exportExcelToTarget(response, null, list, GovCustomerMenuExcel.class); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 给每个客户 配置可见菜单 | 
				
			|||
     *    先删除,后新增 | 
				
			|||
     * | 
				
			|||
     * @param formDTO | 
				
			|||
     * @return com.epmet.commons.tools.utils.Result | 
				
			|||
     * @Author zhangyong | 
				
			|||
     * @Date 14:15 2021-03-16 | 
				
			|||
     **/ | 
				
			|||
    @PostMapping("addcustomermenu") | 
				
			|||
    public Result addCustomerMenu(@RequestBody MenuConfigFormDTO formDTO) { | 
				
			|||
        //效验数据
 | 
				
			|||
        if (StringUtils.isBlank(formDTO.getTableId())) { | 
				
			|||
            throw new RenException("菜单ID不能为空"); | 
				
			|||
        } | 
				
			|||
        govCustomerMenuService.saveCustomerMenu(formDTO); | 
				
			|||
        return new Result(); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 根据gov_menu表主键,查询拥有这项菜单的所有客户(customerIds) | 
				
			|||
     * | 
				
			|||
     * @param tableId | 
				
			|||
     * @return com.epmet.commons.tools.utils.Result<java.util.List<java.lang.String>> | 
				
			|||
     * @Author zhangyong | 
				
			|||
     * @Date 16:26 2021-03-16 | 
				
			|||
     **/ | 
				
			|||
    @GetMapping("getcustomerids/{tableid}") | 
				
			|||
    public Result<List<String>> getcustomerids(@PathVariable("tableid") String tableId){ | 
				
			|||
        List<String> data = govCustomerMenuService.getcustomerIds(tableId); | 
				
			|||
        return new Result<List<String>>().ok(data); | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,55 @@ | 
				
			|||
/** | 
				
			|||
 * 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.entity.GovCustomerMenuEntity; | 
				
			|||
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 2021-03-16 | 
				
			|||
 */ | 
				
			|||
@Mapper | 
				
			|||
public interface GovCustomerMenuDao extends BaseDao<GovCustomerMenuEntity> { | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 根据gov_menu表主键,先清除之前配置的客户信息 | 
				
			|||
     * | 
				
			|||
     * @param tableId | 
				
			|||
     * @return void | 
				
			|||
     * @Author zhangyong | 
				
			|||
     * @Date 14:24 2021-03-16 | 
				
			|||
     **/ | 
				
			|||
    void deleteBatchTableIds(@Param("tableId") String tableId); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 根据gov_menu表主键,查询拥有这项菜单的所有客户(customerIds) | 
				
			|||
     * | 
				
			|||
     * @param tableId | 
				
			|||
     * @return java.util.List<java.lang.String> | 
				
			|||
     * @Author zhangyong | 
				
			|||
     * @Date 16:29 2021-03-16 | 
				
			|||
     **/ | 
				
			|||
    List<String> selectListcustomerIds(@Param("tableId") String tableId); | 
				
			|||
} | 
				
			|||
@ -0,0 +1,51 @@ | 
				
			|||
/** | 
				
			|||
 * 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 2021-03-16 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
@EqualsAndHashCode(callSuper=false) | 
				
			|||
@TableName("gov_customer_menu") | 
				
			|||
public class GovCustomerMenuEntity extends BaseEpmetEntity { | 
				
			|||
 | 
				
			|||
	private static final long serialVersionUID = 1L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 客户ID | 
				
			|||
     */ | 
				
			|||
	private String customerId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * gov_menu表主键 | 
				
			|||
     */ | 
				
			|||
	private String tableId; | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -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.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 2021-03-16 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class GovCustomerMenuExcel { | 
				
			|||
 | 
				
			|||
    @Excel(name = "主键ID") | 
				
			|||
    private String id; | 
				
			|||
 | 
				
			|||
    @Excel(name = "客户ID") | 
				
			|||
    private String customerId; | 
				
			|||
 | 
				
			|||
    @Excel(name = "gov_menu表主键") | 
				
			|||
    private String tableId; | 
				
			|||
 | 
				
			|||
    @Excel(name = "删除标识 0未删除、1已删除") | 
				
			|||
    private String 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 2021-03-16 | 
				
			|||
 */ | 
				
			|||
@Component | 
				
			|||
public class GovCustomerMenuRedis { | 
				
			|||
    @Autowired | 
				
			|||
    private RedisUtils redisUtils; | 
				
			|||
 | 
				
			|||
    public void delete(Object[] ids) { | 
				
			|||
 | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    public void set(){ | 
				
			|||
 | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    public String get(String id){ | 
				
			|||
        return null; | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,126 @@ | 
				
			|||
/** | 
				
			|||
 * 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.GovCustomerMenuDTO; | 
				
			|||
import com.epmet.dto.form.MenuConfigFormDTO; | 
				
			|||
import com.epmet.entity.GovCustomerMenuEntity; | 
				
			|||
 | 
				
			|||
import java.util.List; | 
				
			|||
import java.util.Map; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 客户菜单配置表 | 
				
			|||
 * | 
				
			|||
 * @author generator generator@elink-cn.com | 
				
			|||
 * @since v1.0.0 2021-03-16 | 
				
			|||
 */ | 
				
			|||
public interface GovCustomerMenuService extends BaseService<GovCustomerMenuEntity> { | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认分页 | 
				
			|||
     * | 
				
			|||
     * @param params | 
				
			|||
     * @return PageData<GovCustomerMenuDTO> | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-03-16 | 
				
			|||
     */ | 
				
			|||
    PageData<GovCustomerMenuDTO> page(Map<String, Object> params); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认查询 | 
				
			|||
     * | 
				
			|||
     * @param params | 
				
			|||
     * @return java.util.List<GovCustomerMenuDTO> | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-03-16 | 
				
			|||
     */ | 
				
			|||
    List<GovCustomerMenuDTO> list(Map<String, Object> params); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 单条查询 | 
				
			|||
     * | 
				
			|||
     * @param id | 
				
			|||
     * @return GovCustomerMenuDTO | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-03-16 | 
				
			|||
     */ | 
				
			|||
    GovCustomerMenuDTO get(String id); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认保存 | 
				
			|||
     * | 
				
			|||
     * @param dto | 
				
			|||
     * @return void | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-03-16 | 
				
			|||
     */ | 
				
			|||
    void save(GovCustomerMenuDTO dto); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认更新 | 
				
			|||
     * | 
				
			|||
     * @param dto | 
				
			|||
     * @return void | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-03-16 | 
				
			|||
     */ | 
				
			|||
    void update(GovCustomerMenuDTO dto); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 批量删除 | 
				
			|||
     * | 
				
			|||
     * @param ids | 
				
			|||
     * @return void | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-03-16 | 
				
			|||
     */ | 
				
			|||
    void delete(String[] ids); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 给每个客户 配置可见菜单 | 
				
			|||
     * | 
				
			|||
     * @param formDTO | 
				
			|||
     * @return void | 
				
			|||
     * @Author zhangyong | 
				
			|||
     * @Date 14:16 2021-03-16 | 
				
			|||
     **/ | 
				
			|||
    void saveCustomerMenu(MenuConfigFormDTO formDTO); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 根据gov_menu表主键,查询拥有这项菜单的所有客户(customerIds) | 
				
			|||
     * | 
				
			|||
     * @param tableId | 
				
			|||
     * @return java.util.List<java.lang.String> | 
				
			|||
     * @Author zhangyong | 
				
			|||
     * @Date 16:29 2021-03-16 | 
				
			|||
     **/ | 
				
			|||
    List<String> getcustomerIds(String tableId); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 根据gov_menu表主键,先清除之前配置的客户信息 | 
				
			|||
     * | 
				
			|||
     * @param tableId | 
				
			|||
     * @return void | 
				
			|||
     * @Author zhangyong | 
				
			|||
     * @Date 14:24 2021-03-16 | 
				
			|||
     **/ | 
				
			|||
    void deleteBatchTableIds(String tableId); | 
				
			|||
} | 
				
			|||
@ -0,0 +1,132 @@ | 
				
			|||
/** | 
				
			|||
 * 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.constant.NumConstant; | 
				
			|||
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.GovCustomerMenuDao; | 
				
			|||
import com.epmet.dto.GovCustomerMenuDTO; | 
				
			|||
import com.epmet.dto.form.MenuConfigFormDTO; | 
				
			|||
import com.epmet.entity.GovCustomerMenuEntity; | 
				
			|||
import com.epmet.redis.GovCustomerMenuRedis; | 
				
			|||
import com.epmet.service.GovCustomerMenuService; | 
				
			|||
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 2021-03-16 | 
				
			|||
 */ | 
				
			|||
@Service | 
				
			|||
public class GovCustomerMenuServiceImpl extends BaseServiceImpl<GovCustomerMenuDao, GovCustomerMenuEntity> implements GovCustomerMenuService { | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private GovCustomerMenuRedis govCustomerMenuRedis; | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public PageData<GovCustomerMenuDTO> page(Map<String, Object> params) { | 
				
			|||
        IPage<GovCustomerMenuEntity> page = baseDao.selectPage( | 
				
			|||
                getPage(params, FieldConstant.CREATED_TIME, false), | 
				
			|||
                getWrapper(params) | 
				
			|||
        ); | 
				
			|||
        return getPageData(page, GovCustomerMenuDTO.class); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public List<GovCustomerMenuDTO> list(Map<String, Object> params) { | 
				
			|||
        List<GovCustomerMenuEntity> entityList = baseDao.selectList(getWrapper(params)); | 
				
			|||
 | 
				
			|||
        return ConvertUtils.sourceToTarget(entityList, GovCustomerMenuDTO.class); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    private QueryWrapper<GovCustomerMenuEntity> getWrapper(Map<String, Object> params){ | 
				
			|||
        String id = (String)params.get(FieldConstant.ID_HUMP); | 
				
			|||
 | 
				
			|||
        QueryWrapper<GovCustomerMenuEntity> wrapper = new QueryWrapper<>(); | 
				
			|||
        wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); | 
				
			|||
 | 
				
			|||
        return wrapper; | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public GovCustomerMenuDTO get(String id) { | 
				
			|||
        GovCustomerMenuEntity entity = baseDao.selectById(id); | 
				
			|||
        return ConvertUtils.sourceToTarget(entity, GovCustomerMenuDTO.class); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    @Transactional(rollbackFor = Exception.class) | 
				
			|||
    public void save(GovCustomerMenuDTO dto) { | 
				
			|||
        GovCustomerMenuEntity entity = ConvertUtils.sourceToTarget(dto, GovCustomerMenuEntity.class); | 
				
			|||
        insert(entity); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    @Transactional(rollbackFor = Exception.class) | 
				
			|||
    public void update(GovCustomerMenuDTO dto) { | 
				
			|||
        GovCustomerMenuEntity entity = ConvertUtils.sourceToTarget(dto, GovCustomerMenuEntity.class); | 
				
			|||
        updateById(entity); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    @Transactional(rollbackFor = Exception.class) | 
				
			|||
    public void delete(String[] ids) { | 
				
			|||
        // 逻辑删除(@TableLogic 注解)
 | 
				
			|||
        baseDao.deleteBatchIds(Arrays.asList(ids)); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public void saveCustomerMenu(MenuConfigFormDTO formDTO) { | 
				
			|||
        if (NumConstant.ZERO < formDTO.getCustomerIds().size()) { | 
				
			|||
            baseDao.deleteBatchTableIds(formDTO.getTableId()); | 
				
			|||
 | 
				
			|||
            List<GovCustomerMenuEntity> entities = new ArrayList<>(); | 
				
			|||
            for (String customerId : formDTO.getCustomerIds()) { | 
				
			|||
                GovCustomerMenuEntity entity = new GovCustomerMenuEntity(); | 
				
			|||
                entity.setCustomerId(customerId); | 
				
			|||
                entity.setTableId(formDTO.getTableId()); | 
				
			|||
                entities.add(entity); | 
				
			|||
            } | 
				
			|||
            insertBatch(entities); | 
				
			|||
        } | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public List<String> getcustomerIds(String tableId) { | 
				
			|||
        return baseDao.selectListcustomerIds(tableId); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public void deleteBatchTableIds(String tableId) { | 
				
			|||
        baseDao.deleteBatchTableIds(tableId); | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,29 @@ | 
				
			|||
<?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.GovCustomerMenuDao"> | 
				
			|||
 | 
				
			|||
    <resultMap type="com.epmet.entity.GovCustomerMenuEntity" id="govCustomerMenuMap"> | 
				
			|||
        <result property="id" column="ID"/> | 
				
			|||
        <result property="customerId" column="CUSTOMER_ID"/> | 
				
			|||
        <result property="tableId" column="TABLE_ID"/> | 
				
			|||
        <result property="delFlag" column="DEL_FLAG"/> | 
				
			|||
        <result property="revision" column="REVISION"/> | 
				
			|||
        <result property="createdBy" column="CREATED_BY"/> | 
				
			|||
        <result property="createdTime" column="CREATED_TIME"/> | 
				
			|||
        <result property="updatedBy" column="UPDATED_BY"/> | 
				
			|||
        <result property="updatedTime" column="UPDATED_TIME"/> | 
				
			|||
    </resultMap> | 
				
			|||
 | 
				
			|||
    <update id="deleteBatchTableIds"> | 
				
			|||
        UPDATE gov_customer_menu SET DEL_FLAG = '1' | 
				
			|||
        WHERE DEL_FLAG = '0' | 
				
			|||
        AND TABLE_ID = #{tableId, jdbcType=VARCHAR} | 
				
			|||
    </update> | 
				
			|||
 | 
				
			|||
    <select id="selectListcustomerIds" resultType="String"> | 
				
			|||
        SELECT CUSTOMER_ID customerId | 
				
			|||
        FROM gov_customer_menu | 
				
			|||
        WHERE del_flag = 0 AND TABLE_ID = #{tableId, jdbcType=VARCHAR} | 
				
			|||
    </select> | 
				
			|||
</mapper> | 
				
			|||
					Loading…
					
					
				
		Reference in new issue