Browse Source

提交志愿者服务代码

pull/22/head
wanjing 10 months ago
parent
commit
dd939fc312
30 changed files with 997 additions and 12 deletions
  1. +16
    -0
      tuoheng-api/pom.xml
  2. +1
    -1
      tuoheng-api/src/main/java/com/tuoheng/api/controller/MyController.java
  3. +37
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/controller/UserPointsController.java
  4. +38
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/controller/WestreamSubmitController.java
  5. +36
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/controller/WestreamVolunteerController.java
  6. +15
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/conver/WestreamSubmitConverMapper.java
  7. +15
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/conver/WestreamVolunteerConverMapper.java
  8. +40
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/entity/domain/WestreamKnowUser.java
  9. +61
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/entity/domain/WestreamSubmit.java
  10. +79
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/entity/domain/WestreamVolunteer.java
  11. +47
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/entity/request/AddWestreamSubmitRequest.java
  12. +67
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/entity/request/AddWestreamVolunteerRequest.java
  13. +35
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/entity/request/ReceivePonitsRequest.java
  14. +26
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/enums/DictEnum.java
  15. +25
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/enums/MarkEnum.java
  16. +15
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/mapper/WestreamKnowUserMapper.java
  17. +14
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/mapper/WestreamSubmitMapper.java
  18. +14
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/mapper/WestreamVolunteerMapper.java
  19. +4
    -1
      tuoheng-api/src/main/java/com/tuoheng/api/service/points/IUserPointsDetailService.java
  20. +11
    -5
      tuoheng-api/src/main/java/com/tuoheng/api/service/points/UserPointsDetailServiceImpl.java
  21. +133
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/service/points/receive/ReceivePonitsService.java
  22. +21
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/service/westream/submit/WestreamSubmitService.java
  23. +21
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/service/westream/submit/WestreamSubmitServiceImpl.java
  24. +75
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/service/westream/submit/report/ReportWestreamSubmitService.java
  25. +21
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/service/westream/volunteer/WestreamVolunteerService.java
  26. +27
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/service/westream/volunteer/WestreamVolunteerServiceImpl.java
  27. +85
    -0
      tuoheng-api/src/main/java/com/tuoheng/api/service/westream/volunteer/add/AddWestreamVolunteerService.java
  28. +2
    -0
      tuoheng-api/src/main/resources/application-local.yml
  29. +11
    -0
      tuoheng-common/src/main/java/com/tuoheng/common/exception/ServiceException.java
  30. +5
    -5
      tuoheng-common/src/main/java/com/tuoheng/common/utils/JsonResult.java

+ 16
- 0
tuoheng-api/pom.xml View File

@@ -124,6 +124,22 @@
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.4.6</version>
</dependency>


<!--mapStruct依赖 高性能对象映射-->
<!--mapstruct核心-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.5.3.Final</version>
</dependency>

<!--mapstruct编译-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.3.Final</version>
</dependency>
</dependencies>

<profiles>

+ 1
- 1
tuoheng-api/src/main/java/com/tuoheng/api/controller/MyController.java View File

@@ -1,7 +1,7 @@
package com.tuoheng.api.controller;

import com.tuoheng.api.entity.request.UserPointsDetailQuery;
import com.tuoheng.api.service.IUserPointsDetailService;
import com.tuoheng.api.service.points.IUserPointsDetailService;
import com.tuoheng.common.utils.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;

+ 37
- 0
tuoheng-api/src/main/java/com/tuoheng/api/controller/UserPointsController.java View File

@@ -0,0 +1,37 @@
package com.tuoheng.api.controller;

import com.tuoheng.api.entity.request.ReceivePonitsRequest;
import com.tuoheng.api.service.points.IUserPointsDetailService;
import com.tuoheng.common.utils.JsonResult;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* 小程序用户 前端控制器
*
* @author wanjing
* @since 2023-11-23
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/userPoints")
public class UserPointsController {

private final IUserPointsDetailService userPointsDetailService;

/**
* 领取积分
*
* @param request
* @return
*/
@PostMapping("/receive")
public JsonResult add(@RequestBody ReceivePonitsRequest request) {
return userPointsDetailService.receive(request);
}


}

