26 changed files with 883 additions and 96 deletions
@ -0,0 +1,59 @@ |
|||
package com.elink.esua.epdc.modules.points.controller; |
|||
|
|||
import com.elink.esua.epdc.common.token.dto.TokenDto; |
|||
import com.elink.esua.epdc.commons.tools.annotation.LoginUser; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; |
|||
import com.elink.esua.epdc.dto.form.EpdcAppPointsRankingFormDTO; |
|||
import com.elink.esua.epdc.dto.form.EpdcAppPointsRecordFormDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; |
|||
import com.elink.esua.epdc.modules.points.service.PointsService; |
|||
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; |
|||
|
|||
/** |
|||
* 移动端接口-积分管理模块 |
|||
* |
|||
* @Author zhangyong |
|||
* @Date 2020-04-29 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("points") |
|||
public class ApiPointsController { |
|||
|
|||
@Autowired |
|||
private PointsService pointsService; |
|||
|
|||
/** |
|||
* 当前登录用户 积分记录接口 |
|||
* |
|||
* @param: [userDetail, dto] |
|||
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO>> |
|||
* @Author: zy |
|||
* @Date: 2020-04-29 |
|||
*/ |
|||
@GetMapping("pointsRecord/list") |
|||
public Result<List<EpdcAppPointsRecordResultDTO>> listPointsRecord(@LoginUser TokenDto userDetail, EpdcAppPointsRecordFormDTO formDto) { |
|||
ValidatorUtils.validateEntity(formDto); |
|||
return pointsService.listPointsRecord(userDetail, formDto); |
|||
} |
|||
|
|||
/** |
|||
* 积分排行接口(0 周排行、1 月排行) |
|||
* |
|||
* @param: [userDetail, formDto] |
|||
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO> |
|||
* @Author: zy |
|||
* @Date: 2020-04-30 |
|||
*/ |
|||
@GetMapping("pointsRanking/list") |
|||
public Result<EpdcAppPointsRankingResultDTO> listPointsRanking(@LoginUser TokenDto userDetail, EpdcAppPointsRankingFormDTO formDto) { |
|||
ValidatorUtils.validateEntity(formDto); |
|||
return pointsService.listPointsRanking(userDetail, formDto); |
|||
} |
|||
} |
|||
@ -0,0 +1,63 @@ |
|||
package com.elink.esua.epdc.modules.points.feign; |
|||
|
|||
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.dto.form.EpdcAppPointsRankingFormDTO; |
|||
import com.elink.esua.epdc.dto.form.EpdcAppPointsRecordFormDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; |
|||
import com.elink.esua.epdc.modules.points.feign.fallback.PointsFeignClientFallback; |
|||
import com.elink.esua.epdc.pointcommons.tools.dto.PointsRuleResultDTO; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.http.MediaType; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 积分管理模块 |
|||
* @Author zhangyong |
|||
* @Date 2020-04-29 |
|||
*/ |
|||
@FeignClient(name = ServiceConstant.EPDC_POINTS_SERVER, fallback = PointsFeignClientFallback.class) |
|||
public interface PointsFeignClient { |
|||
|
|||
/** |
|||
* 当前登录用户 积分记录接口 |
|||
* |
|||
* @param formDto |
|||
* param pageIndex 必选 页码 |
|||
* param pageSize 必选 页容量 |
|||
* param userId 必选 用户ID |
|||
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO>> |
|||
* @Author: zy |
|||
* @Date: 2020-04-29 |
|||
*/ |
|||
@GetMapping(value = "points/epdc-app/points/pointsRecord/list", consumes = MediaType.APPLICATION_JSON_VALUE) |
|||
Result<List<EpdcAppPointsRecordResultDTO>> listPointsRecordFeignClient(EpdcAppPointsRecordFormDTO formDto); |
|||
|
|||
/** |
|||
* 积分排行接口(0 周排行、1 月排行) |
|||
* |
|||
* @param formDto |
|||
* param pageIndex 必选 页码 |
|||
* param pageSize 必选 页容量 |
|||
* param rankingType 必选 排名方式:0-周,1-月 |
|||
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO> |
|||
* @Author: zy |
|||
* @Date: 2020-04-30 |
|||
*/ |
|||
@GetMapping(value = "points/epdc-app/points/pointsRanking/list", consumes = MediaType.APPLICATION_JSON_VALUE) |
|||
Result<EpdcAppPointsRankingResultDTO> listPointsRankingFeignClient(EpdcAppPointsRankingFormDTO formDto); |
|||
|
|||
/** |
|||
* @Description 根据动作编码获取积分规则 |
|||
* @Author songyunpeng |
|||
* @Date 2020/7/21 |
|||
* @Param [behaviorCode] |
|||
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.PointsRuleResultDTO> |
|||
**/ |
|||
@GetMapping(value = "points/epdc-app/points/getPointsRuleByBehaviorCode/{behaviorCode}", consumes = MediaType.APPLICATION_JSON_VALUE) |
|||
Result<PointsRuleResultDTO> getPointsRuleByBehaviorCode(@PathVariable("behaviorCode") String behaviorCode); |
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
package com.elink.esua.epdc.modules.points.feign.fallback; |
|||
|
|||
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; |
|||
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.dto.form.EpdcAppPointsRankingFormDTO; |
|||
import com.elink.esua.epdc.dto.form.EpdcAppPointsRecordFormDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; |
|||
import com.elink.esua.epdc.modules.points.feign.PointsFeignClient; |
|||
import com.elink.esua.epdc.pointcommons.tools.dto.PointsRuleResultDTO; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 积分管理模块 |
|||
* @Author zhangyong |
|||
* @Date 2020-04-29 |
|||
*/ |
|||
@Component |
|||
public class PointsFeignClientFallback implements PointsFeignClient { |
|||
|
|||
@Override |
|||
public Result<List<EpdcAppPointsRecordResultDTO>> listPointsRecordFeignClient(EpdcAppPointsRecordFormDTO formDto) { |
|||
return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "listPointsRecordFeignClient", formDto); |
|||
} |
|||
|
|||
@Override |
|||
public Result<EpdcAppPointsRankingResultDTO> listPointsRankingFeignClient(EpdcAppPointsRankingFormDTO formDto) { |
|||
return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "listPointsRankingFeignClient", formDto); |
|||
} |
|||
|
|||
@Override |
|||
public Result<PointsRuleResultDTO> getPointsRuleByBehaviorCode(String behaviorCode) { |
|||
return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "getPointsRuleByBehaviorCode", behaviorCode); |
|||
} |
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
package com.elink.esua.epdc.modules.points.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.form.EpdcAppPointsRankingFormDTO; |
|||
import com.elink.esua.epdc.dto.form.EpdcAppPointsRecordFormDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 积分管理模块 |
|||
* @Author zhangyong |
|||
* @Date 2020-04-29 |
|||
*/ |
|||
public interface PointsService { |
|||
|
|||
/** |
|||
* 当前登录用户 积分记录接口 |
|||
* |
|||
* @param formDto |
|||
* param pageIndex 必选 页码 |
|||
* param pageSize 必选 页容量 |
|||
* @param userDetail 必选 获取用户ID |
|||
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO>> |
|||
* @Author: zy |
|||
* @Date: 2020-04-29 |
|||
*/ |
|||
Result<List<EpdcAppPointsRecordResultDTO>> listPointsRecord(TokenDto userDetail, EpdcAppPointsRecordFormDTO formDto); |
|||
|
|||
/** |
|||
* 积分排行接口(0 周排行、1 月排行) |
|||
* |
|||
* @param formDto |
|||
* param pageIndex 必选 页码 |
|||
* param pageSize 必选 页容量 |
|||
* param rankingType 必选 排名方式:0-周,1-月 |
|||
* @param userDetail 必选 获取用户信息 |
|||
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO> |
|||
* @Author: zy |
|||
* @Date: 2020-04-30 |
|||
*/ |
|||
Result<EpdcAppPointsRankingResultDTO> listPointsRanking(TokenDto userDetail, EpdcAppPointsRankingFormDTO formDto); |
|||
} |
|||
@ -0,0 +1,39 @@ |
|||
package com.elink.esua.epdc.modules.points.service.impl; |
|||
|
|||
import com.elink.esua.epdc.common.token.dto.TokenDto; |
|||
import com.elink.esua.epdc.commons.tools.utils.Result; |
|||
import com.elink.esua.epdc.dto.form.EpdcAppPointsRankingFormDTO; |
|||
import com.elink.esua.epdc.dto.form.EpdcAppPointsRecordFormDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; |
|||
import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; |
|||
import com.elink.esua.epdc.modules.points.feign.PointsFeignClient; |
|||
import com.elink.esua.epdc.modules.points.service.PointsService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 积分管理模块 |
|||
* @Author zhangyong |
|||
* @Date 2020-04-29 |
|||
*/ |
|||
@Service |
|||
public class PointsServiceImpl implements PointsService { |
|||
|
|||
@Autowired |
|||
private PointsFeignClient pointsFeignClient; |
|||
|
|||
@Override |
|||
public Result<List<EpdcAppPointsRecordResultDTO>> listPointsRecord(TokenDto userDetail, EpdcAppPointsRecordFormDTO formDto) { |
|||
formDto.setUserId(userDetail.getUserId()); |
|||
return pointsFeignClient.listPointsRecordFeignClient(formDto); |
|||
} |
|||
|
|||
@Override |
|||
public Result<EpdcAppPointsRankingResultDTO> listPointsRanking(TokenDto userDetail, EpdcAppPointsRankingFormDTO formDto) { |
|||
formDto.setUserId(userDetail.getUserId()); |
|||
formDto.setNickName(userDetail.getNickname()); |
|||
return pointsFeignClient.listPointsRankingFeignClient(formDto); |
|||
} |
|||
} |
|||
@ -1,4 +1,4 @@ |
|||
nacos: |
|||
config: |
|||
server-addr: 47.104.224.45:8848 |
|||
namespace: 6a3577b4-7b79-43f6-aebb-9c3f31263f6a |
|||
#nacos: |
|||
# config: |
|||
# server-addr: 47.104.224.45:8848 |
|||
# namespace: 6a3577b4-7b79-43f6-aebb-9c3f31263f6a |
|||
|
|||
Loading…
Reference in new issue