Browse Source

居民端配置和积分排行

origin/dept_screen
yujt 5 years ago
parent
commit
6bd7ea7b6b
  1. 35
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
  2. 24
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  3. 10
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  4. 37
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/controller/ApiResidentConfigController.java
  5. 94
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/controller/ResidentConfigController.java
  6. 65
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/dao/ResidentConfigDao.java
  7. 61
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/entity/ResidentConfigEntity.java
  8. 68
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/excel/ResidentConfigExcel.java
  9. 117
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/service/ResidentConfigService.java
  10. 121
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/service/impl/ResidentConfigServiceImpl.java
  11. 27
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/AppUserService.java
  12. 29
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  13. 75
      epdc-cloud-api/src/main/resources/mapper/ResidentConfigDao.xml

35
epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java

@ -6,9 +6,7 @@ import com.elink.esua.epdc.commons.tools.enums.BehaviorEnum;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.UserInvitationRecordResultDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO;
import com.elink.esua.epdc.dto.result.EpdcAppRegisterCallbackDTO;
@ -335,4 +333,35 @@ public class ApiAppUserController {
ValidatorUtils.validateEntity(formDto);
return appUserService.getUserWxPhone(formDto);
}
/**
* 积分排名接口0-网格1-街道
* 根据用户表积分做排行
*
* @param userDetail
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserRankingResultDTO>
* @Author zhangyong
* @Date 13:35 2020-06-01
**/
@GetMapping("userPointsRanking/list")
public Result<EpdcAppUserRankingResultDTO> listUserPointsRanking(@LoginUser TokenDto userDetail, EpdcAppUserRankingFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return appUserService.listUserPointsRanking(userDetail, formDto);
}
/**
* 积分中心页面-积分等级排名
* 返回当前用户的排名 当前街道的前N名用户排名
*
* @param userDetail, formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserGradeRankingResultDTO>
* @Author zhangyong
* @Date 10:59 2020-06-24
**/
@GetMapping("user/gradeRanking/list")
public Result<EpdcAppUserGradeRankingResultDTO> listUserGradesRanking(@LoginUser TokenDto userDetail, EpdcAppUserGradeRankingFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return appUserService.listUserGradesRanking(userDetail, formDTO);
}
}

24
epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -413,4 +413,28 @@ public interface UserFeignClient {
**/
@PostMapping(value = "app-user/usergridinvitationcode/updateInvitationCodeUrl", consumes = MediaType.APPLICATION_JSON_VALUE)
Result updateInvitationCodeUrl(UserGridInvitationCodeDTO userGridInvitationCodeDTO);
/**
* 积分排名接口0-网格1-街道
* 根据用户表积分做排行
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserRankingResultDTO>
* @Author zhangyong
* @Date 13:35 2020-06-01
**/
@GetMapping(value = "app-user/epdc-app/user/listUserPointsRanking/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<EpdcAppUserRankingResultDTO> selectListUserPointsRanking(EpdcAppUserRankingFormDTO formDto);
/**
* 积分中心页面-积分等级排名
* 返回当前用户的排名 当前街道的前N名用户排名
*
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserGradeRankingResultDTO>
* @Author zhangyong
* @Date 10:59 2020-06-24
**/
@GetMapping(value = "app-user/epdc-app/user/gradeRanking/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<EpdcAppUserGradeRankingResultDTO> selectListUserGradesRanking(EpdcAppUserGradeRankingFormDTO formDTO);
}

10
epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -202,4 +202,14 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result updateInvitationCodeUrl(UserGridInvitationCodeDTO userGridInvitationCodeDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateInvitationCodeUrl", userGridInvitationCodeDTO);
}
@Override
public Result<EpdcAppUserRankingResultDTO> selectListUserPointsRanking(EpdcAppUserRankingFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "selectListUserPointsRanking", formDto);
}
@Override
public Result<EpdcAppUserGradeRankingResultDTO> selectListUserGradesRanking(EpdcAppUserGradeRankingFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "selectListUserGradesRanking", formDto);
}
}

37
epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/controller/ApiResidentConfigController.java