+ 38
- 0
tuoheng-api/src/main/java/com/tuoheng/api/controller/WestreamSubmitController.java View File

@@ -0,0 +1,38 @@
package com.tuoheng.api.controller;

import com.tuoheng.api.entity.request.AddWestreamSubmitRequest;
import com.tuoheng.api.entity.request.AddWestreamVolunteerRequest;
import com.tuoheng.api.service.westream.submit.WestreamSubmitService;
import com.tuoheng.common.utils.JsonResult;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* 小程序用户 前端控制器
*
* @author wanjing
* @since 2023-11-23
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/westreamSubmit")
public class WestreamSubmitController {

private final WestreamSubmitService westreamSubmitService;

/**
* 上报
*
* @param request
* @return
*/
@PostMapping("/report")
public JsonResult report(@RequestBody AddWestreamSubmitRequest request){
return westreamSubmitService.report(request);
}

}

+ 36
- 0
tuoheng-api/src/main/java/com/tuoheng/api/controller/WestreamVolunteerController.java View File

@@ -0,0 +1,36 @@
package com.tuoheng.api.controller;

import com.tuoheng.api.entity.request.AddWestreamVolunteerRequest;
import com.tuoheng.api.service.westream.volunteer.WestreamVolunteerService;
import com.tuoheng.common.utils.JsonResult;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* 小程序用户 前端控制器
*
* @author wanjing
* @since 2023-11-23
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/westreamVolunteer")
public class WestreamVolunteerController {

private final WestreamVolunteerService westreamVolunteerService;

/**
* 志愿服务提交
*
* @param request
* @return
*/
@PostMapping("/add")
public JsonResult add(@RequestBody AddWestreamVolunteerRequest request) {
return westreamVolunteerService.add(request);
}

}

+ 15
- 0
tuoheng-api/src/main/java/com/tuoheng/api/conver/WestreamSubmitConverMapper.java View File

@@ -0,0 +1,15 @@
package com.tuoheng.api.conver;

import com.tuoheng.api.entity.domain.WestreamSubmit;
import com.tuoheng.api.entity.request.AddWestreamSubmitRequest;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

@Mapper
public interface WestreamSubmitConverMapper {

WestreamSubmitConverMapper INSTANCE = Mappers.getMapper(WestreamSubmitConverMapper.class);

WestreamSubmit addRequestToWestreamSubmit(AddWestreamSubmitRequest request);

}

+ 15
- 0
tuoheng-api/src/main/java/com/tuoheng/api/conver/WestreamVolunteerConverMapper.java View File

@@ -0,0 +1,15 @@
package com.tuoheng.api.conver;

import com.tuoheng.api.entity.request.AddWestreamVolunteerRequest;
import com.tuoheng.api.entity.domain.WestreamVolunteer;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

@Mapper
public interface WestreamVolunteerConverMapper {

WestreamVolunteerConverMapper INSTANCE = Mappers.getMapper(WestreamVolunteerConverMapper.class);

WestreamVolunteer addRequestToWestreamVolunteer(AddWestreamVolunteerRequest request);

}

+ 40
- 0
tuoheng-api/src/main/java/com/tuoheng/api/entity/domain/WestreamKnowUser.java View File

@@ -0,0 +1,40 @@
package com.tuoheng.api.entity.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.tuoheng.common.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
* 全民护河知识用户表
*
* @author wanjing
* @since 2023-11-23
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("th_westream_know_user")
public class WestreamKnowUser extends BaseEntity implements Serializable {

private static final long serialVersionUID = 1L;

/**
* 租户ID
*/
private Integer tenantId;

/**
* openid
*/
private String openid;

/**
* 全民护河知识表ID
*/
private Integer knowId;

}

+ 61
- 0
tuoheng-api/src/main/java/com/tuoheng/api/entity/domain/WestreamSubmit.java View File

