13 changed files with 1387 additions and 0 deletions
@ -0,0 +1,157 @@ |
|||
/** |
|||
* 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.elink.esua.epdc.dto; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
|
|||
/** |
|||
* 用户建议表 |
|||
* |
|||
* @author qu qu@elink-cn.com |
|||
* @since v1.0.0 2021-03-02 |
|||
*/ |
|||
@Data |
|||
public class AdviceDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 主键 |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 建议描述 |
|||
*/ |
|||
private String content; |
|||
|
|||
/** |
|||
* 建议人 |
|||
*/ |
|||
private String adviceUser; |
|||
|
|||
/** |
|||
* 建议人联系电话 |
|||
*/ |
|||
private String adviceUserMobile; |
|||
|
|||
/** |
|||
* 是否匿名 0-否,1-是 |
|||
*/ |
|||
private String anonymousFlag; |
|||
|
|||
/** |
|||
* 真实姓名 |
|||
*/ |
|||
private String realName; |
|||
|
|||
/** |
|||
* 用户ID |
|||
*/ |
|||
private String userId; |
|||
|
|||
/** |
|||
* 用户昵称 |
|||
*/ |
|||
private String nickname; |
|||
|
|||
/** |
|||
* 用户头像 |
|||
*/ |
|||
private String userFace; |
|||
|
|||
/** |
|||
* 用户电话 |
|||
*/ |
|||
private String mobile; |
|||
|
|||
/** |
|||
* 所属部门ID |
|||
*/ |
|||
private Long deptId; |
|||
|
|||
/** |
|||
* 所属部门名称 |
|||
*/ |
|||
private String deptName; |
|||
|
|||
/** |
|||
* 父所有部门ID |
|||
*/ |
|||
private String parentDeptIds; |
|||
|
|||
/** |
|||
* 父所有部门名称 |
|||
*/ |
|||
private String parentDeptNames; |
|||
|
|||
/** |
|||
* 所有部门ID |
|||
*/ |
|||
private String allDeptIds; |
|||
|
|||
/** |
|||
* 所有部门名称 |
|||
*/ |
|||
private String allDeptNames; |
|||
|
|||
/** |
|||
* 屏蔽标识 0:未屏蔽,1:已屏蔽 |
|||
*/ |
|||
private String shieldFlag; |
|||
|
|||
/** |
|||
* 屏蔽原因 |
|||
*/ |
|||
private String shieldReason; |
|||
|
|||
/** |
|||
* 删除标识 0-否,1-是 |
|||
*/ |
|||
private String delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private Integer revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
} |
@ -0,0 +1,39 @@ |
|||
package com.elink.esua.epdc.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 举报问题列表查询参数 |
|||
* |
|||
@author songyunpeng |
|||
@since 2022/3/02 17:12 |
|||
*/ |
|||
@Data |
|||
public class AdviceListFormDTO implements Serializable { |
|||
private static final long serialVersionUID = 2105013928295376961L; |
|||
|
|||
/** |
|||
* 页码 |
|||
*/ |
|||
@NotNull(message = "页码不能为空") |
|||
private Integer pageIndex; |
|||
|
|||
/** |
|||
* 页容量 |
|||
*/ |
|||
@NotNull(message = "页容量不能为空") |
|||
private Integer pageSize; |
|||
|
|||
/** |
|||
* 用户ID |
|||
*/ |
|||
private String userId; |
|||
|
|||
/** |
|||
* 图片类型 |
|||
*/ |
|||
private String imgType; |
|||
} |
@ -0,0 +1,31 @@ |
|||
package com.elink.esua.epdc.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.Size; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 屏蔽用户举报问题表单 |
|||
* |
|||
* @author songyunpeng |
|||
* * @since 2022/3/02 17:12 |
|||
*/ |
|||
@Data |
|||
public class AdviceShieldFormDTO implements Serializable { |
|||
private static final long serialVersionUID = -3686477439903152467L; |
|||
|
|||
/** |
|||
* 举报问题ID |
|||
*/ |
|||
@NotBlank(message = "记录ID不能为空") |
|||
private String id; |
|||
|
|||
/** |
|||
* 屏蔽原因 |
|||
*/ |
|||
@NotBlank(message = "屏蔽原因不能为空") |
|||
@Size(min = 1, max = 100, message = "屏蔽原因不能为空且在100个字以内") |
|||
private String shieldReason; |
|||
} |
@ -0,0 +1,105 @@ |
|||
package com.elink.esua.epdc.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.Size; |
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 用户建议问题提交表单 |
|||
* |
|||
* @author songyunpeng |
|||
* @since 2022/3/02 17:12 |
|||
*/ |
|||
@Data |
|||
public class AdviceSubmitFormDTO implements Serializable { |
|||
private static final long serialVersionUID = -4805817350334564137L; |
|||
|
|||
/** |
|||
* 问题描述(500字符以内) |
|||
*/ |
|||
@NotBlank(message = "问题描述不能为空") |
|||
@Size(min = 1, max = 500, message = "问题描述不能为空且在500个字以内") |
|||
private String content; |
|||
|
|||
/** |
|||
* 是否匿名(0-否,1-是) |
|||
*/ |
|||
@NotBlank(message = "是否匿名不能为空") |
|||
private String anonymousFlag; |
|||
|
|||
/** |
|||
* 建议人 |
|||
*/ |
|||
@Size(max = 20, message = "建议人信息超出字数限制") |
|||
private String adviceUser; |
|||
|
|||
/** |
|||
* 建议人电话 |
|||
*/ |
|||
@Size(max = 20, message = "建议人电话超出字数限制") |
|||
private String adviceUserMobile; |
|||
|
|||
/** |
|||
* 图片 |
|||
*/ |
|||
private List<String> images; |
|||
|
|||
/** |
|||
* 用户ID |
|||
*/ |
|||
private String userId; |
|||
|
|||
/** |
|||
* 昵称 |
|||
*/ |
|||
private String nickname; |
|||
|
|||
/** |
|||
* 用户头像 |
|||
*/ |
|||
private String userFace; |
|||
|
|||
/** |
|||
* 手机号 |
|||
*/ |
|||
private String mobile; |
|||
|
|||
/** |
|||
* 真实姓名 |
|||
*/ |
|||
private String realName; |
|||
|
|||
/** |
|||
* 部门名称 |
|||
*/ |
|||
private String deptName; |
|||
/** |
|||
* 部门ID |
|||
*/ |
|||
private Long deptId; |
|||
|
|||
/** |
|||
* 父所有部门ID |
|||
*/ |
|||
private String parentDeptIds; |
|||
/** |
|||
* 父所有部门 |
|||
*/ |
|||
private String parentDeptNames; |
|||
/** |
|||
* 所有部门ID |
|||
*/ |
|||
private String allDeptIds; |
|||
/** |
|||
* 所有部门 |
|||
*/ |
|||
private String allDeptNames; |
|||
|
|||
/** |
|||
*是否提交为内容待审核状态 |
|||
*/ |
|||
private Boolean isConReview = false; |
|||
} |
@ -0,0 +1,50 @@ |
|||
package com.elink.esua.epdc.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 用户建议问题 |
|||
* |
|||
* @author songyunpeng |
|||
* @since 2021/03/02 17:12 |
|||
*/ |
|||
@Data |
|||
public class AdviceResultDTO implements Serializable { |
|||
private static final long serialVersionUID = -4805817350334564137L; |
|||
|
|||
private String id; |
|||
|
|||
/** |
|||
* 问题描述 |
|||
*/ |
|||
private String content; |
|||
|
|||
/** |
|||
* 是否匿名 |
|||
*/ |
|||
private String anonymousFlag; |
|||
|
|||
/** |
|||
* 建议人 |
|||
*/ |
|||
private String adviceUser; |
|||
|
|||
/** |
|||
* 建议人电话 |
|||
*/ |
|||
private String adviceUserMobile; |
|||
|
|||
/** |
|||
* 提交时间 |
|||
*/ |
|||
private Date createdTime; |
|||
|
|||
/** |
|||
* 图片 |
|||
*/ |
|||
private List<String> images; |
|||
} |
@ -0,0 +1,108 @@ |
|||
/** |
|||
* 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.elink.esua.epdc.modules.advice.controller; |
|||
|
|||
import com.elink.esua.epdc.commons.tools.page.PageData; |
|||
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.commons.tools.validator.AssertUtils; |
|||
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; |
|||
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; |
|||
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; |
|||
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; |
|||
import com.elink.esua.epdc.dto.AdviceDTO; |
|||
import com.elink.esua.epdc.dto.form.AdviceShieldFormDTO; |
|||
import com.elink.esua.epdc.modules.advice.excel.AdviceExcel; |
|||
import com.elink.esua.epdc.modules.advice.service.AdviceService; |
|||
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 qu qu@elink-cn.com |
|||
* @since v1.0.0 2021-03-02 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("advice") |
|||
public class AdviceController { |
|||
|
|||
@Autowired |
|||
private AdviceService adviceService; |
|||
|
|||
@GetMapping("page") |
|||
public Result<PageData<AdviceDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<AdviceDTO> page = adviceService.page(params); |
|||
return new Result<PageData<AdviceDTO>>().ok(page); |
|||
} |
|||
|
|||
@GetMapping("{id}") |
|||
public Result<AdviceDTO> get(@PathVariable("id") String id){ |
|||
AdviceDTO data = adviceService.get(id); |
|||
return new Result<AdviceDTO>().ok(data); |
|||
} |
|||
|
|||
@PostMapping |
|||
public Result save(@RequestBody AdviceDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
adviceService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PutMapping |
|||
public Result update(@RequestBody AdviceDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
adviceService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@DeleteMapping |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
adviceService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
@GetMapping("export") |
|||
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<AdviceDTO> list = adviceService.list(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, AdviceExcel.class); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* @Description 屏蔽 |
|||
* @Author songyunpeng |
|||
* @Date 2021/3/2 |
|||
* @Param [formDto] |
|||
* @return com.elink.esua.epdc.commons.tools.utils.Result |
|||
**/ |
|||
@PostMapping("shield") |
|||
public Result shieldReportIssue(@RequestBody AdviceShieldFormDTO formDto) { |
|||
ValidatorUtils.validateEntity(formDto); |
|||
return adviceService.modifyAdviceShieldFlag(formDto); |
|||
} |
|||
} |
@ -0,0 +1,73 @@ |
|||
/** |
|||
* 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.elink.esua.epdc.modules.advice.dao; |
|||
|
|||
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; |
|||
import com.elink.esua.epdc.dto.AdviceDTO; |
|||
import com.elink.esua.epdc.dto.form.AdviceListFormDTO; |
|||
import com.elink.esua.epdc.dto.result.AdviceResultDTO; |
|||
import com.elink.esua.epdc.modules.advice.entity.AdviceEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 用户建议表 |
|||
* |
|||
* @author qu qu@elink-cn.com |
|||
* @since v1.0.0 2021-03-02 |
|||
*/ |
|||
@Mapper |
|||
public interface AdviceDao extends BaseDao<AdviceEntity> { |
|||
|
|||
/** |
|||
* 用户建议问题列表 |
|||
* |
|||
* @param formDto 参数 |
|||
* @return java.util.List<com.elink.esua.epdc.dto.result.AdviceResultDTO> |
|||
* @author Liuchuang |
|||
* @since 2020/10/23 11:08 |
|||
*/ |
|||
List<AdviceResultDTO> selectListAdvice(AdviceListFormDTO formDto); |
|||
|
|||
/** |
|||
* 建议问题详情 |
|||
* |
|||
* @param id 记录ID |
|||
* @return com.elink.esua.epdc.dto.result.AdviceResultDTO |
|||
* @author Liuchuang |
|||
* @since 2020/10/23 16:23 |
|||
*/ |
|||
AdviceResultDTO selectOneAdvice(String id); |
|||
/** |
|||
* @Description 查询需要修改组织机构信息事件 |
|||
* @Author songyunpeng |
|||
* @Date 2020/11/25 |
|||
* @Param [toString] |
|||
* @return java.util.List<com.elink.esua.epdc.dto.ArchivesDTO> |
|||
**/ |
|||
List<AdviceDTO> selectListOfOrganizationInfo(String toString); |
|||
/** |
|||
* @Description 更新部门名 |
|||
* @Author songyunpeng |
|||
* @Date 2020/11/25 |
|||
* @Param [newDeptName, deptId] |
|||
* @return void |
|||
**/ |
|||
void updateGridByDeptId(String newDeptName, Long deptId); |
|||
} |
@ -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.elink.esua.epdc.modules.advice.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
/** |
|||
* 用户建议表 |
|||
* |
|||
* @author qu qu@elink-cn.com |
|||
* @since v1.0.0 2021-03-02 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("epdc_advice") |
|||
public class AdviceEntity extends BaseEpdcEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 建议描述 |
|||
*/ |
|||
private String content; |
|||
|
|||
/** |
|||
* 建议人 |
|||
*/ |
|||
private String adviceUser; |
|||
|
|||
/** |
|||
* 建议人联系电话 |
|||
*/ |
|||
private String adviceUserMobile; |
|||
|
|||
/** |
|||
* 是否匿名 0-否,1-是 |
|||
*/ |
|||
private String anonymousFlag; |
|||
|
|||
/** |
|||
* 真实姓名 |
|||
*/ |
|||
private String realName; |
|||
|
|||
/** |
|||
* 用户ID |
|||
*/ |
|||
private String userId; |
|||
|
|||
/** |
|||
* 用户昵称 |
|||
*/ |
|||
private String nickname; |
|||
|
|||
/** |
|||
* 用户头像 |
|||
*/ |
|||
private String userFace; |
|||
|
|||
/** |
|||
* 用户电话 |
|||
*/ |
|||
private String mobile; |
|||
|
|||
/** |
|||
* 所属部门ID |
|||
*/ |
|||
private Long deptId; |
|||
|
|||
/** |
|||
* 所属部门名称 |
|||
*/ |
|||
private String deptName; |
|||
|
|||
/** |
|||
* 父所有部门ID |
|||
*/ |
|||
private String parentDeptIds; |
|||
|
|||
/** |
|||
* 父所有部门名称 |
|||
*/ |
|||
private String parentDeptNames; |
|||
|
|||
/** |
|||
* 所有部门ID |
|||
*/ |
|||
private String allDeptIds; |
|||
|
|||
/** |
|||
* 所有部门名称 |
|||
*/ |
|||
private String allDeptNames; |
|||
|
|||
/** |
|||
* 屏蔽标识 0:未屏蔽,1:已屏蔽 |
|||
*/ |
|||
private String shieldFlag; |
|||
|
|||
/** |
|||
* 屏蔽原因 |
|||
*/ |
|||
private String shieldReason; |
|||
|
|||
} |
@ -0,0 +1,107 @@ |
|||
/** |
|||
* 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.elink.esua.epdc.modules.advice.excel; |
|||
|
|||
import cn.afterturn.easypoi.excel.annotation.Excel; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 用户建议表 |
|||
* |
|||
* @author qu qu@elink-cn.com |
|||
* @since v1.0.0 2021-03-02 |
|||
*/ |
|||
@Data |
|||
public class AdviceExcel { |
|||
|
|||
@Excel(name = "主键") |
|||
private String id; |
|||
|
|||
@Excel(name = "建议描述") |
|||
private String content; |
|||
|
|||
@Excel(name = "建议人") |
|||
private String adviceUser; |
|||
|
|||
@Excel(name = "建议人联系电话") |
|||
private String adviceUserMobile; |
|||
|
|||
@Excel(name = "是否匿名 0-否,1-是") |
|||
private String anonymousFlag; |
|||
|
|||
@Excel(name = "真实姓名") |
|||
private String realName; |
|||
|
|||
@Excel(name = "用户ID") |
|||
private String userId; |
|||
|
|||
@Excel(name = "用户昵称") |
|||
private String nickname; |
|||
|
|||
@Excel(name = "用户头像") |
|||
private String userFace; |
|||
|
|||
@Excel(name = "用户电话") |
|||
private String mobile; |
|||
|
|||
@Excel(name = "所属部门ID") |
|||
private Long deptId; |
|||
|
|||
@Excel(name = "所属部门名称") |
|||
private String deptName; |
|||
|
|||
@Excel(name = "父所有部门ID") |
|||
private String parentDeptIds; |
|||
|
|||
@Excel(name = "父所有部门名称") |
|||
private String parentDeptNames; |
|||
|
|||
@Excel(name = "所有部门ID") |
|||
private String allDeptIds; |
|||
|
|||
@Excel(name = "所有部门名称") |
|||
private String allDeptNames; |
|||
|
|||
@Excel(name = "屏蔽标识 0:未屏蔽,1:已屏蔽") |
|||
private String shieldFlag; |
|||
|
|||
@Excel(name = "屏蔽原因") |
|||
private String shieldReason; |
|||
|
|||
@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.elink.esua.epdc.modules.advice.redis; |
|||
|
|||
import com.elink.esua.epdc.commons.tools.redis.RedisUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 用户建议表 |
|||
* |
|||
* @author qu qu@elink-cn.com |
|||
* @since v1.0.0 2021-03-02 |
|||
*/ |
|||
@Component |
|||
public class AdviceRedis { |
|||
@Autowired |
|||
private RedisUtils redisUtils; |
|||
|
|||
public void delete(Object[] ids) { |
|||
|
|||
} |
|||
|
|||
public void set(){ |
|||
|
|||
} |
|||
|
|||
public String get(String id){ |
|||
return null; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,158 @@ |
|||
/** |
|||
* 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.elink.esua.epdc.modules.advice.service; |
|||
|
|||
import com.elink.esua.epdc.commons.mybatis.service.BaseService; |
|||
import com.elink.esua.epdc.commons.tools.page.PageData; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.dto.AdviceDTO; |
|||
import com.elink.esua.epdc.dto.form.AdviceListFormDTO; |
|||
import com.elink.esua.epdc.dto.form.AdviceShieldFormDTO; |
|||
import com.elink.esua.epdc.dto.form.AdviceSubmitFormDTO; |
|||
import com.elink.esua.epdc.dto.result.AdviceResultDTO; |
|||
import com.elink.esua.epdc.modules.advice.entity.AdviceEntity; |
|||
import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO; |
|||
import com.elink.esua.epdc.modules.rocketmq.dto.RejectRecordDTO; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 用户建议表 |
|||
* |
|||
* @author qu qu@elink-cn.com |
|||
* @since v1.0.0 2021-03-02 |
|||
*/ |
|||
public interface AdviceService extends BaseService<AdviceEntity> { |
|||
|
|||
/** |
|||
* 默认分页 |
|||
* |
|||
* @param params |
|||
* @return PageData<AdviceDTO> |
|||
* @author generator |
|||
* @date 2021-03-02 |
|||
*/ |
|||
PageData<AdviceDTO> page(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 默认查询 |
|||
* |
|||
* @param params |
|||
* @return java.util.List<AdviceDTO> |
|||
* @author generator |
|||
* @date 2021-03-02 |
|||
*/ |
|||
List<AdviceDTO> list(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 单条查询 |
|||
* |
|||
* @param id |
|||
* @return AdviceDTO |
|||
* @author generator |
|||
* @date 2021-03-02 |
|||
*/ |
|||
AdviceDTO get(String id); |
|||
|
|||
/** |
|||
* 默认保存 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2021-03-02 |
|||
*/ |
|||
void save(AdviceDTO dto); |
|||
|
|||
/** |
|||
* 默认更新 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2021-03-02 |
|||
*/ |
|||
void update(AdviceDTO dto); |
|||
|
|||
/** |
|||
* 批量删除 |
|||
* |
|||
* @param ids |
|||
* @return void |
|||
* @author generator |
|||
* @date 2021-03-02 |
|||
*/ |
|||
void delete(String[] ids); |
|||
|
|||
/** |
|||
* 保存用户举报问题 |
|||
* |
|||
* @param formDto 提交信息 |
|||
* @return com.elink.esua.epdc.commons.tools.utils.Result |
|||
* @author songyunpeng |
|||
* @since 2021/03/02 17:32 |
|||
*/ |
|||
Result saveAdvice(AdviceSubmitFormDTO formDto); |
|||
|
|||
/** |
|||
* 用户举报问题列表 |
|||
* |
|||
* @param formDto 参数 |
|||
* @return java.util.List<com.elink.esua.epdc.dto.result.AdviceSubmitResultDTO> |
|||
* @author Liuchuang |
|||
* @since 2021/03/02 03:06 |
|||
*/ |
|||
List<AdviceResultDTO> listAdvice(AdviceListFormDTO formDto); |
|||
|
|||
/** |
|||
* 举报问题详情 |
|||
* |
|||
* @param id 记录ID |
|||
* @return com.elink.esua.epdc.dto.result.AdviceResultDTO |
|||
* @author Liuchuang |
|||
* @since 2021/03/02 03:40 |
|||
*/ |
|||
AdviceResultDTO getAdviceById(String id); |
|||
|
|||
/** |
|||
* 屏蔽举报问题 |
|||
* |
|||
* @param formDto 屏蔽提交信息 |
|||
* @return com.elink.esua.epdc.commons.tools.utils.Result |
|||
* @author Liuchuang |
|||
* @since 2021/03/02 16:41 |
|||
*/ |
|||
Result modifyAdviceShieldFlag(AdviceShieldFormDTO formDto); |
|||
/** |
|||
* @Description 我要举报修改组织机构信息 |
|||
* @Author songyunpeng |
|||
* @Date 2021/11/25 |
|||
* @Param [dto] |
|||
* @return void |
|||
**/ |
|||
void modifyOrganizationInfo(OrganizationModifyDTO dto); |
|||
/** |
|||
* @Description 违规删除 |
|||
* @Author songyunpeng |
|||
* @Date 2021/11/27 |
|||
* @Param [dto] |
|||
* @return void |
|||
**/ |
|||
void rejectActInfo(RejectRecordDTO dto); |
|||
} |
@ -0,0 +1,284 @@ |
|||
/** |
|||
* 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.elink.esua.epdc.modules.advice.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; |
|||
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; |
|||
import com.elink.esua.epdc.commons.tools.constant.NumConstant; |
|||
import com.elink.esua.epdc.commons.tools.page.PageData; |
|||
import com.elink.esua.epdc.commons.tools.security.content.CheckDataUtils; |
|||
import com.elink.esua.epdc.commons.tools.security.content.ModuleName; |
|||
import com.elink.esua.epdc.commons.tools.security.content.dto.form.ParentAndAllDeptDTO; |
|||
import com.elink.esua.epdc.commons.tools.security.content.dto.form.SaveCheckRecordsDTO; |
|||
import com.elink.esua.epdc.commons.tools.security.content.dto.result.CheckResultDTO; |
|||
import com.elink.esua.epdc.commons.tools.security.content.dto.result.CheckResultMessageDTO; |
|||
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.constant.CustomImageConstant; |
|||
import com.elink.esua.epdc.dto.AdviceDTO; |
|||
import com.elink.esua.epdc.dto.form.AdviceListFormDTO; |
|||
import com.elink.esua.epdc.dto.form.AdviceShieldFormDTO; |
|||
import com.elink.esua.epdc.dto.form.AdviceSubmitFormDTO; |
|||
import com.elink.esua.epdc.dto.result.AdviceResultDTO; |
|||
import com.elink.esua.epdc.modules.advice.dao.AdviceDao; |
|||
import com.elink.esua.epdc.modules.advice.entity.AdviceEntity; |
|||
import com.elink.esua.epdc.modules.advice.service.AdviceService; |
|||
import com.elink.esua.epdc.modules.feign.AdminFeignClient; |
|||
import com.elink.esua.epdc.modules.feign.ContentSecurityFeignClient; |
|||
import com.elink.esua.epdc.modules.reportissue.service.CustomImgService; |
|||
import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO; |
|||
import com.elink.esua.epdc.modules.rocketmq.dto.RejectRecordDTO; |
|||
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 qu qu@elink-cn.com |
|||
* @since v1.0.0 2021-03-02 |
|||
*/ |
|||
@Service |
|||
public class AdviceServiceImpl extends BaseServiceImpl<AdviceDao, AdviceEntity> implements AdviceService { |
|||
@Autowired |
|||
private CustomImgService customImgService; |
|||
|
|||
@Autowired |
|||
private AdminFeignClient adminFeignClient; |
|||
|
|||
|
|||
@Autowired |
|||
private ContentSecurityFeignClient contentSecurityFeign; |
|||
@Override |
|||
public PageData<AdviceDTO> page(Map<String, Object> params) { |
|||
// 检索条件
|
|||
String content = ""; |
|||
if (null != params && null != params.get("content")) { |
|||
content = (String)params.get("content"); |
|||
} |
|||
|
|||
String anonymousFlag = (String)params.get("anonymousFlag"); |
|||
String startTime = (String)params.get("startTime"); |
|||
String endTime = (String)params.get("endTime"); |
|||
|
|||
QueryWrapper<AdviceEntity> wrapper = new QueryWrapper<>(); |
|||
wrapper.like(StringUtils.isNotBlank(content), "CONTENT", content.trim()); |
|||
wrapper.eq(StringUtils.isNotBlank(anonymousFlag), "ANONYMOUS_FLAG", anonymousFlag); |
|||
wrapper.ge(StringUtils.isNotBlank(startTime), "DATE_FORMAT(CREATED_TIME, '%Y-%m-%d' )", startTime); |
|||
wrapper.le(StringUtils.isNotBlank(endTime), "DATE_FORMAT(CREATED_TIME, '%Y-%m-%d' )", endTime); |
|||
wrapper.eq(FieldConstant.DEL_FLAG, NumConstant.ZERO_STR); |
|||
|
|||
IPage<AdviceEntity> page = baseDao.selectPage( |
|||
getPage(params, FieldConstant.CREATED_TIME, false), |
|||
wrapper |
|||
); |
|||
return getPageData(page, AdviceDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
public List<AdviceDTO> list(Map<String, Object> params) { |
|||
List<AdviceEntity> entityList = baseDao.selectList(getWrapper(params)); |
|||
|
|||
return ConvertUtils.sourceToTarget(entityList, AdviceDTO.class); |
|||
} |
|||
|
|||
private QueryWrapper<AdviceEntity> getWrapper(Map<String, Object> params){ |
|||
String id = (String)params.get(FieldConstant.ID_HUMP); |
|||
|
|||
QueryWrapper<AdviceEntity> wrapper = new QueryWrapper<>(); |
|||
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|||
|
|||
return wrapper; |
|||
} |
|||
|
|||
@Override |
|||
public AdviceDTO get(String id) { |
|||
AdviceEntity entity = baseDao.selectById(id); |
|||
return ConvertUtils.sourceToTarget(entity, AdviceDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void save(AdviceDTO dto) { |
|||
AdviceEntity entity = ConvertUtils.sourceToTarget(dto, AdviceEntity.class); |
|||
insert(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void update(AdviceDTO dto) { |
|||
AdviceEntity entity = ConvertUtils.sourceToTarget(dto, AdviceEntity.class); |
|||
updateById(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void delete(String[] ids) { |
|||
// 逻辑删除(@TableLogic 注解)
|
|||
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public Result saveAdvice(AdviceSubmitFormDTO formDto) { |
|||
//内容审核 - start
|
|||
Boolean isConReview = formDto.getIsConReview(); |
|||
List<String> textList = new ArrayList<>(); |
|||
textList.add(formDto.getContent()); |
|||
// 获取所有上级机构名称和ID拼接
|
|||
ParentAndAllDeptDTO deptDto = adminFeignClient.getParentAndAllDept(formDto.getDeptId()).getData(); |
|||
CheckResultDTO contentResult = CheckDataUtils.checkContent(textList); |
|||
CheckResultDTO imgResult = CheckDataUtils.checkImgs(formDto.getImages()); |
|||
if(!isConReview && |
|||
((contentResult != null && !contentResult.getAllPass()) || (imgResult != null && !imgResult.getAllPass()))){ |
|||
//组装要保存的信息
|
|||
SaveCheckRecordsDTO record = CheckDataUtils.getPackageRecords(formDto.getUserId(), |
|||
formDto.getNickname(), CheckDataUtils.cate_two, CheckDataUtils.decision_one, ModuleName.REPORT_ISSUE.getCode(), textList, |
|||
formDto.getImages(), null,contentResult, imgResult,null,formDto.getMobile(),"0",deptDto); |
|||
contentSecurityFeign.insertViolationsRecord(record); |
|||
return new Result().error(CheckDataUtils.violations_code,CheckDataUtils.violations_message); |
|||
} |
|||
//内容审核 - end
|
|||
AdviceEntity entity = ConvertUtils.sourceToTarget(formDto, AdviceEntity.class); |
|||
if (insert(entity)) { |
|||
// 保存图片
|
|||
customImgService.saveImages(formDto.getImages(), entity.getId(), CustomImageConstant.IMAGE_TYPE_YJFW_JSQF_JBWT); |
|||
} |
|||
//内容审核 - start
|
|||
//接口异常,保存至待审核信息
|
|||
if((contentResult == null || imgResult == null) && !isConReview) { |
|||
SaveCheckRecordsDTO record = CheckDataUtils.getPackageRecords(formDto.getUserId(), |
|||
formDto.getNickname(), CheckDataUtils.cate_two, null,ModuleName.REPORT_ISSUE.getCode(), textList, |
|||
formDto.getImages(), entity.getId(),null,null, null,formDto.getMobile(),"1",deptDto); |
|||
contentSecurityFeign.insertRecords(record); |
|||
} |
|||
|
|||
//保存待审核记录
|
|||
if (contentResult != null && imgResult != null) { |
|||
CheckResultMessageDTO twoTypes = null; |
|||
if(isConReview){ |
|||
twoTypes = CheckDataUtils.saveTwoTypes(contentResult, imgResult); |
|||
}else{ |
|||
twoTypes = CheckDataUtils.checkTwoTypes(contentResult, imgResult); |
|||
} |
|||
if (CheckDataUtils.review.equals(twoTypes.getSuggestion())) { |
|||
//组装要保存的信息
|
|||
SaveCheckRecordsDTO record = CheckDataUtils.getPackageRecords(formDto.getUserId(), |
|||
formDto.getNickname(), CheckDataUtils.cate_two, null, ModuleName.REPORT_ISSUE.getCode(), textList, |
|||
formDto.getImages(), entity.getId(), null, null, twoTypes, formDto.getMobile(), "0",deptDto); |
|||
contentSecurityFeign.insertRecords(record); |
|||
} |
|||
} |
|||
//内容审核 - end
|
|||
|
|||
|
|||
return new Result(); |
|||
} |
|||
|
|||
@Override |
|||
public List<AdviceResultDTO> listAdvice(AdviceListFormDTO formDto) { |
|||
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize(); |
|||
formDto.setPageIndex(pageIndex); |
|||
return baseDao.selectListAdvice(formDto); |
|||
} |
|||
|
|||
@Override |
|||
public AdviceResultDTO getAdviceById(String id) { |
|||
return baseDao.selectOneAdvice(id); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public Result modifyAdviceShieldFlag(AdviceShieldFormDTO formDto) { |
|||
AdviceEntity entity = new AdviceEntity(); |
|||
entity.setId(formDto.getId()); |
|||
entity.setShieldReason(formDto.getShieldReason()); |
|||
entity.setShieldFlag(NumConstant.ONE_STR); |
|||
updateById(entity); |
|||
|
|||
return new Result(); |
|||
} |
|||
@Override |
|||
public void modifyOrganizationInfo(OrganizationModifyDTO dto) { |
|||
// 查询需要修改组织机构信息事件
|
|||
List<AdviceDTO> eventsList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString()); |
|||
if (null != eventsList && eventsList.size() > 0) { |
|||
// 组织机构信息处理
|
|||
List<AdviceEntity> entities = handleOrganizationInfo(dto, eventsList); |
|||
// 更新事件组织机构信息
|
|||
updateBatchById(entities); |
|||
} |
|||
|
|||
// 更新网格名称
|
|||
baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId()); |
|||
} |
|||
|
|||
@Override |
|||
public void rejectActInfo(RejectRecordDTO dto) { |
|||
baseDao.deleteById(dto.getRelationId()); |
|||
} |
|||
|
|||
/** |
|||
* 组织机构信息处理 |
|||
* |
|||
* @return java.util.List<com.elink.esua.epdc.entity.UserEntity> |
|||
* @params [dto, userList] |
|||
* @author liuchuang |
|||
* @since 2020/3/7 15:22 |
|||
*/ |
|||
private List<AdviceEntity> handleOrganizationInfo(OrganizationModifyDTO dto, List<AdviceDTO> userList) { |
|||
List<AdviceEntity> entities = new ArrayList<>(); |
|||
for (AdviceDTO user : userList) { |
|||
AdviceEntity entity = new AdviceEntity(); |
|||
if (StringUtils.isNotEmpty(user.getParentDeptIds()) && StringUtils.isNotEmpty(user.getParentDeptNames())) { |
|||
List<String> parentDeptIds = Arrays.asList(user.getParentDeptIds().split(",")); |
|||
List<String> parentDeptNames = Arrays.asList(user.getParentDeptNames().split("-")); |
|||
int index = parentDeptIds.indexOf(dto.getDeptId().toString()); |
|||
if (index >= 0 && parentDeptNames.size() > index) { |
|||
parentDeptNames.set(index, dto.getNewDeptName()); |
|||
entity.setId(user.getId()); |
|||
entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-")); |
|||
} |
|||
} |
|||
|
|||
if (StringUtils.isNotEmpty(user.getAllDeptIds()) && StringUtils.isNotEmpty(user.getAllDeptNames())) { |
|||
List<String> allDeptIds = Arrays.asList(user.getAllDeptIds().split(",")); |
|||
List<String> allDeptNames = Arrays.asList(user.getAllDeptNames().split("-")); |
|||
int index = allDeptIds.indexOf(dto.getDeptId().toString()); |
|||
if (index >= 0 && allDeptNames.size() > index) { |
|||
allDeptNames.set(index, dto.getNewDeptName()); |
|||
entity.setId(user.getId()); |
|||
entity.setAllDeptNames(StringUtils.join(allDeptNames, "-")); |
|||
} |
|||
} |
|||
|
|||
entities.add(entity); |
|||
} |
|||
|
|||
return entities; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,105 @@ |
|||
<?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.elink.esua.epdc.modules.advice.dao.AdviceDao"> |
|||
|
|||
<resultMap type="com.elink.esua.epdc.modules.advice.entity.AdviceEntity" id="adviceMap"> |
|||
<result property="id" column="ID"/> |
|||
<result property="content" column="CONTENT"/> |
|||
<result property="adviceUser" column="ADVICE_USER"/> |
|||
<result property="adviceUserMobile" column="ADVICE_USER_MOBILE"/> |
|||
<result property="anonymousFlag" column="ANONYMOUS_FLAG"/> |
|||
<result property="realName" column="REAL_NAME"/> |
|||
<result property="userId" column="USER_ID"/> |
|||
<result property="nickname" column="NICKNAME"/> |
|||
<result property="userFace" column="USER_FACE"/> |
|||
<result property="mobile" column="MOBILE"/> |
|||
<result property="deptId" column="DEPT_ID"/> |
|||
<result property="deptName" column="DEPT_NAME"/> |
|||
<result property="parentDeptIds" column="PARENT_DEPT_IDS"/> |
|||
<result property="parentDeptNames" column="PARENT_DEPT_NAMES"/> |
|||
<result property="allDeptIds" column="ALL_DEPT_IDS"/> |
|||
<result property="allDeptNames" column="ALL_DEPT_NAMES"/> |
|||
<result property="shieldFlag" column="SHIELD_FLAG"/> |
|||
<result property="shieldReason" column="SHIELD_REASON"/> |
|||
<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> |
|||
<resultMap type="com.elink.esua.epdc.dto.result.AdviceResultDTO" id="AdviceMap"> |
|||
<result property="id" column="ID"/> |
|||
<result property="content" column="CONTENT"/> |
|||
<result property="adviceUser" column="ADVICE_USER"/> |
|||
<result property="adviceUserMobile" column="ADVICE_USER_MOBILE"/> |
|||
<result property="anonymousFlag" column="ANONYMOUS_FLAG"/> |
|||
<result property="createdTime" column="CREATED_TIME"/> |
|||
<collection property="images" ofType="java.lang.String"> |
|||
<result property="image" column="IMG_URL"/> |
|||
</collection> |
|||
</resultMap> |
|||
|
|||
<select id="selectListAdvice" resultMap="AdviceMap"> |
|||
SELECT |
|||
ri.ID, |
|||
ri.CONTENT, |
|||
ri.ANONYMOUS_FLAG, |
|||
ri.ADVICE_USER, |
|||
ri.ADVICE_USER_MOBILE, |
|||
ri.CREATED_TIME, |
|||
ci.IMG_URL |
|||
FROM |
|||
epdc_advice ri |
|||
LEFT JOIN epdc_custom_img ci ON ci.REFERENCE_ID = ri.ID |
|||
AND ci.DEL_FLAG = '0' |
|||
WHERE |
|||
ri.ID IN ( |
|||
SELECT |
|||
t.ID |
|||
FROM |
|||
( SELECT ID FROM epdc_advice WHERE DEL_FLAG = '0' AND SHIELD_FLAG = '0' AND USER_ID = #{userId} ORDER BY CREATED_TIME DESC LIMIT #{pageIndex},#{pageSize} ) t |
|||
) |
|||
ORDER BY |
|||
ri.CREATED_TIME DESC, |
|||
ci.IMG_URL |
|||
</select> |
|||
|
|||
<select id="selectOneAdvice" resultMap="AdviceMap"> |
|||
SELECT |
|||
ri.ID, |
|||
ri.CONTENT, |
|||
ri.ANONYMOUS_FLAG, |
|||
ri.ADVICE_USER, |
|||
ri.ADVICE_USER_MOBILE, |
|||
ri.CREATED_TIME, |
|||
ci.IMG_URL |
|||
FROM |
|||
epdc_advice ri |
|||
LEFT JOIN epdc_custom_img ci ON ci.REFERENCE_ID = ri.ID |
|||
AND ci.DEL_FLAG = '0' |
|||
WHERE |
|||
ri.DEL_FLAG = '0' |
|||
AND ri.SHIELD_FLAG = '0' |
|||
AND ri.ID = #{id} |
|||
ORDER BY |
|||
ci.IMG_URL |
|||
</select> |
|||
<select id="selectListOfOrganizationInfo" resultType="com.elink.esua.epdc.dto.AdviceDTO"> |
|||
SELECT |
|||
ID, |
|||
PARENT_DEPT_IDS, |
|||
PARENT_DEPT_NAMES, |
|||
ALL_DEPT_IDS, |
|||
ALL_DEPT_NAMES |
|||
FROM |
|||
epdc_advice |
|||
WHERE |
|||
FIND_IN_SET( #{deptId}, ALL_DEPT_IDS ) |
|||
</select> |
|||
<update id="updateGridByDeptId"> |
|||
UPDATE epdc_advice SET DEPT_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE DEPT_ID = #{deptId} |
|||
</update> |
|||
|
|||
</mapper> |
Loading…
Reference in new issue