Browse Source

积分统计管理部分代码提交

feature/syp_points
songyunpeng 5 years ago
parent
commit
a37cf749bb
  1. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java
  2. 8
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiResidentConfigController.java
  3. 8
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java
  4. 8
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java
  5. 8
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java
  6. 128
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserPointsDTO.java
  7. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java
  8. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
  9. 17
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  10. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  11. 46
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

14
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiNewsController.java

@ -151,11 +151,23 @@ public class ApiNewsController {
*
*/
@PostMapping("news/browse")
@RecordUserBehavior(behavior = BehaviorEnum.NEWS_BROWSE, referenceId = "#{newsBrowseFromDTO.getNewsId}", userId = "#{userDetail.getUserId}")
public Result modifyNewsBrowse(@LoginUser TokenDto userDetail,@RequestBody EpdcNewsBrowseFromDTO newsBrowseFromDTO) {
ValidatorUtils.validateEntity(newsBrowseFromDTO);
return newsService.modifyNewsBrowse(userDetail,newsBrowseFromDTO);
}
/**
* @Description 新闻浏览有效加积分
* @Author songyunpeng
* @Date 2020/6/9
* @Param [userDetail, newsBrowseFromDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
@PostMapping("news/browsePoints")
@RecordUserBehavior(behavior = BehaviorEnum.NEWS_BROWSE, referenceId = "#{newsBrowseFromDTO.getNewsId}", userId = "#{userDetail.getUserId}")
public Result browsePoints(@LoginUser TokenDto userDetail,@RequestBody EpdcNewsBrowseFromDTO newsBrowseFromDTO) {
ValidatorUtils.validateEntity(newsBrowseFromDTO);
return newsService.browsePoints(userDetail,newsBrowseFromDTO);
}
/**
* 用户消息已读

8
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiResidentConfigController.java

@ -24,7 +24,13 @@ public class ApiResidentConfigController {
@Autowired
private ResidentConfigService residentConfigService;
/**
* @Description 新闻浏览积分有效浏览时长
* @Author songyunpeng
* @Date 2020/6/9
* @Param [residentType]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.ResidentConfigResultDTO>>
**/
@GetMapping("getResidentConfig/{residentType}")
public Result<List<ResidentConfigResultDTO>> getImgUrlList(@PathVariable("residentType") String residentType){
return residentConfigService.listResidentConfig(residentType);

8
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/NewsService.java

@ -144,4 +144,12 @@ public interface NewsService {
* @Date 09:46 2020-05-19
**/
Result<List<EpdcNoticeListResultDTO>> listV2Notice(TokenDto userDetail, EpdcNoticeListV2FormDTO formDto);
/**
* @Description 新闻浏览有效时间内加积分接口
* @Author songyunpeng
* @Date 2020/6/9
* @Param [userDetail, newsBrowseFromDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
Result browsePoints(TokenDto userDetail, EpdcNewsBrowseFromDTO newsBrowseFromDTO);
}

8
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java

@ -111,4 +111,12 @@ public class NewsServiceImpl implements NewsService {
formDto.setDeptId(userDetail.getGridId());
return newsFeignClient.listV2Notice(formDto);
}
@Override
public Result browsePoints(TokenDto userDetail, EpdcNewsBrowseFromDTO newsBrowseFromDTO) {
if(userDetail!=null){
newsBrowseFromDTO.setUserId(userDetail.getUserId());
}
return new Result();
}
}

8
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java

@ -21,13 +21,9 @@ import com.elink.esua.epdc.service.PointsRuleService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.spring.annotation.MessageModel;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
@ -37,8 +33,8 @@ import java.util.List;
* @Date2020/4/28 13:44
*/
@Slf4j
@Component
@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_POINTS, consumerGroup = "${rocketmq.consumer.points-group}", messageModel = MessageModel.BROADCASTING)
//@Component
//@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_POINTS, consumerGroup = "${rocketmq.consumer.points-group}", messageModel = MessageModel.BROADCASTING)
public class PointsModifyConsumer implements RocketMQListener<MessageExt> {
@Autowired

128
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserPointsDTO.java

@ -0,0 +1,128 @@
/**
* 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;
/**
* 用户信息表
*
* @author songyunpeng
* @since v1.0.0 2019-09-02
*/
@Data
public class UserPointsDTO implements Serializable {
private static final long serialVersionUID = 915598602233599300L;
/**
* 主键
*/
private String id;
/**
* 昵称
*/
private String nickname;
/**
* 手机号
*/
private String mobile;
/**
* 电话
*/
private String telephone;
/**
* 真实姓名
*/
private String realName;
/**
* 居民住址
*/
private String address;
/**
* 用户积分
*/
private Integer points;
/**
* 用户累计积分
*/
private Integer pointsTotle;
/**
* 社区
*/
private String communityName;
/**
* 社区ID
*/
private Long communityId;
/**
* 网格
*/
private String gridName;
/**
* 网格ID
*/
private Long gridId;
/**
* 居住网格id
*/
private Long deptId;
/**
* 父所有部门
*/
private String parentDeptIds;
/**
* 父所有部门
*/
private String parentDeptNames;
/**
* 所有部门ID
*/
private String allDeptIds;
/**
* 所有部门名称
*/
private String allDeptNames;
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java

@ -28,6 +28,7 @@ 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.UserDTO;
import com.elink.esua.epdc.dto.UserPointsDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.enums.AppUserStatesEnum;
import com.elink.esua.epdc.excel.UserExcel;
@ -178,4 +179,11 @@ public class UserController {
return userService.handleUserPoints(formDTO);
}
@GetMapping("pageForPoints")
public Result<PageData<UserPointsDTO>> pageForPoints(@RequestParam Map<String, Object> params) {
PageData<UserPointsDTO> page = userService.pageForPoints(params);
return new Result<PageData<UserPointsDTO>>().ok(page);
}
}

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserPointsDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcAppUserRankingFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUnauthorizedAmountFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
@ -215,4 +216,12 @@ public interface UserDao extends BaseDao<UserEntity> {
* @Date 14:56 2020-06-01
**/
EpdcAppRankingUserDTO selectCurrentUserRanking(EpdcAppUserRankingFormDTO formDto);
/**
* @Description 用户积分列表
* @Author songyunpeng
* @Date 2020/6/9
* @Param [params]
* @return java.util.List<com.elink.esua.epdc.dto.UserPointsDTO>
**/
List<UserPointsDTO> selectListUserPoints(Map<String, Object> params);
}

17
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -22,16 +22,9 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.UserPointsDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcResidentDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO;
import com.elink.esua.epdc.entity.UserEntity;
import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
@ -316,4 +309,12 @@ public interface UserService extends BaseService<UserEntity> {
* @Date 13:35 2020-06-01
**/
EpdcAppUserRankingResultDTO listUserPointsRanking(EpdcAppUserRankingFormDTO formDto);
/**
* @Description 积分模块用户列表
* @Author songyunpeng
* @Date 2020/6/9
* @Param [params]
* @return com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.UserDTO>
**/
PageData<UserPointsDTO> pageForPoints(Map<String, Object> params);
}

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -1036,6 +1036,15 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return rangking;
}
@Override
public PageData<UserPointsDTO> pageForPoints(Map<String, Object> params) {
// 查询当前用户所具有的的数据权限
List<Long> deptIdList = SecurityUser.getUser().getDeptIdList();
params.put("deptIdList",deptIdList);
IPage<UserPointsDTO> page = getPage(params);
List<UserPointsDTO> list = baseDao.selectListUserPoints(params);
return new PageData<>(list, page.getTotal()); }
/**
* 返回本次 积分排行 用户网格关系表中的用户id
* @param formDto

46
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -544,4 +544,50 @@
) userRanking
WHERE instr(userRanking.tjid , #{userId}) > 0
</select>
<select id="selectListUserPoints" resultType="com.elink.esua.epdc.dto.UserPointsDTO">
select * from(
SELECT u.id,
u.NICKNAME,
u.REAL_NAME,
u.MOBILE,
u.REGISTER_TIME,
ADDRESS,
ug.ALL_DEPT_NAMES AS myGridName,
u.DEL_FLAG,
IF((u.DEPT_ID is null or u.DEPT_ID = '0'), ug.GRID_ID, u.DEPT_ID) as GRID_ID,
IF((u.DEPT_ID is null or u.DEPT_ID = '0'), ug.PARENT_DEPT_IDS, u.PARENT_DEPT_IDS) as PARENT_DEPT_IDS,
IF((u.DEPT_ID is null or u.DEPT_ID = '0'), ug.ALL_DEPT_IDS, u.ALL_DEPT_IDS) as ALL_DEPT_IDS,
IF((u.DEPT_ID is null or u.DEPT_ID = '0'), substring_index(ug.ALL_DEPT_NAMES, '-', -1), substring_index(u.ALL_DEPT_NAMES, '-', -1) ) as gridName,
IF((u.DEPT_ID is null or u.DEPT_ID = '0'), substring_index(substring_index(ug.ALL_DEPT_NAMES,'-',-2), '-', 1) , substring_index(substring_index(u.ALL_DEPT_NAMES,'-',-2), '-', 1) ) as communityName,
u.POINTS,
u.POINTS_TOTLE
FROM epdc_user u
LEFT JOIN ( select * from (select * from epdc_user_grid_relation order by CREATED_TIME)t group by t.USER_ID) ug ON u.ID = ug.USER_ID)ug
where
ug.del_flag = '0'
<if test="realName != '' and realName != null">and ug.real_name like '%${realName}%'</if>
<if test="mobile != '' and mobile != null">and ug.mobile like '%${mobile}%'</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},ug.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},ug.ALL_DEPT_IDS))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},ug.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},ug.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
and (ug.grid_id = #{gridId}
OR find_in_set(#{gridId},ug.ALL_DEPT_IDS))
</if>
<if test="deptIdList!=null and deptIdList.size()>0">
AND ug.GRID_ID IN
<foreach collection="deptIdList" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
GROUP BY
ug.ID
ORDER BY
ug.register_time desc
</select>
</mapper>

Loading…
Cancel
Save