@@ -0,0 +1,61 @@
package com.tuoheng.api.entity.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tuoheng.common.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
* 全民护河上报表
*
* @author wanjing
* @since 2023-11-23
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("th_westream_submit")
public class WestreamSubmit extends BaseEntity implements Serializable {

/**
* 租户id
*/
private Integer tenantId;

/**
* openid
*/
private String openid;

/**
* 上传照片
*/
private String photoUrl;

/**
* 问题描述
*/
private String problemDesc;

/**
* 经度
*/
private String longitude;

/**
* 纬度
*/
private String latitude;

/**
* 审核状态 0待审核 1审核通过 2审核不通过
*/
private Integer status;


}

+ 79
- 0
tuoheng-api/src/main/java/com/tuoheng/api/entity/domain/WestreamVolunteer.java View File

@@ -0,0 +1,79 @@
package com.tuoheng.api.entity.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tuoheng.common.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
* 全民护河志愿服务表
*
* @author wanjing
* @since 2023-11-23
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("th_westream_volunteer")
public class WestreamVolunteer extends BaseEntity implements Serializable {

/**
* 租户id
*/
private Integer tenantId;

/**
* openid
*/
private String openid;

/**
* 活动人数
*/
private Integer activityNum;

/**
* 活动日期
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date activityDate;

/**
* 活动积分
*/
private Integer activityPoints;

/**
* 单位名称
*/
private String companyName;

/**
* 联系人
*/
private String contactName;

/**
* 电话
*/
private String contactPhone;

/**
* 上传照片
*/
private String photoUrl;

/**
* 审核状态 0待审核 1审核通过 2审核不通过
*/
private Integer status;


}

+ 47
- 0
tuoheng-api/src/main/java/com/tuoheng/api/entity/request/AddWestreamSubmitRequest.java View File

@@ -0,0 +1,47 @@
package com.tuoheng.api.entity.request;

import lombok.Data;

import java.util.List;

/**
* 全民护河上报表
*
* @author wanjing
* @since 2023-11-23
*/
@Data
public class AddWestreamSubmitRequest {

/**
* 租户id
*/
private Integer tenantId;

/**
* openid
*/
private String openid;

/**
* 上传照片
*/
private List<String> photoUrlList;

/**
* 问题描述
*/
private String problemDesc;

/**
* 经度
*/
private String longitude;

/**
* 纬度
*/
private String latitude;


}

+ 67
- 0
tuoheng-api/src/main/java/com/tuoheng/api/entity/request/AddWestreamVolunteerRequest.java View File

@@ -0,0 +1,67 @@
package com.tuoheng.api.entity.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
* 全民护河志愿服务表
*
* @author wanjing
* @since 2023-11-23
*/
@Data
public class AddWestreamVolunteerRequest {

/**
* 租户id
*/
private Integer tenantId;

/**
* openid
*/
private String openid;

/**
* 活动人数
*/
private Integer activityNum;

/**
* 活动日期
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date activityDate;

/**
* 活动积分
*/
private Integer activityPoints;

/**
* 单位名称
*/
private String companyName;

/**
* 联系人
*/
private String contactName;

/**
* 电话
*/
private String contactPhone;

/**
* 上传照片
*/
private String photoUrl;


}

+ 35
- 0
tuoheng-api/src/main/java/com/tuoheng/api/entity/request/ReceivePonitsRequest.java View File

@@ -0,0 +1,35 @@
package com.tuoheng.api.entity.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
* 全民护河志愿服务表
*
* @author wanjing
* @since 2023-11-23
*/
@Data
public class ReceivePonitsRequest {

/**
* 租户id
*/
private Integer tenantId;

/**
* openid
*/
private String openid;

/**
* 活知ID
*/
private Integer knowId;


}

+ 26
- 0
tuoheng-api/src/main/java/com/tuoheng/api/enums/DictEnum.java View File

@@ -0,0 +1,26 @@
package com.tuoheng.api.enums;

import lombok.Getter;

/**
* @Author xiaoying
* @Date 2023/7/10 9:27
*/
public enum DictEnum {

SCREEN("screen", "大屏信息展示"),
TASK_STATUS("task_status", "任务状态"),
POINTS_RULE("points_rule", "积分规则"),
MSG_RULE("msg_rule", "短信规则");

DictEnum(String code, String description) {
this.code = code;
this.description = description;
}

@Getter
private String code;

@Getter
private String description;
}