@ -0,0 +1,37 @@
package com.elink.esua.epdc.modules.api.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.result.ResidentConfigResultDTO;
import com.elink.esua.epdc.modules.api.service.ResidentConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* APP 获取居民端配置
*
* @author zhangyong
* @date 2020/05/27 18:30
*/
@RestController
@RequestMapping("residentConfig")
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")
public Result<List<ResidentConfigResultDTO>> getImgUrlList(String residentType){
return residentConfigService.listResidentConfig(residentType);
}
}

94
epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/controller/ResidentConfigController.java

@ -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.modules.api.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.ResidentConfigDTO;
import com.elink.esua.epdc.modules.api.excel.ResidentConfigExcel;
import com.elink.esua.epdc.modules.api.service.ResidentConfigService;
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 elink elink@elink-cn.com
* @since v1.0.0 2020-06-08
*/
@RestController
@RequestMapping("residentconfig")
public class ResidentConfigController {
@Autowired
private ResidentConfigService residentConfigService;
@GetMapping("page")
public Result<PageData<ResidentConfigDTO>> page(@RequestParam Map<String, Object> params) {
PageData<ResidentConfigDTO> page = residentConfigService.page(params);
return new Result<PageData<ResidentConfigDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<ResidentConfigDTO> get(@PathVariable("id") String id) {
ResidentConfigDTO data = residentConfigService.get(id);
return new Result<ResidentConfigDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody ResidentConfigDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
residentConfigService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody ResidentConfigDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
residentConfigService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
residentConfigService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<ResidentConfigDTO> list = residentConfigService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, ResidentConfigExcel.class);
}
}

65
epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/dao/ResidentConfigDao.java

@ -0,0 +1,65 @@
/**
* 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.api.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.ResidentConfigDTO;
import com.elink.esua.epdc.dto.result.ResidentConfigResultDTO;
import com.elink.esua.epdc.modules.api.entity.ResidentConfigEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 居民端配置表
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-06-08
*/
@Mapper
public interface ResidentConfigDao extends BaseDao<ResidentConfigEntity> {
/**
* @return java.util.List<com.elink.esua.epdc.dto.ResidentConfigDTO>
* @Description pc获取列表
* @Author songyunpeng
* @Date 2020/6/8
* @Param [params]
**/
List<ResidentConfigDTO> selectListResidentConfig(Map<String, Object> params);
/**
* @return java.util.List<com.elink.esua.epdc.dto.ResidentConfigDTO>
* @Description app根据类型获取居民配置列表
* @Author songyunpeng
* @Date 2020/6/8
* @Param [residentType]
**/
List<ResidentConfigResultDTO> selectListResidentConfigByResidentType(@Param(value = "residentType") String residentType);
/**
* @return com.elink.esua.epdc.dto.ResidentConfigDTO
* @Description 根据类型和编码获取配置
* @Author songyunpeng
* @Date 2020/6/8
* @Param [residentType, residentCode]
**/
ResidentConfigDTO selectResidentConfigDTOByTypeAndCode(String residentType, String residentCode);
}

61
epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/entity/ResidentConfigEntity.java

@ -0,0 +1,61 @@
/**
* 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.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 居民端配置表
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-06-08
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("epdc_resident_config")
public class ResidentConfigEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 2487728661562100503L;
/**
* 配置类型
*/
private String residentType;
/**
* 配置编码
*/
private String residentCode;
/**
* 配置内容
*/
private String residentValue;
/**
* 排序
*/
private String sort;
/**
* 备注
*/
private String remark;
}

68
epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/excel/ResidentConfigExcel.java

@ -0,0 +1,68 @@
/**
* 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.api.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 居民端配置表
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-06-08
*/
@Data
public class ResidentConfigExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "配置类型")
private String residentType;
@Excel(name = "配置编码")
private String residentCode;
@Excel(name = "配置内容")
private String residentValue;
@Excel(name = "排序")
private String sort;
@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;
}

117
epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/service/ResidentConfigService.java

