springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActPictureVO.java
New file @@ -0,0 +1,40 @@ package com.panzhihua.common.model.vos.community; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * title: ComActActPictureDO 社区》活动》历史上传图片实体类 * projectName 成都呐喊信息技术有限公司-智慧社区项目 * description: 社区》活动》历史上传图片实体类 * * @author txb * @date 2021/8/27 14:21 */ @Data @ApiModel("社区活动封面") public class ComActActPictureVO { @ApiModelProperty("自增id") private Long id; @ApiModelProperty("所属活动id") private Long activityId; @ApiModelProperty("用户id, 和用户信息表的相关id关联") private Long userId; @ApiModelProperty("上传时间") private Date createAt; @ApiModelProperty("上传图片") private String uploadPicture; @ApiModelProperty("图片名称") private String pictureName; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActivityVO.java
@@ -147,7 +147,7 @@ private Integer isVolunteer = 0; @ApiModelProperty(value = "当前登录者id", hidden = true) private Integer userId; private Long userId; @ApiModelProperty("活动参加普通人员集合") private List<ActivitySignVO> activitySignVOList; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -2,6 +2,7 @@ import java.util.List; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @@ -193,6 +194,16 @@ R getRegistLists(@RequestBody ComActActRegistVO comActActRegistVO); /** * description getRegistLists 查询活动未签到 * @param comActActRegistVO 查询参数 * @return R 查询结果 * @author txb * @date 2021/8/25 9:33 */ @PostMapping("/activity/noRegist/getList") R getNoRegistLists(@RequestBody ComActActRegistVO comActActRegistVO); /** * description activityStagistics 活动数据统计 * @param activityId 活动id * @return R 统计结果 @@ -203,6 +214,16 @@ R activityStatistics(@RequestParam("activityId") Long activityId); /** * 获取活动历史封面 getPictureList * @param userId 用户id * @return R 统计结果 * @author txb * @date 2021/8/27 13:33 */ @GetMapping("/activity/picture/getList") R getPictureList(@RequestParam("userId") Long userId); /** * 活动报名名单 * * @param activitySignVO springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml
@@ -68,6 +68,16 @@ <artifactId>minio</artifactId> <version>6.0.8</version> </dependency> <dependency> <groupId>org.jxls</groupId> <artifactId>jxls</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.jxls</groupId> <artifactId>jxls-poi</artifactId> <version>1.1.0</version> </dependency> </dependencies> <build> springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityActivityApi.java
@@ -95,10 +95,11 @@ @ApiOperation(value = "新增社区活动") @PostMapping("activity") public R addActivity(@RequestBody ComActActivityVO ComActActivityVO) { public R addActivity(@RequestBody ComActActivityVO comActActivityVO) { Long communityId = this.getCommunityId(); ComActActivityVO.setCommunityId(communityId); return communityService.addActivity(ComActActivityVO); comActActivityVO.setCommunityId(communityId); comActActivityVO.setUserId(this.getLoginUserInfo().getUserId()); return communityService.addActivity(comActActivityVO); } @ApiOperation(value = "编辑社区活动") @@ -407,6 +408,63 @@ return communityService.activityStatistics(activityId); } @ApiOperation(value = "excel导出活动签到统计") @GetMapping("statistics/export") public R activityStatisticsExport(@RequestBody ComActActRegistVO comActActRegistVO){ String name = "活动签到统计导出数据.xlsx"; String ftpUrl = "/mnt/data/web/excel/"; //活动签到人员 R r = communityService.getRegistLists(comActActRegistVO); //活动未签到人员 R r1 = communityService.getNoRegistLists(comActActRegistVO); if (R.isOk(r)) { List<ComActActRegistExcelVO> excelVOS = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComActActRegistExcelVO.class); try { SFTPUtil sftp = new SFTPUtil(userName, password, host, port); sftp.login(); boolean existDir = sftp.isExistDir(ftpUrl + name); if (!existDir) { String property = System.getProperty("user.dir"); String fileName = property + File.separator + name; // 这里 需要指定写用哪个class去写 ExcelWriter excelWriter = null; InputStream inputStream = null; try { excelWriter = EasyExcel.write(fileName, ComActActRegistExcelVO.class) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .registerWriteHandler(new CustomSheetWriteHandler()).build(); WriteSheet writeSheet = EasyExcel.writerSheet("活动签到导出数据").build(); excelWriter.write(excelVOS, writeSheet); excelWriter.finish(); File file = new File(fileName); inputStream = new FileInputStream(file); sftp.uploadMore(ftpUrl, name, inputStream); sftp.logout(); inputStream.close(); String absolutePath = file.getAbsolutePath(); boolean delete = file.delete(); log.info("删除excel【{}】结果【{}】", absolutePath, delete); } finally { // 千万别忘记finish 会帮忙关闭流 if (inputStream != null) { inputStream.close(); } if (excelWriter != null) { excelWriter.finish(); } } } return R.ok(excelUrl + name); } catch (Exception e) { e.printStackTrace(); log.error("文件传输失败【{}】", e.getMessage()); return R.fail(); } } return R.fail("未查询到用户"); } @ApiOperation(value = "社区活动签到二维码下载") @GetMapping("qrCode/export") public R activityRegistQRCodeExport(@RequestParam("activityId") Long activityId){ @@ -479,6 +537,13 @@ } } @ApiOperation(value = "社区活动查询历史封面") @GetMapping("picture/getList") public R getPictureList() { Long userId = this.getLoginUserInfo().getUserId(); return communityService.getPictureList(userId); } @ApiOperation(value = "新增社区动态") @PostMapping("dynamic") public R addDynamic(@RequestBody ComActDynVO comActDynVO) { springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -432,6 +432,18 @@ } /** * description getRegistLists 查询活动未签到 * @param comActActRegistVO 查询参数 * @return R 查询结果 * @author txb * @date 2021/8/25 9:33 */ @PostMapping("activity/noRegist/getList") public R getNoRegistLists(@RequestBody ComActActRegistVO comActActRegistVO){ return comActActivityService.getNoRegistLists(comActActRegistVO); } /** * description activityStagistics 活动数据统计 * @param activityId 活动id * @return R 统计结果 @@ -444,6 +456,18 @@ } /** * 获取活动历史封面 getPictureList * @param userId 用户id * @return R 统计结果 * @author txb * @date 2021/8/27 13:33 */ @GetMapping("/activity/picture/getList") public R getPictureList(@RequestParam("userId") Long userId){ return comActActivityService.getPictureList(userId); } /** * 新增社区动态 * * @param comActDynVO springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActPictureDAO.java
New file @@ -0,0 +1,18 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.service_community.model.dos.ComActActPictureDO; import org.apache.ibatis.annotations.Mapper; /** * title: ComActActPictureDAO 社区》活动》历史上传图片mapper类 * projectName 成都呐喊信息技术有限公司-智慧社区项目 * description: 社区》活动》历史上传图片mapper类 * * @author txb * @date 2021/8/24 10:21 */ @Mapper public interface ComActActPictureDAO extends BaseMapper<ComActActPictureDO> { } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActActPictureDO.java
New file @@ -0,0 +1,67 @@ package com.panzhihua.service_community.model.dos; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * title: ComActActPictureDO 社区》活动》历史上传图片实体类 * projectName 成都呐喊信息技术有限公司-智慧社区项目 * description: 社区》活动》历史上传图片实体类 * * @author txb * @date 2021/8/27 14:21 */ @Data @TableName("com_act_act_picture") public class ComActActPictureDO implements Serializable { private static final long serialVersionUID = 1L; /** * 主键id */ @TableId(type = IdType.AUTO) private Long id; /** * 所属活动id */ private Long activityId; /** * 用户id, 和用户信息表的相关id关联 */ private Long userId; /** * 上传时间 */ @TableField(fill = FieldFill.INSERT) private Date createAt; /** * 上传图片 */ private String uploadPicture; /** * 图片名称 */ private String pictureName; @Override public String toString() { return "ComActActPictureDO{" + "id=" + id + ", activityId=" + activityId + ", userId=" + userId + ", createAt=" + createAt + ", uploadPicture=" + uploadPicture + ", pictureName=" + pictureName + "}"; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActActPictureService.java
New file @@ -0,0 +1,16 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.service_community.model.dos.ComActActPictureDO; /** * title: ComActActPictureService 社区》活动》历史上传图片服务类 * projectName 成都呐喊信息技术有限公司-智慧社区项目 * description: 社区》活动》历史上传图片服务类 * * @author txb * @date 2021/8/24 10:21 */ public interface ComActActPictureService extends IService<ComActActPictureDO> { } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActActivityService.java
@@ -8,6 +8,7 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.service_community.model.dos.ComActActivityDO; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; @@ -139,6 +140,15 @@ R getRegistLists(ComActActRegistVO comActActRegistVO); /** * description getRegistLists 查询活动未签到 * @param comActActRegistVO 查询参数 * @return R 查询结果 * @author txb * @date 2021/8/25 9:33 */ R getNoRegistLists(ComActActRegistVO comActActRegistVO); /** * description activityStagistics 活动数据统计 * @param activityId 活动id * @return R 统计结果 @@ -148,6 +158,15 @@ R activityStatistics(Long activityId); /** * 获取活动历史封面 getPictureList * @param userId 用户id * @return R 统计结果 * @author txb * @date 2021/8/27 13:33 */ R getPictureList(Long userId); /** * 分页展示我的所有活动 时间倒序排列 * * @param comActActivityVO springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActPictureServiceImpl.java
New file @@ -0,0 +1,22 @@ package com.panzhihua.service_community.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.service_community.dao.ComActActPictureDAO; import com.panzhihua.service_community.model.dos.ComActActPictureDO; import com.panzhihua.service_community.service.ComActActPictureService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; /** * title: ComActActPictureServiceImpl 社区》活动》历史上传图片服务实现类 * projectName 成都呐喊信息技术有限公司-智慧社区项目 * description: 社区》活动》历史上传图片服务实现类 * * @author txb * @date 2021/8/24 10:21 */ @Slf4j @Service public class ComActActPictureServiceImpl extends ServiceImpl<ComActActPictureDAO, ComActActPictureDO> implements ComActActPictureService { } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -6,9 +6,10 @@ import javax.annotation.Resource; import com.panzhihua.service_community.dao.ComActActEvaluateDAO; import com.panzhihua.service_community.dao.ComActActRegistDAO; import com.panzhihua.common.model.vos.screen.ComActPopulationCultureVO; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.ComActActEvaluateDO; import com.panzhihua.service_community.model.dos.ComActActPictureDO; import org.apache.commons.lang3.time.DateUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -30,8 +31,6 @@ import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.WxUtil; import com.panzhihua.common.utlis.WxXCXTempSend; import com.panzhihua.service_community.dao.ComActActSignDAO; import com.panzhihua.service_community.dao.ComActActivityDAO; import com.panzhihua.service_community.model.dos.ComActActSignDO; import com.panzhihua.service_community.model.dos.ComActActivityDO; import com.panzhihua.service_community.service.ComActActivityService; @@ -58,6 +57,8 @@ private ComActActEvaluateDAO comActActEvaluateDAO; @Resource private ComActActRegistDAO comActActRegistDAO; @Resource private ComActActPictureDAO comActActPictureDAO; /** * 新增社区活动 @@ -94,6 +95,13 @@ .eq(ComActActivityDO::getActivityName, comActActivityDO.getActivityName()) .orderByDesc(ComActActivityDO::getCreateAt).last(" limit 1 ")); Long activityId = one.getId(); //保存上传照片 ComActActPictureDO comActActPictureDO = new ComActActPictureDO(); comActActPictureDO.setActivityId(activityId); comActActPictureDO.setUserId(comActActivityVO.getUserId()); comActActPictureDO.setUploadPicture(comActActivityVO.getCover()); comActActPictureDAO.insert(comActActPictureDO); return R.ok(activityId); } @@ -302,6 +310,11 @@ } @Override public R getNoRegistLists(ComActActRegistVO comActActRegistVO) { return null; } @Override public R activityStatistics(Long activityId) { ComActActivityStatisticsVO comActActivityStatisticsVO = comActActivityDAO.activityStatistics(activityId); if (comActActivityStatisticsVO != null) { @@ -320,6 +333,21 @@ return R.ok(comActActivityStatisticsVO); } @Override public R getPictureList(Long userId) { List<ComActActPictureVO> comActActPictureVOS = new ArrayList<>(); List<ComActActPictureDO> comActActPictureDOS = comActActPictureDAO.selectList(new QueryWrapper<ComActActPictureDO>().lambda(). eq(ComActActPictureDO::getUserId, userId)); if (comActActPictureDOS != null && comActActPictureDOS.size() != 0) { comActActPictureDOS.forEach(comActActPictureDO -> { ComActActPictureVO comActActPictureVO = new ComActActPictureVO(); BeanUtils.copyProperties(comActActPictureDO, comActActPictureVO); comActActPictureVOS.add(comActActPictureVO); }); } return R.ok(comActActPictureVOS); } /** * 分页展示我的所有活动 时间倒序排列 * springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -550,7 +550,7 @@ try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(31L); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); @@ -560,7 +560,7 @@ // 查询当前社区标签列表 List<String> labelList = new ArrayList<>(); List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId)); .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", 31)); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); @@ -632,7 +632,7 @@ log.info("开始查询小区街路巷是否存在"); // 查询小区街路巷是否存在 ComMngVillageDO comMngVillageDO = null; String villageKey = communityId + vo.getRoad() + vo.getDoorNo(); String villageKey = 31 + vo.getRoad() + vo.getDoorNo(); if (!isOnly(villageKey, villageMap)) { comMngVillageDO = (ComMngVillageDO)villageMap.get(villageKey); } else { springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActPictureMapper.xml
New file @@ -0,0 +1,20 @@ <?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.panzhihua.service_community.dao.ComActActPictureDAO"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActActPictureDO"> <id column="id" property="id" /> <result column="activity_id" property="activityId" /> <result column="user_id" property="userId" /> <result column="create_at" property="createAt" /> <result column="upload_picture" property="uploadPicture" /> <result column="picture_name" property="pictureName" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, activity_id, user_id, create_at, upload_picture, picture_name </sql> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActRegistMapper.xml
@@ -47,6 +47,9 @@ <if test="comActActRegistVO.name != null and comActActRegistVO.name !=''"> AND su.`name` = #{comActActRegistVO.name} </if> <if test="comActActRegistVO.tags != null and comActActRegistVO.tags !=''"> AND su.tags like ('%', #{comActActRegistVO.tags}, '%') </if> <if test="comActActRegistVO.createAt != null"> AND caar.create_at = #{comActActRegistVO.createAt} </if> @@ -78,6 +81,9 @@ <if test="comActActRegistVO.name != null and comActActRegistVO.name !=''"> AND su.`name` = #{comActActRegistVO.name} </if> <if test="comActActRegistVO.tags != null and comActActRegistVO.tags !=''"> AND su.tags like ('%', #{comActActRegistVO.tags}, '%') </if> <if test="comActActRegistVO.createAt != null"> AND caar.create_at = #{comActActRegistVO.createAt} </if>