+ 25
- 0
tuoheng-api/src/main/java/com/tuoheng/api/enums/MarkEnum.java View File

@@ -0,0 +1,25 @@
package com.tuoheng.api.enums;

import lombok.Getter;

/**
* 逻辑删除标记类型
* @author chenyukun
*/

public enum MarkEnum {
VALID(1,"有效"),

NOTVALID(0,"失效");

MarkEnum(int code, String description){
this.code = code;
this.description = description;
}

@Getter
private int code;

@Getter
private String description;
}

+ 15
- 0
tuoheng-api/src/main/java/com/tuoheng/api/mapper/WestreamKnowUserMapper.java View File

@@ -0,0 +1,15 @@
package com.tuoheng.api.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tuoheng.api.entity.domain.WestreamKnow;
import com.tuoheng.api.entity.domain.WestreamKnowUser;

/**
* 全民护河知识用户表 Mapper 接口
*
* @author wanjing
* @since 2023-11-23
*/
public interface WestreamKnowUserMapper extends BaseMapper<WestreamKnowUser> {

}

+ 14
- 0
tuoheng-api/src/main/java/com/tuoheng/api/mapper/WestreamSubmitMapper.java View File

@@ -0,0 +1,14 @@
package com.tuoheng.api.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tuoheng.api.entity.domain.WestreamSubmit;

/**
* 全民护河上报表 Mapper 接口
*
* @author wanjing
* @since 2023-11-23
*/
public interface WestreamSubmitMapper extends BaseMapper<WestreamSubmit> {

}

+ 14
- 0
tuoheng-api/src/main/java/com/tuoheng/api/mapper/WestreamVolunteerMapper.java View File

@@ -0,0 +1,14 @@
package com.tuoheng.api.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tuoheng.api.entity.domain.WestreamVolunteer;

/**
* 全民护河志愿服务表 Mapper 接口
*
* @author wanjing
* @since 2023-11-23
*/
public interface WestreamVolunteerMapper extends BaseMapper<WestreamVolunteer> {

}

tuoheng-api/src/main/java/com/tuoheng/api/service/IUserPointsDetailService.java → tuoheng-api/src/main/java/com/tuoheng/api/service/points/IUserPointsDetailService.java View File

@@ -1,6 +1,7 @@
package com.tuoheng.api.service;
package com.tuoheng.api.service.points;

import com.tuoheng.api.entity.domain.UserPointsDetail;
import com.tuoheng.api.entity.request.ReceivePonitsRequest;
import com.tuoheng.api.entity.request.UserPointsDetailQuery;
import com.tuoheng.common.common.IBaseService;
import com.tuoheng.common.utils.JsonResult;
@@ -15,4 +16,6 @@ public interface IUserPointsDetailService extends IBaseService<UserPointsDetail>
JsonResult exchange(UserPointsDetailQuery userPointsDetailQuery);
JsonResult pointsDetail(UserPointsDetailQuery userPointsDetailQuery);

JsonResult receive(ReceivePonitsRequest request);
}

tuoheng-api/src/main/java/com/tuoheng/api/service/impl/UserPointsDetailServiceImpl.java → tuoheng-api/src/main/java/com/tuoheng/api/service/points/UserPointsDetailServiceImpl.java View File

@@ -1,4 +1,4 @@
package com.tuoheng.api.service.impl;
package com.tuoheng.api.service.points;

