<artifactId>aliyun-java-sdk-core</artifactId> | <artifactId>aliyun-java-sdk-core</artifactId> | ||||
<version>4.4.6</version> | <version>4.4.6</version> | ||||
</dependency> | </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> | </dependencies> | ||||
<profiles> | <profiles> |
package com.tuoheng.api.controller; | package com.tuoheng.api.controller; | ||||
import com.tuoheng.api.entity.request.UserPointsDetailQuery; | 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 com.tuoheng.common.utils.JsonResult; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import org.springframework.web.bind.annotation.GetMapping; | import org.springframework.web.bind.annotation.GetMapping; |
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); | |||||
} | |||||
} |
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); | |||||
} | |||||
} |
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); | |||||
} | |||||
} |
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); | |||||
} |
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); | |||||
} |
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; | |||||
} |
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; | |||||
} |
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; | |||||
} |
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; | |||||
} |
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; | |||||
} |
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; | |||||
} |
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; | |||||
} |
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; | |||||
} |
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> { | |||||
} |
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> { | |||||
} |
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> { | |||||
} |
package com.tuoheng.api.service; | |||||
package com.tuoheng.api.service.points; | |||||
import com.tuoheng.api.entity.domain.UserPointsDetail; | 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.entity.request.UserPointsDetailQuery; | ||||
import com.tuoheng.common.common.IBaseService; | import com.tuoheng.common.common.IBaseService; | ||||
import com.tuoheng.common.utils.JsonResult; | import com.tuoheng.common.utils.JsonResult; | ||||
JsonResult exchange(UserPointsDetailQuery userPointsDetailQuery); | JsonResult exchange(UserPointsDetailQuery userPointsDetailQuery); | ||||
JsonResult pointsDetail(UserPointsDetailQuery userPointsDetailQuery); | JsonResult pointsDetail(UserPointsDetailQuery userPointsDetailQuery); | ||||
JsonResult receive(ReceivePonitsRequest request); | |||||
} | } |
package com.tuoheng.api.service.impl; | |||||
package com.tuoheng.api.service.points; | |||||
import cn.hutool.core.util.ObjectUtil; | import cn.hutool.core.util.ObjectUtil; | ||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||
import com.tuoheng.api.entity.domain.Goods; | import com.tuoheng.api.entity.domain.Goods; | ||||
import com.tuoheng.api.entity.domain.Merchant; | import com.tuoheng.api.entity.domain.Merchant; | ||||
import com.tuoheng.api.entity.domain.UserPointsDetail; | 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.entity.request.UserPointsDetailQuery; | ||||
import com.tuoheng.api.mapper.GoodsMapper; | import com.tuoheng.api.mapper.GoodsMapper; | ||||
import com.tuoheng.api.mapper.MerchantMapper; | import com.tuoheng.api.mapper.MerchantMapper; | ||||
import com.tuoheng.api.mapper.UserPointsDetailMapper; | 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.common.BaseServiceImpl; | ||||
import com.tuoheng.common.utils.CommonUtils; | import com.tuoheng.common.utils.CommonUtils; | ||||
import com.tuoheng.common.utils.JsonResult; | import com.tuoheng.common.utils.JsonResult; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
import java.util.ArrayList; | |||||
import java.util.List; | |||||
/** | /** | ||||
* 全民护河公告表 服务实现类 | * 全民护河公告表 服务实现类 | ||||
* | * | ||||
@Autowired | @Autowired | ||||
GoodsMapper goodsMapper; | GoodsMapper goodsMapper; | ||||
@Autowired | |||||
private ReceivePonitsService receivePonitsService; | |||||
@Override | @Override | ||||
public JsonResult exchange(UserPointsDetailQuery query) { | public JsonResult exchange(UserPointsDetailQuery query) { | ||||
if (null == query.getPage() || null == query.getLimit()) { | if (null == query.getPage() || null == query.getLimit()) { | ||||
// } | // } | ||||
return JsonResult.success(userPointsDetailList); | return JsonResult.success(userPointsDetailList); | ||||
} | } | ||||
@Override | |||||
public JsonResult receive(ReceivePonitsRequest request) { | |||||
return receivePonitsService.receive(request); | |||||
} | |||||
} | } |
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(); | |||||
} | |||||
} |
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); | |||||
} |
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); | |||||
} | |||||
} |
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(); | |||||
} | |||||
} |
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); | |||||
} |
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); | |||||
} | |||||
} |
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(); | |||||
} | |||||
} |
video-url: http://vod.play.t-aaron.com/ | video-url: http://vod.play.t-aaron.com/ | ||||
# 高德Key | # 高德Key | ||||
gaodeKey: 5a1f63e7563cba471a9d0773e218144a | gaodeKey: 5a1f63e7563cba471a9d0773e218144a | ||||
# DSP服务域名 | |||||
dsp-domain-url: http://192.168.11.11:7011/ | |||||
#阿里云 | #阿里云 | ||||
aliyuncsVod: | aliyuncsVod: |
package com.tuoheng.common.exception; | package com.tuoheng.common.exception; | ||||
import com.tuoheng.common.common.ExceptionInterface; | import com.tuoheng.common.common.ExceptionInterface; | ||||
import com.tuoheng.common.utils.JsonResult; | |||||
/** | /** | ||||
* 业务异常类(业务处理时手动抛出异常) | * 业务异常类(业务处理时手动抛出异常) | ||||
this.code = code; | this.code = code; | ||||
} | } | ||||
/** | |||||
* 构造器 | |||||
* | |||||
* @param msg | |||||
*/ | |||||
public ServiceException(String msg) { | |||||
super(msg); | |||||
this.msg = msg; | |||||
this.code = JsonResult.ERROR; | |||||
} | |||||
} | } | ||||
/** | /** | ||||
* 失败 | * 失败 | ||||
*/ | */ | ||||
public static final int error = CommonConstants.FAIL; | |||||
public static final int ERROR = CommonConstants.FAIL; | |||||
private int code; | private int code; | ||||
} | } | ||||
public static <T> JsonResult<T> error() { | public static <T> JsonResult<T> error() { | ||||
return jsonResult(null, error, "操作失败"); | |||||
return jsonResult(null, ERROR, "操作失败"); | |||||
} | } | ||||
public static <T> JsonResult<T> error(String msg) { | 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) { | 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) { | 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) { | public static <T> JsonResult<T> error(int code, String msg) { |