14 changed files with 667 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.elink.esua.epdc.dto; | ||||
|  | 
 | ||||
|  | import java.io.Serializable; | ||||
|  | import java.util.Date; | ||||
|  | import lombok.Data; | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | /** | ||||
|  |  * 用户已读新闻表 | ||||
|  |  * | ||||
|  |  * @author zhangyong | ||||
|  |  * @since v1.0.0 2020-05-15 | ||||
|  |  */ | ||||
|  | @Data | ||||
|  | public class NewsUserReadDTO implements Serializable { | ||||
|  | 
 | ||||
|  |     private static final long serialVersionUID = 1L; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * ID | ||||
|  |      */ | ||||
|  | 	private String id; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 用户ID | ||||
|  |      */ | ||||
|  | 	private String userId; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 新闻ID | ||||
|  |      */ | ||||
|  | 	private String newsId; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 删除标识 0-否,1-是 | ||||
|  |      */ | ||||
|  | 	private String delFlag; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 乐观锁 | ||||
|  |      */ | ||||
|  | 	private Integer revision; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 创建人 | ||||
|  |      */ | ||||
|  | 	private String createdBy; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 创建时间 | ||||
|  |      */ | ||||
|  | 	private Date createdTime; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 更新人 | ||||
|  |      */ | ||||
|  | 	private String updatedBy; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 更新时间 | ||||
|  |      */ | ||||
|  | 	private Date updatedTime; | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,94 @@ | |||||
|  | /** | ||||
|  |  * 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.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.UpdateGroup; | ||||
|  | import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; | ||||
|  | import com.elink.esua.epdc.dto.NewsUserReadDTO; | ||||
|  | import com.elink.esua.epdc.excel.NewsUserReadExcel; | ||||
|  | import com.elink.esua.epdc.service.NewsUserReadService; | ||||
|  | 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 zhangyong | ||||
|  |  * @since v1.0.0 2020-05-15 | ||||
|  |  */ | ||||
|  | @RestController | ||||
|  | @RequestMapping("newsuserread") | ||||
|  | public class NewsUserReadController { | ||||
|  | 
 | ||||
|  |     @Autowired | ||||
|  |     private NewsUserReadService newsUserReadService; | ||||
|  | 
 | ||||
|  |     @GetMapping("page") | ||||
|  |     public Result<PageData<NewsUserReadDTO>> page(@RequestParam Map<String, Object> params){ | ||||
|  |         PageData<NewsUserReadDTO> page = newsUserReadService.page(params); | ||||
|  |         return new Result<PageData<NewsUserReadDTO>>().ok(page); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @GetMapping("{id}") | ||||
|  |     public Result<NewsUserReadDTO> get(@PathVariable("id") String id){ | ||||
|  |         NewsUserReadDTO data = newsUserReadService.get(id); | ||||
|  |         return new Result<NewsUserReadDTO>().ok(data); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @PostMapping | ||||
|  |     public Result save(@RequestBody NewsUserReadDTO dto){ | ||||
|  |         //效验数据
 | ||||
|  |         ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); | ||||
|  |         newsUserReadService.save(dto); | ||||
|  |         return new Result(); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @PutMapping | ||||
|  |     public Result update(@RequestBody NewsUserReadDTO dto){ | ||||
|  |         //效验数据
 | ||||
|  |         ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); | ||||
|  |         newsUserReadService.update(dto); | ||||
|  |         return new Result(); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @DeleteMapping | ||||
|  |     public Result delete(@RequestBody String[] ids){ | ||||
|  |         //效验数据
 | ||||
|  |         AssertUtils.isArrayEmpty(ids, "id"); | ||||
|  |         newsUserReadService.delete(ids); | ||||
|  |         return new Result(); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @GetMapping("export") | ||||
|  |     public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { | ||||
|  |         List<NewsUserReadDTO> list = newsUserReadService.list(params); | ||||
|  |         ExcelUtils.exportExcelToTarget(response, null, list, NewsUserReadExcel.class); | ||||
|  |     } | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,42 @@ | |||||
|  | /** | ||||
|  |  * 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.dao; | ||||
|  | 
 | ||||
|  | import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; | ||||
|  | import com.elink.esua.epdc.dto.epdc.form.EpdcNewsDetailFormDTO; | ||||
|  | import com.elink.esua.epdc.entity.NewsUserReadEntity; | ||||
|  | import org.apache.ibatis.annotations.Mapper; | ||||
|  | 
 | ||||
|  | /** | ||||
|  |  * 用户已读新闻表 | ||||
|  |  * | ||||
|  |  * @author zhangyong | ||||
|  |  * @since v1.0.0 2020-05-15 | ||||
|  |  */ | ||||
|  | @Mapper | ||||
|  | public interface NewsUserReadDao extends BaseDao<NewsUserReadEntity> { | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 判断当前新闻,用户是否已读 | ||||
|  |      * @param formDto | ||||
|  |      * @return int | ||||
|  |      * @Author zhangyong | ||||
|  |      * @Date 10:40 2020-05-15 | ||||
|  |      **/ | ||||
|  |     int selectCountNewsIsRead(EpdcNewsDetailFormDTO formDto); | ||||
|  | } | ||||
| @ -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.elink.esua.epdc.entity; | ||||
|  | 
 | ||||
|  | import com.baomidou.mybatisplus.annotation.TableName; | ||||
|  | 
 | ||||
|  | import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; | ||||
|  | import lombok.Data; | ||||
|  | import lombok.EqualsAndHashCode; | ||||
|  | 
 | ||||
|  | import java.util.Date; | ||||
|  | 
 | ||||
|  | /** | ||||
|  |  * 用户已读新闻表 | ||||
|  |  * | ||||
|  |  * @author zhangyong | ||||
|  |  * @since v1.0.0 2020-05-15 | ||||
|  |  */ | ||||
|  | @Data | ||||
|  | @EqualsAndHashCode(callSuper=false) | ||||
|  | @TableName("epdc_news_user_read") | ||||
|  | public class NewsUserReadEntity extends BaseEpdcEntity { | ||||
|  | 
 | ||||
|  | 	private static final long serialVersionUID = 1L; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 用户ID | ||||
|  |      */ | ||||
|  | 	private String userId; | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 新闻ID | ||||
|  |      */ | ||||
|  | 	private String newsId; | ||||
|  | 
 | ||||
|  | } | ||||
| @ -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.elink.esua.epdc.excel; | ||||
|  | 
 | ||||
|  | import cn.afterturn.easypoi.excel.annotation.Excel; | ||||
|  | import lombok.Data; | ||||
|  | 
 | ||||
|  | import java.util.Date; | ||||
|  | 
 | ||||
|  | /** | ||||
|  |  * 用户已读新闻表 | ||||
|  |  * | ||||
|  |  * @author zhangyong | ||||
|  |  * @since v1.0.0 2020-05-15 | ||||
|  |  */ | ||||
|  | @Data | ||||
|  | public class NewsUserReadExcel { | ||||
|  | 
 | ||||
|  |     @Excel(name = "ID") | ||||
|  |     private String id; | ||||
|  | 
 | ||||
|  |     @Excel(name = "用户ID") | ||||
|  |     private String userId; | ||||
|  | 
 | ||||
|  |     @Excel(name = "新闻ID") | ||||
|  |     private String newsId; | ||||
|  | 
 | ||||
|  |     @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.redis; | ||||
|  | 
 | ||||
|  | import com.elink.esua.epdc.commons.tools.redis.RedisUtils; | ||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||
|  | import org.springframework.stereotype.Component; | ||||
|  | 
 | ||||
|  | /** | ||||
|  |  * 用户已读新闻表 | ||||
|  |  * | ||||
|  |  * @author zhangyong | ||||
|  |  * @since v1.0.0 2020-05-15 | ||||
|  |  */ | ||||
|  | @Component | ||||
|  | public class NewsUserReadRedis { | ||||
|  |     @Autowired | ||||
|  |     private RedisUtils redisUtils; | ||||
|  | 
 | ||||
|  |     public void delete(Object[] ids) { | ||||
|  | 
 | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public void set(){ | ||||
|  | 
 | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public String get(String id){ | ||||
|  |         return null; | ||||
|  |     } | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,105 @@ | |||||
|  | /** | ||||
|  |  * 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.service; | ||||
|  | 
 | ||||
|  | import com.elink.esua.epdc.commons.mybatis.service.BaseService; | ||||
|  | import com.elink.esua.epdc.commons.tools.page.PageData; | ||||
|  | import com.elink.esua.epdc.dto.NewsUserReadDTO; | ||||
|  | import com.elink.esua.epdc.dto.epdc.form.EpdcNewsDetailFormDTO; | ||||
|  | import com.elink.esua.epdc.entity.NewsUserReadEntity; | ||||
|  | 
 | ||||
|  | import java.util.List; | ||||
|  | import java.util.Map; | ||||
|  | 
 | ||||
|  | /** | ||||
|  |  * 用户已读新闻表 | ||||
|  |  * | ||||
|  |  * @author zhangyong | ||||
|  |  * @since v1.0.0 2020-05-15 | ||||
|  |  */ | ||||
|  | public interface NewsUserReadService extends BaseService<NewsUserReadEntity> { | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 默认分页 | ||||
|  |      * | ||||
|  |      * @param params | ||||
|  |      * @return PageData<NewsUserReadDTO> | ||||
|  |      * @author generator | ||||
|  |      * @date 2020-05-15 | ||||
|  |      */ | ||||
|  |     PageData<NewsUserReadDTO> page(Map<String, Object> params); | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 默认查询 | ||||
|  |      * | ||||
|  |      * @param params | ||||
|  |      * @return java.util.List<NewsUserReadDTO> | ||||
|  |      * @author generator | ||||
|  |      * @date 2020-05-15 | ||||
|  |      */ | ||||
|  |     List<NewsUserReadDTO> list(Map<String, Object> params); | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 单条查询 | ||||
|  |      * | ||||
|  |      * @param id | ||||
|  |      * @return NewsUserReadDTO | ||||
|  |      * @author generator | ||||
|  |      * @date 2020-05-15 | ||||
|  |      */ | ||||
|  |     NewsUserReadDTO get(String id); | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 默认保存 | ||||
|  |      * | ||||
|  |      * @param dto | ||||
|  |      * @return void | ||||
|  |      * @author generator | ||||
|  |      * @date 2020-05-15 | ||||
|  |      */ | ||||
|  |     void save(NewsUserReadDTO dto); | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 默认更新 | ||||
|  |      * | ||||
|  |      * @param dto | ||||
|  |      * @return void | ||||
|  |      * @author generator | ||||
|  |      * @date 2020-05-15 | ||||
|  |      */ | ||||
|  |     void update(NewsUserReadDTO dto); | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 批量删除 | ||||
|  |      * | ||||
|  |      * @param ids | ||||
|  |      * @return void | ||||
|  |      * @author generator | ||||
|  |      * @date 2020-05-15 | ||||
|  |      */ | ||||
|  |     void delete(String[] ids); | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * 判断当前新闻,用户是否已读 | ||||
|  |      * @param formDto | ||||
|  |      * @return int | ||||
|  |      * @Author zhangyong | ||||
|  |      * @Date 10:40 2020-05-15 | ||||
|  |      **/ | ||||
|  |     int countNewsIsRead(EpdcNewsDetailFormDTO formDto); | ||||
|  | } | ||||
| @ -0,0 +1,110 @@ | |||||
|  | /** | ||||
|  |  * 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.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.page.PageData; | ||||
|  | import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; | ||||
|  | import com.elink.esua.epdc.commons.tools.constant.FieldConstant; | ||||
|  | import com.elink.esua.epdc.dao.NewsUserReadDao; | ||||
|  | import com.elink.esua.epdc.dto.NewsUserReadDTO; | ||||
|  | import com.elink.esua.epdc.dto.epdc.form.EpdcNewsDetailFormDTO; | ||||
|  | import com.elink.esua.epdc.entity.NewsUserReadEntity; | ||||
|  | import com.elink.esua.epdc.redis.NewsUserReadRedis; | ||||
|  | import com.elink.esua.epdc.service.NewsUserReadService; | ||||
|  | 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.Arrays; | ||||
|  | import java.util.List; | ||||
|  | import java.util.Map; | ||||
|  | 
 | ||||
|  | /** | ||||
|  |  * 用户已读新闻表 | ||||
|  |  * | ||||
|  |  * @author zhangyong | ||||
|  |  * @since v1.0.0 2020-05-15 | ||||
|  |  */ | ||||
|  | @Service | ||||
|  | public class NewsUserReadServiceImpl extends BaseServiceImpl<NewsUserReadDao, NewsUserReadEntity> implements NewsUserReadService { | ||||
|  | 
 | ||||
|  |     @Autowired | ||||
|  |     private NewsUserReadRedis newsUserReadRedis; | ||||
|  | 
 | ||||
|  |     @Override | ||||
|  |     public PageData<NewsUserReadDTO> page(Map<String, Object> params) { | ||||
|  |         IPage<NewsUserReadEntity> page = baseDao.selectPage( | ||||
|  |                 getPage(params, FieldConstant.CREATED_TIME, false), | ||||
|  |                 getWrapper(params) | ||||
|  |         ); | ||||
|  |         return getPageData(page, NewsUserReadDTO.class); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @Override | ||||
|  |     public List<NewsUserReadDTO> list(Map<String, Object> params) { | ||||
|  |         List<NewsUserReadEntity> entityList = baseDao.selectList(getWrapper(params)); | ||||
|  | 
 | ||||
|  |         return ConvertUtils.sourceToTarget(entityList, NewsUserReadDTO.class); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     private QueryWrapper<NewsUserReadEntity> getWrapper(Map<String, Object> params){ | ||||
|  |         String id = (String)params.get(FieldConstant.ID_HUMP); | ||||
|  | 
 | ||||
|  |         QueryWrapper<NewsUserReadEntity> wrapper = new QueryWrapper<>(); | ||||
|  |         wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); | ||||
|  | 
 | ||||
|  |         return wrapper; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @Override | ||||
|  |     public NewsUserReadDTO get(String id) { | ||||
|  |         NewsUserReadEntity entity = baseDao.selectById(id); | ||||
|  |         return ConvertUtils.sourceToTarget(entity, NewsUserReadDTO.class); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @Override | ||||
|  |     @Transactional(rollbackFor = Exception.class) | ||||
|  |     public void save(NewsUserReadDTO dto) { | ||||
|  |         NewsUserReadEntity entity = ConvertUtils.sourceToTarget(dto, NewsUserReadEntity.class); | ||||
|  |         insert(entity); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @Override | ||||
|  |     @Transactional(rollbackFor = Exception.class) | ||||
|  |     public void update(NewsUserReadDTO dto) { | ||||
|  |         NewsUserReadEntity entity = ConvertUtils.sourceToTarget(dto, NewsUserReadEntity.class); | ||||
|  |         updateById(entity); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @Override | ||||
|  |     @Transactional(rollbackFor = Exception.class) | ||||
|  |     public void delete(String[] ids) { | ||||
|  |         // 逻辑删除(@TableLogic 注解)
 | ||||
|  |         baseDao.deleteBatchIds(Arrays.asList(ids)); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @Override | ||||
|  |     public int countNewsIsRead(EpdcNewsDetailFormDTO formDto) { | ||||
|  |         return baseDao.selectCountNewsIsRead(formDto); | ||||
|  |     } | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,27 @@ | |||||
|  | <?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.dao.NewsUserReadDao"> | ||||
|  | 
 | ||||
|  |     <resultMap type="com.elink.esua.epdc.entity.NewsUserReadEntity" id="newsUserReadMap"> | ||||
|  |         <result property="id" column="ID"/> | ||||
|  |         <result property="userId" column="USER_ID"/> | ||||
|  |         <result property="newsId" column="NEWS_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> | ||||
|  | 
 | ||||
|  |     <select id="selectCountNewsIsRead" resultType="int"> | ||||
|  |         SELECT | ||||
|  |           COUNT(1) | ||||
|  |         FROM | ||||
|  |           `epdc_news_user_read` | ||||
|  |         WHERE DEL_FLAG = 0 | ||||
|  |         AND USER_ID = #{userId} AND NEWS_ID = #{newsId} | ||||
|  |     </select> | ||||
|  | 
 | ||||
|  | </mapper> | ||||
					Loading…
					
					
				
		Reference in new issue