import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -7,11 +7,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tuoheng.api.entity.domain.Goods;
import com.tuoheng.api.entity.domain.Merchant;
import com.tuoheng.api.entity.domain.UserPointsDetail;
import com.tuoheng.api.entity.request.ReceivePonitsRequest;
import com.tuoheng.api.entity.request.UserPointsDetailQuery;
import com.tuoheng.api.mapper.GoodsMapper;
import com.tuoheng.api.mapper.MerchantMapper;
import com.tuoheng.api.mapper.UserPointsDetailMapper;
import com.tuoheng.api.service.IUserPointsDetailService;
import com.tuoheng.api.service.points.receive.ReceivePonitsService;
import com.tuoheng.common.common.BaseServiceImpl;
import com.tuoheng.common.utils.CommonUtils;
import com.tuoheng.common.utils.JsonResult;
@@ -19,9 +20,6 @@ import com.tuoheng.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
* 全民护河公告表 服务实现类
*
@@ -40,6 +38,9 @@ public class UserPointsDetailServiceImpl extends BaseServiceImpl<UserPointsDetai
@Autowired
GoodsMapper goodsMapper;

@Autowired
private ReceivePonitsService receivePonitsService;

@Override
public JsonResult exchange(UserPointsDetailQuery query) {
if (null == query.getPage() || null == query.getLimit()) {
@@ -125,4 +126,9 @@ public class UserPointsDetailServiceImpl extends BaseServiceImpl<UserPointsDetai
// }
return JsonResult.success(userPointsDetailList);
}

@Override
public JsonResult receive(ReceivePonitsRequest request) {
return receivePonitsService.receive(request);
}
}

+ 133
- 0
tuoheng-api/src/main/java/com/tuoheng/api/service/points/receive/ReceivePonitsService.java View File

@@ -0,0 +1,133 @@
package com.tuoheng.api.service.points.receive;

import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tuoheng.api.constants.DictConstants;
import com.tuoheng.api.conver.WestreamSubmitConverMapper;
import com.tuoheng.api.entity.domain.*;
import com.tuoheng.api.entity.request.ReceivePonitsRequest;
import com.tuoheng.api.enums.DictEnum;
import com.tuoheng.api.enums.MarkEnum;
import com.tuoheng.api.mapper.*;
import com.tuoheng.common.exception.ServiceException;
import com.tuoheng.common.utils.DateUtils;
import com.tuoheng.common.utils.JsonResult;
import com.tuoheng.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
* 全民护河领取积分 业务类
*
* @author wanjing
* @since 2023-11-23
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class ReceivePonitsService {

private final WestreamKnowUserMapper westreamKnowUserMapper;

private final UserPointsDetailMapper userPointsDetailMapper;

private final WestreamUserMapper westreamUserMapper;

private final ThDictMapper dictMapper;

private final ThDictDataMapper dictDataMapper;

@Transactional
public JsonResult receive(ReceivePonitsRequest request) {
JsonResult result = this.check(request);
if (0 != result.getCode()) {
log.info("全民护河领取:校验失败:{}", result.getMsg());
return result;
}

WestreamKnowUser westreamKnowUser = westreamKnowUserMapper.selectOne(new LambdaQueryWrapper<WestreamKnowUser>()
.eq(WestreamKnowUser::getTenantId, request.getTenantId())
.eq(WestreamKnowUser::getOpenid, request.getOpenid())
.eq(WestreamKnowUser::getKnowId, request.getKnowId())
.eq(WestreamKnowUser::getMark, MarkEnum.VALID.getCode()));

if (ObjectUtil.isNotEmpty(westreamKnowUser)) {
return JsonResult.success("已经领取,不用重复领取");
}

WestreamUser westreamUser = westreamUserMapper.selectOne(new LambdaQueryWrapper<WestreamUser>()
.eq(WestreamUser::getTenantId, request.getTenantId())
.eq(WestreamUser::getOpenid, request.getOpenid())
.eq(WestreamUser::getMark, MarkEnum.VALID.getCode()));

if (ObjectUtil.isEmpty(westreamUser)) {

}

ThDict dict = dictMapper.selectOne(new LambdaQueryWrapper<ThDict>()
.eq(ThDict::getTenantId, request.getTenantId())
.eq(ThDict::getCode, DictEnum.POINTS_RULE.getCode())
.eq(ThDict::getMark, MarkEnum.VALID.getCode()));

if (ObjectUtil.isEmpty(dict)) {

}

ThDictData dictData = dictDataMapper.selectOne(new LambdaQueryWrapper<ThDictData>()
.eq(ThDictData::getTenantId, request.getTenantId())
.eq(ThDictData::getDictId, dict.getId())
.eq(ThDictData::getName, "")
.eq(ThDictData::getMark, MarkEnum.VALID.getCode()));



UserPointsDetail userPointsDetail = new UserPointsDetail();
userPointsDetail.setTenantId(request.getTenantId());
userPointsDetail.setOpenid(request.getOpenid());
userPointsDetail.setChangeName(westreamUser.getNickname());

if (ObjectUtil.isNotEmpty(dictData)) {
userPointsDetail.setPointsChange(Integer.parseInt(dictData.getValue()));
}

userPointsDetail.setPointsTime(DateUtils.now());


Integer row = userPointsDetailMapper.insert(userPointsDetail);
if (row <= 0) {
return JsonResult.error("领取积分失败");
}


westreamUser.setMallPoints(westreamUser.getMallPoints() + 0);

row = westreamUserMapper.updateById(westreamUser);
if (row <= 0) {
return JsonResult.error("领取积分,修改用户总积分失败");
}

return JsonResult.success();
}

/**
* 检查参数
*
* @param request
* @return
*/
private JsonResult check(ReceivePonitsRequest request) {
if (ObjectUtil.isEmpty(request.getTenantId()) || 0 == request.getTenantId()) {
throw new ServiceException("租户Id为空");
}
if (StringUtils.isEmpty(request.getOpenid())) {
throw new ServiceException("OpenId为空");
}
if (ObjectUtil.isEmpty(request.getKnowId()) || 0 == request.getKnowId()) {
throw new ServiceException("知识ID为空");
}
return JsonResult.success();
}

}