@ -0,0 +1,117 @@
/**
* 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.api.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.ResidentConfigDTO;
import com.elink.esua.epdc.dto.result.ResidentConfigResultDTO;
import com.elink.esua.epdc.modules.api.entity.ResidentConfigEntity;
import java.util.List;
import java.util.Map;
/**
* 居民端配置表
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-06-08
*/
public interface ResidentConfigService extends BaseService<ResidentConfigEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<ResidentConfigDTO>
* @author generator
* @date 2020-06-08
*/
PageData<ResidentConfigDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<ResidentConfigDTO>
* @author generator
* @date 2020-06-08
*/
List<ResidentConfigDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return ResidentConfigDTO
* @author generator
* @date 2020-06-08
*/
ResidentConfigDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-06-08
*/
void save(ResidentConfigDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-06-08
*/
void update(ResidentConfigDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-06-08
*/
void delete(String[] ids);
/**
* app根据类型获取居民配置
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.result.ResidentConfigResultDTO>>
* @Author songyunpeng
* @Date 2020/6/8
* @Param [residentType]
**/
Result<List<ResidentConfigResultDTO>> listResidentConfig(String residentType);
/**
* @return com.elink.esua.epdc.dto.ResidentConfigDTO
* @Description 根据类型和编码获取配置
* @Author songyunpeng
* @Date 2020/6/8
* @Param [residentType, residentCode]
**/
ResidentConfigDTO getResidentConfigDTOByTypeAndCode(String residentType, String residentCode);
}

121
epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/api/service/impl/ResidentConfigServiceImpl.java

@ -0,0 +1,121 @@
/**
* 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.api.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.exception.RenException;
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.utils.Result;
import com.elink.esua.epdc.dto.ResidentConfigDTO;
import com.elink.esua.epdc.dto.result.ResidentConfigResultDTO;
import com.elink.esua.epdc.modules.api.dao.ResidentConfigDao;
import com.elink.esua.epdc.modules.api.entity.ResidentConfigEntity;
import com.elink.esua.epdc.modules.api.service.ResidentConfigService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 居民端配置表
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2020-06-08
*/
@Service
public class ResidentConfigServiceImpl extends BaseServiceImpl<ResidentConfigDao, ResidentConfigEntity> implements ResidentConfigService {
@Override
public PageData<ResidentConfigDTO> page(Map<String, Object> params) {
IPage<ResidentConfigDTO> page = getPage(params);
List<ResidentConfigDTO> list = baseDao.selectListResidentConfig(params);
return new PageData<>(list, page.getTotal());
}
@Override
public List<ResidentConfigDTO> list(Map<String, Object> params) {
List<ResidentConfigEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, ResidentConfigDTO.class);
}
private QueryWrapper<ResidentConfigEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<ResidentConfigEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public ResidentConfigDTO get(String id) {
ResidentConfigEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, ResidentConfigDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(ResidentConfigDTO dto) {
//校验同意类型下 编码是否重复
ResidentConfigDTO residentConfigDTOByTypeAndCode = getResidentConfigDTOByTypeAndCode(dto.getResidentType(), dto.getResidentCode());
if (residentConfigDTOByTypeAndCode != null) {
throw new RenException("同一类型下编码不能重复!");
}
ResidentConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResidentConfigEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(ResidentConfigDTO dto) {
//校验同意类型下 编码是否重复
ResidentConfigDTO residentConfigDTOByTypeAndCode = getResidentConfigDTOByTypeAndCode(dto.getResidentType(), dto.getResidentCode());
//若是存在相同且ID不同的话代表编码重复!
if (residentConfigDTOByTypeAndCode != null && !residentConfigDTOByTypeAndCode.getId().equals(dto.getId())) {
throw new RenException("同一类型下编码不能重复!");
}
ResidentConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResidentConfigEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Result<List<ResidentConfigResultDTO>> listResidentConfig(String residentType) {
return new Result<List<ResidentConfigResultDTO>>().ok(baseDao.selectListResidentConfigByResidentType(residentType));
}
@Override
public ResidentConfigDTO getResidentConfigDTOByTypeAndCode(String residentType, String residentCode) {
return baseDao.selectResidentConfigDTOByTypeAndCode(residentType, residentCode);
}
}

27
epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/AppUserService.java

@ -3,9 +3,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.UserInvitationRecordResultDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.form.v2.EpdcCompleteUserInfoFormV2DTO;
import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO;
@ -280,4 +278,27 @@ public interface AppUserService {
* @date 2020/2/20 17:24
*/
Result<String> getUserWxPhone(EpdcAppUserMaInfoFormDTO formDto);
/**
* 积分排名接口0-网格1-街道
* 根据用户表积分做排行
*
* @param userDetail
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserRankingResultDTO>
* @Author zhangyong
* @Date 13:35 2020-06-01
**/
Result<EpdcAppUserRankingResultDTO> listUserPointsRanking(TokenDto userDetail, EpdcAppUserRankingFormDTO formDto);
/**
* 积分中心页面-积分等级排名
* 返回当前用户的排名 当前街道的前N名用户排名
*
* @param userDetail, formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserGradeRankingResultDTO>
* @Author zhangyong
* @Date 10:59 2020-06-24
**/
Result<EpdcAppUserGradeRankingResultDTO> listUserGradesRanking(TokenDto userDetail, EpdcAppUserGradeRankingFormDTO formDTO);
}

29
epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -23,10 +23,7 @@ import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.UserInvitationRecordResultDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.form.v2.EpdcCompleteUserInfoFormV2DTO;
import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO;
@ -1418,4 +1415,28 @@ public class AppUserServiceImpl implements AppUserService {
}
return new Result().error("解析用户手机号失败");
}
@Override
public Result<EpdcAppUserRankingResultDTO> listUserPointsRanking(TokenDto userDetail, EpdcAppUserRankingFormDTO formDto) {
formDto.setUserId(userDetail.getUserId());
formDto.setRealName(userDetail.getRealName());
formDto.setPoints(userDetail.getPoints());
formDto.setDeptId(userDetail.getGridId());
return userFeignClient.selectListUserPointsRanking(formDto);
}
@Override
public Result<EpdcAppUserGradeRankingResultDTO> listUserGradesRanking(TokenDto userDetail, EpdcAppUserGradeRankingFormDTO formDTO) {
formDTO.setUserId(userDetail.getUserId());
formDTO.setNickName(userDetail.getNickname());
formDTO.setPointsTotle(userDetail.getPointsTotle());
Result<CompleteDeptDTO> deptInfo = adminFeignClient.getCompleteDept(userDetail.getGridId());
if (deptInfo.success()) {
formDTO.setStreetId(deptInfo.getData().getStreetId());
} else {
return new Result<EpdcAppUserGradeRankingResultDTO>().error("当前用户,无所属街道");
}
return userFeignClient.selectListUserGradesRanking(formDTO);
}
}

75
epdc-cloud-api/src/main/resources/mapper/ResidentConfigDao.xml

@ -0,0 +1,75 @@
<?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.api.dao.ResidentConfigDao">
<resultMap type="com.elink.esua.epdc.modules.api.entity.ResidentConfigEntity" id="residentConfigMap">
<result property="id" column="ID"/>
<result property="residentType" column="RESIDENT_TYPE"/>
<result property="residentCode" column="RESIDENT_CODE"/>
<result property="residentValue" column="RESIDENT_VALUE"/>
<result property="sort" column="SORT"/>
<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"/>
<result property="remark" column="REMARK"/>
</resultMap>
<select id="selectListResidentConfig" resultType="com.elink.esua.epdc.dto.ResidentConfigDTO">
select
ID,
RESIDENT_TYPE,
RESIDENT_CODE,
RESIDENT_VALUE,
SORT,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME,
REMARK
from epdc_resident_config
where DEL_FLAG = '0'
<if test="residentType!=null and residentType != ''">
and RESIDENT_TYPE = #{residentType}
</if>
ORDER BY SORT,CREATED_TIME DESC
</select>
<select id="selectListResidentConfigByResidentType" resultType="com.elink.esua.epdc.dto.result.ResidentConfigResultDTO">
SELECT
RESIDENT_TYPE,
RESIDENT_CODE,
RESIDENT_VALUE
FROM
`epdc_resident_config`
WHERE DEL_FLAG = 0
<if test="residentType!=null and residentType!=''">
and RESIDENT_TYPE = #{residentType}
</if>
ORDER BY SORT,CREATED_TIME DESC
</select>
<select id="selectResidentConfigDTOByTypeAndCode" resultType="com.elink.esua.epdc.dto.ResidentConfigDTO">
select
ID,
RESIDENT_TYPE,
RESIDENT_CODE,
RESIDENT_VALUE,
SORT,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME,
REMARK
from epdc_resident_config
where DEL_FLAG = '0' and RESIDENT_TYPE = #{residentType} and RESIDENT_CODE = #{residentCode}
</select>
</mapper>
Loading…
Cancel
Save