+ 21
- 0
tuoheng-api/src/main/java/com/tuoheng/api/service/westream/submit/WestreamSubmitService.java View File

@@ -0,0 +1,21 @@
package com.tuoheng.api.service.westream.submit;

import com.tuoheng.api.entity.request.AddWestreamSubmitRequest;
import com.tuoheng.common.utils.JsonResult;

/**
* 全民护河上报 服务类
*
* @author wanjing
* @since 2023-11-23
*/
public interface WestreamSubmitService {

/**
* 上报
*
* @return
*/
JsonResult report(AddWestreamSubmitRequest request);

}

+ 21
- 0
tuoheng-api/src/main/java/com/tuoheng/api/service/westream/submit/WestreamSubmitServiceImpl.java View File

@@ -0,0 +1,21 @@
package com.tuoheng.api.service.westream.submit;

import com.tuoheng.api.entity.request.AddWestreamSubmitRequest;
import com.tuoheng.api.service.westream.submit.report.ReportWestreamSubmitService;
import com.tuoheng.common.utils.JsonResult;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

@Slf4j
@Service
@RequiredArgsConstructor
public class WestreamSubmitServiceImpl implements WestreamSubmitService {

private final ReportWestreamSubmitService reportWestreamSubmitService;

@Override
public JsonResult report(AddWestreamSubmitRequest request) {
return reportWestreamSubmitService.add(request);
}
}

+ 75
- 0
tuoheng-api/src/main/java/com/tuoheng/api/service/westream/submit/report/ReportWestreamSubmitService.java View File

@@ -0,0 +1,75 @@
package com.tuoheng.api.service.westream.submit.report;

import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.tuoheng.api.conver.WestreamSubmitConverMapper;
import com.tuoheng.api.entity.domain.WestreamSubmit;
import com.tuoheng.api.entity.request.AddWestreamSubmitRequest;
import com.tuoheng.api.mapper.WestreamSubmitMapper;
import com.tuoheng.common.exception.ServiceException;
import com.tuoheng.common.utils.DateUtils;
import com.tuoheng.common.utils.JsonResult;
import com.tuoheng.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
* 全民护河上报 业务类
*
* @author wanjing
* @since 2023-11-23
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class ReportWestreamSubmitService {

private final WestreamSubmitMapper westreamSubmitMapper;

public JsonResult add(AddWestreamSubmitRequest request) {
JsonResult result = this.check(request);
if (0 != result.getCode()) {
log.info("全民护河上报:校验失败:{}", result.getMsg());
return result;
}
WestreamSubmit westreamSubmit = WestreamSubmitConverMapper.INSTANCE.addRequestToWestreamSubmit(request);
westreamSubmit.setCreateUser(0);
westreamSubmit.setCreateTime(DateUtils.now());
Integer rowId = westreamSubmitMapper.insert(westreamSubmit);
if (rowId <= 0) {
log.info("全民护河上报:添加失败:{}", result.getMsg());
return JsonResult.error("全民护河上报失败");
}
return JsonResult.success();
}

/**
* 检查参数
*
* @param request
* @return
*/
private JsonResult check(AddWestreamSubmitRequest request) {
if (ObjectUtil.isEmpty(request.getTenantId()) || 0 == request.getTenantId()) {
throw new ServiceException("租户Id为空");
}
if (StringUtils.isEmpty(request.getOpenid())) {
throw new ServiceException("OpenId为空");
}
if (StringUtils.isEmpty(request.getLongitude())) {
throw new ServiceException("经度为空");
}
if (StringUtils.isEmpty(request.getLatitude())) {
throw new ServiceException("纬度为空");
}
if (StringUtils.isEmpty(request.getProblemDesc())) {
throw new ServiceException("问题描述为空");
}
if (CollectionUtil.isEmpty(request.getPhotoUrlList())) {
throw new ServiceException("图片为空");
}
return JsonResult.success();
}

}

+ 21
- 0
tuoheng-api/src/main/java/com/tuoheng/api/service/westream/volunteer/WestreamVolunteerService.java View File

@@ -0,0 +1,21 @@
package com.tuoheng.api.service.westream.volunteer;

import com.tuoheng.api.entity.request.AddWestreamVolunteerRequest;
import com.tuoheng.common.utils.JsonResult;

/**
* 全民护河志愿服务 服务类
*
* @author wanjing
* @since 2023-11-23
*/
public interface WestreamVolunteerService {

/**
* 上报
*
* @return
*/
JsonResult add(AddWestreamVolunteerRequest request);

}

+ 27
- 0
tuoheng-api/src/main/java/com/tuoheng/api/service/westream/volunteer/WestreamVolunteerServiceImpl.java View File

@@ -0,0 +1,27 @@
package com.tuoheng.api.service.westream.volunteer;

import com.tuoheng.api.entity.request.AddWestreamVolunteerRequest;
import com.tuoheng.api.service.westream.volunteer.add.AddWestreamVolunteerService;
import com.tuoheng.common.utils.JsonResult;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
* 全民护河志愿服务 服务类
*
* @author wanjing
* @since 2023-11-23
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class WestreamVolunteerServiceImpl implements WestreamVolunteerService {

private final AddWestreamVolunteerService addWestreamVolunteerService;

@Override
public JsonResult add(AddWestreamVolunteerRequest request) {
return addWestreamVolunteerService.add(request);
}
}

+ 85
- 0
tuoheng-api/src/main/java/com/tuoheng/api/service/westream/volunteer/add/AddWestreamVolunteerService.java View File

@@ -0,0 +1,85 @@
package com.tuoheng.api.service.westream.volunteer.add;

import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.tuoheng.api.conver.WestreamVolunteerConverMapper;
import com.tuoheng.api.entity.request.AddWestreamVolunteerRequest;
import com.tuoheng.api.entity.domain.WestreamVolunteer;
import com.tuoheng.api.mapper.WestreamVolunteerMapper;
import com.tuoheng.common.exception.ServiceException;
import com.tuoheng.common.utils.DateUtils;
import com.tuoheng.common.utils.JsonResult;
import com.tuoheng.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
* 全民护河志愿服务 业务类
*
* @author wanjing
* @since 2023-11-23
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class AddWestreamVolunteerService {

private final WestreamVolunteerMapper westreamVolunteerMapper;

public JsonResult add(AddWestreamVolunteerRequest request) {
JsonResult result = this.check(request);
if (0 != result.getCode()) {
log.info("全民护河志愿服务申请:校验失败:{}", result.getMsg());
return result;
}
WestreamVolunteer westreamVolunteer = WestreamVolunteerConverMapper.INSTANCE.addRequestToWestreamVolunteer(request);
westreamVolunteer.setCreateUser(0);
westreamVolunteer.setCreateTime(DateUtils.now());
Integer rowId = westreamVolunteerMapper.insert(westreamVolunteer);
if (rowId <= 0) {
log.info("全民护河志愿服务:添加失败:{}", result.getMsg());
return JsonResult.error("全民护河志愿服务申请失败");
}
return JsonResult.success();
}

/**
* 检查参数
*
* @param request
*
* @return
*/
private JsonResult check(AddWestreamVolunteerRequest request) {
if (ObjectUtil.isEmpty(request.getTenantId()) || 0 == request.getTenantId()) {
throw new ServiceException("租户Id为空");
}
if (StringUtils.isEmpty(request.getOpenid())) {
throw new ServiceException("OpenId为空");
}
if (ObjectUtil.isEmpty(request.getActivityNum()) || 0 == request.getActivityNum()) {
throw new ServiceException("活动人数为空");
}
if (ObjectUtil.isEmpty(request.getActivityDate())) {
throw new ServiceException("活动日期为空");
}
if (ObjectUtil.isEmpty(request.getActivityPoints())) {
throw new ServiceException("获取积分为空");
}
if (StringUtils.isEmpty(request.getCompanyName())) {
throw new ServiceException("单位名称为空");
}
if (StringUtils.isEmpty(request.getContactName())) {
throw new ServiceException("联系人为空");
}
if (StringUtils.isEmpty(request.getContactPhone())) {
throw new ServiceException("电话为空");
}
if (StringUtils.isEmpty(request.getPhotoUrl())) {
throw new ServiceException("图片为空");
}
return JsonResult.success();
}

}

+ 2
- 0
tuoheng-api/src/main/resources/application-local.yml View File

@@ -15,6 +15,8 @@ tuoheng:
video-url: http://vod.play.t-aaron.com/
# 高德Key
gaodeKey: 5a1f63e7563cba471a9d0773e218144a
# DSP服务域名
dsp-domain-url: http://192.168.11.11:7011/

#阿里云
aliyuncsVod:

+ 11
- 0
tuoheng-common/src/main/java/com/tuoheng/common/exception/ServiceException.java View File

@@ -1,5 +1,6 @@
package com.tuoheng.common.exception;
import com.tuoheng.common.common.ExceptionInterface;
import com.tuoheng.common.utils.JsonResult;

/**
* 业务异常类(业务处理时手动抛出异常)
@@ -42,5 +43,15 @@ public class ServiceException extends RuntimeException {
this.code = code;
}

/**
* 构造器
*
* @param msg
*/
public ServiceException(String msg) {
super(msg);
this.msg = msg;
this.code = JsonResult.ERROR;
}
}


+ 5
- 5
tuoheng-common/src/main/java/com/tuoheng/common/utils/JsonResult.java View File

@@ -22,7 +22,7 @@ public class JsonResult<T> implements Serializable {
/**
* 失败
*/
public static final int error = CommonConstants.FAIL;
public static final int ERROR = CommonConstants.FAIL;

private int code;

@@ -43,19 +43,19 @@ public class JsonResult<T> implements Serializable {
}

public static <T> JsonResult<T> error() {
return jsonResult(null, error, "操作失败");
return jsonResult(null, ERROR, "操作失败");
}

public static <T> JsonResult<T> error(String msg) {
return jsonResult(null, error, msg);
return jsonResult(null, ERROR, msg);
}

public static <T> JsonResult<T> error(T data) {
return jsonResult(data, error, "操作失败");
return jsonResult(data, ERROR, "操作失败");
}

public static <T> JsonResult<T> error(T data, String msg) {
return jsonResult(data, error, msg);
return jsonResult(data, ERROR, msg);
}

public static <T> JsonResult<T> error(int code, String msg) {

Loading…
Cancel
Save