springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/IndexApi.java
@@ -327,4 +327,16 @@ public R isShop(){ return R.ok(Constants.IS_SHOP_OPEN); } @ApiOperation(value = "获取最新活动和用户最新收益",response =ComActEasyPhotoRewardVO.class ) @PostMapping("getUserReward") public R getUserReward(){ return communityService.getUserReward(this.getUserId(),this.getCommunityId()); } @ApiOperation(value = "读取用户随手拍奖励") @PostMapping("readUserReward") public R readUserReward(){ return communityService.readUserReward(this.getUserId(),this.getCommunityId()); } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/GrantRewardDTO.java
New file @@ -0,0 +1,30 @@ package com.panzhihua.common.model.dtos.community; import com.panzhihua.common.validated.AddGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.math.BigDecimal; import java.util.List; /** * 随手拍发放奖励请求参数 */ @Data @ApiModel("随手拍发放奖励请求参数") public class GrantRewardDTO implements Serializable { @ApiModelProperty(value="随手拍id") @NotBlank(groups = {AddGroup.class}, message = "随手拍id不能为空") private List<Long> ids; @ApiModelProperty(value="发放奖励金额") @NotBlank(groups = {AddGroup.class}, message = "发放奖励金额不能为空") private BigDecimal amount; @ApiModelProperty(value="操作人",hidden = true) private Long userId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/easyPhoto/AddEasyPhotoActivityDTO.java
@@ -34,6 +34,9 @@ @ApiModelProperty("普通奖励金额") private BigDecimal ordinaryReward; @ApiModelProperty("一般奖励金额") private BigDecimal commonlyReward; @ApiModelProperty("活动图片") private String logo; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/easyPhoto/EditEasyPhotoActivityDTO.java
@@ -32,6 +32,9 @@ @ApiModelProperty("普通奖励金额") private BigDecimal ordinaryReward; @ApiModelProperty("一般奖励金额") private BigDecimal commonlyReward; @ApiModelProperty("活动图片") private String logo; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoActivityVO.java
@@ -38,6 +38,9 @@ @ApiModelProperty("普通奖励金额") private BigDecimal ordinaryReward; @ApiModelProperty("一般奖励金额") private BigDecimal commonlyReward; @ApiModelProperty("活动图片") private String logo; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoRewardVO.java
New file @@ -0,0 +1,22 @@ package com.panzhihua.common.model.vos.community; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * 用户获得随手拍奖励返回参数 */ @Data @ApiModel("用户获得随手拍奖励返回参数") public class ComActEasyPhotoRewardVO { @ApiModelProperty("奖励金额") private BigDecimal amount; @ApiModelProperty("随手拍最新活动") private ComActEasyPhotoActivityVO easyPhotoActivityVO; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActEasyPhotoVO.java
@@ -143,12 +143,15 @@ @ApiModelProperty(value = "发生地址经纬度信息,逗号分割(长的在前面,短的在后面)") private String lngLat; @ApiModelProperty(value = "随手拍标签(1.优质 2.精良 3.普通)") @ApiModelProperty(value = "随手拍标签(1.优质 2.精良 3.普通 4.一般)") private Integer activityType; @ApiModelProperty(value = "参加活动奖励金额") private BigDecimal activityAmount; @ApiModelProperty(value = "随手拍活动id") private Long activityId; @ApiModelProperty(value = "类型(1.心情类 2.治理类)") private Integer easyType; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -3702,4 +3702,29 @@ */ @PostMapping("/dyn/type/delete") R deleteDynTypeByAdmin(@RequestBody List<Long> ids); /** * 随手拍发放奖励 * @param grantRewardDTO 请求参数 * @return 发放结果 */ @PostMapping("/easyphoto/grantReward") R grantReward(@RequestBody GrantRewardDTO grantRewardDTO); /** * 获取最新活动和用户最新收益 * @param userId 用户id * @param communityId 社区id * @return 最新活动和用户最新收益 */ @PostMapping("/easyphoto/getUserReward") R getUserReward(@RequestParam("userId") Long userId,@RequestParam("communityId") Long communityId); /** * 读取用户随手拍奖励 * @param userId 用户id * @return 读取结果 */ @PostMapping("/easyphoto/readUserReward") R readUserReward(@RequestParam("userId") Long userId,@RequestParam("communityId") Long communityId); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityActivityApi.java
@@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.community.GrantRewardDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.*; @@ -19,6 +20,8 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -401,7 +404,6 @@ return r; } @ApiOperation(value = "删除心愿") @PostMapping("deletemicrowish") public R deleteMicrowish(@RequestParam("id")Long id) { @@ -416,4 +418,14 @@ return communityService.easyPhotoStatistics(communityId); } @ApiOperation(value = "随手拍发放奖励") @PostMapping("grantReward") public R grantReward(@Valid @RequestBody GrantRewardDTO grantRewardDTO) { grantRewardDTO.setUserId(this.getUserId()); if(grantRewardDTO.getAmount() == null || grantRewardDTO.getAmount().compareTo(BigDecimal.ZERO) < -1){ return R.fail("您输入的发放金额有误"); } return communityService.grantReward(grantRewardDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1751,4 +1751,35 @@ public R getCommunityLists(){ return comActService.getCommunityLists(); } /** * 随手拍发放奖励 * @param grantRewardDTO 请求参数 * @return 发放结果 */ @PostMapping("/easyphoto/grantReward") public R grantReward(@RequestBody GrantRewardDTO grantRewardDTO) { return comActEasyPhotoService.grantReward(grantRewardDTO); } /** * 获取最新活动和用户最新收益 * @param userId 用户id * @param communityId 社区id * @return 最新活动和用户最新收益 */ @PostMapping("easyphoto/getUserReward") public R getUserReward(@RequestParam("userId") Long userId,@RequestParam("communityId") Long communityId) { return comActEasyPhotoService.getUserReward(userId,communityId); } /** * 读取用户随手拍奖励 * @param userId 用户id * @return 读取结果 */ @PostMapping("easyphoto/readUserReward") public R readUserReward(@RequestParam("userId") Long userId,@RequestParam("communityId") Long communityId) { return comActEasyPhotoService.readUserReward(userId,communityId); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActEasyPhotoRewardMapper.java
New file @@ -0,0 +1,20 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.service_community.model.dos.ComActEasyPhotoRewardDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; /** * @auther lyq * @create 2021-07-23 14:30:03 * @describe 用户随手拍奖励表mapper类 */ @Mapper public interface ComActEasyPhotoRewardMapper extends BaseMapper<ComActEasyPhotoRewardDO> { BigDecimal getUserReward(@Param("userId")Long userId, @Param("communityId")Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActEasyPhotoActivityDO.java
@@ -74,6 +74,11 @@ private BigDecimal ordinaryReward; /** * 一般奖励金额 */ private BigDecimal commonlyReward; /** * 随手拍数量 */ private Integer count; springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActEasyPhotoDO.java
@@ -143,12 +143,13 @@ private BigDecimal activityAmount; /** * 参加活动标签(1.优质 2.精良 3.普通) * 参加活动标签(1.优质 2.精良 3.普通 4.一般) */ public interface activityType{ int yz = 1; int jl = 2; int pt = 3; int yb = 4; } /** springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActEasyPhotoRewardDO.java
New file @@ -0,0 +1,81 @@ package com.panzhihua.service_community.model.dos; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * @auther lyq * @create 2021-07-23 14:30:03 * @describe 用户随手拍奖励表实体类 */ @Data @TableName("com_act_easy_photo_reward") public class ComActEasyPhotoRewardDO implements Serializable { private static final long serialVersionUID = 1L; /** * 主键id */ @TableId(type = IdType.AUTO) private Long id; /** * 用户id */ private Long userId; /** * 社区id */ private Long communityId; /** * 是否已读(1.是 2.否) */ private Integer isRead; /** * 奖励金额 */ private BigDecimal amount; /** * 创建时间 */ private Date createAt; /** * 修改时间 */ private Date updateAt; /** * 是否已读(1.是 2.否) */ public interface isRead{ int yes = 1; int no = 2; } @Override public String toString() { return "ComActEasyPhotoRewardDO{" + "id=" + id + ", userId=" + userId + ", communityId=" + communityId + ", isRead=" + isRead + ", amount=" + amount + ", createAt=" + createAt + ", updateAt=" + updateAt + "}"; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActEasyPhotoRewardService.java
New file @@ -0,0 +1,13 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.service_community.model.dos.ComActEasyPhotoRewardDO; /** * @auther lyq * @create 2021-07-23 14:30:03 * @describe 用户随手拍奖励表服务类 */ public interface ComActEasyPhotoRewardService extends IService<ComActEasyPhotoRewardDO> { } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActEasyPhotoService.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentDTO; import com.panzhihua.common.model.dtos.community.GrantRewardDTO; import com.panzhihua.common.model.dtos.community.PageComActEasyPhotoCommentDTO; import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO; import com.panzhihua.common.model.dtos.partybuilding.ComPbServiceTeamDTO; @@ -91,5 +92,27 @@ */ R easyPhotoStatistics(Long communityId); /** * 随手拍发放奖励 * @param grantRewardDTO 请求参数 * @return 发放结果 */ R grantReward(GrantRewardDTO grantRewardDTO); /** * 获取最新活动和用户最新收益 * @param userId 用户id * @param communityId 社区id * @return 最新活动和用户最新收益 */ R getUserReward(Long userId,Long communityId); /** * 读取用户随手拍奖励 * @param userId 用户id * @return 读取结果 */ R readUserReward(Long userId,Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActUserWalletService.java
@@ -8,6 +8,8 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComActUserWalletDO; import java.math.BigDecimal; /** * @auther lyq * @create 2021-06-25 10:35:11 @@ -33,9 +35,10 @@ * 随手拍审核通过给用户添加收益 * @param activityType 审核通过选择的随手拍标签(1.优质 2.精良 3.普通) * @param easyPhotoId 随手拍id * @param userId 审核用户id * @param userId 发放用户id * @param amount 发放奖励金额 */ void examineAddMoney(Integer activityType,Long easyPhotoId,Long userId); void examineAddMoney(Integer activityType, Long easyPhotoId, Long userId, BigDecimal amount); /** * 分页查询收益结算列表 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoRewardServiceImpl.java
New file @@ -0,0 +1,19 @@ package com.panzhihua.service_community.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.service_community.dao.ComActEasyPhotoRewardMapper; import com.panzhihua.service_community.model.dos.ComActEasyPhotoRewardDO; import com.panzhihua.service_community.service.ComActEasyPhotoRewardService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; /** * @auther lyq * @create 2021-07-23 14:30:03 * @describe 用户随手拍奖励表服务实现类 */ @Slf4j @Service public class ComActEasyPhotoRewardServiceImpl extends ServiceImpl<ComActEasyPhotoRewardMapper, ComActEasyPhotoRewardDO> implements ComActEasyPhotoRewardService { } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -5,12 +5,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentDTO; import com.panzhihua.common.model.dtos.community.GrantRewardDTO; import com.panzhihua.common.model.dtos.community.PageComActEasyPhotoCommentDTO; import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActEasyPhotoCommentVO; import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; import com.panzhihua.common.model.vos.community.TodoEventsVO; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.SensitiveUtil; import com.panzhihua.common.utlis.StringUtils; @@ -18,11 +17,13 @@ import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComActEasyPhotoService; import com.panzhihua.service_community.service.ComActUserWalletService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -33,6 +34,7 @@ * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-12-07 14:31 **/ @Slf4j @Service public class ComActEasyPhotoServiceImpl extends ServiceImpl<ComActEasyPhotoDAO, ComActEasyPhotoDO> implements ComActEasyPhotoService { @Resource @@ -45,6 +47,8 @@ private ComActEasyPhotoCommentUserDAO comActEasyPhotoCommentUserDAO ; @Resource private ComActEasyPhotoActivityMapper comActEasyPhotoActivityMapper; @Resource private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper; @Resource private ComActUserWalletService comActUserWalletService; /** @@ -79,6 +83,20 @@ comActEasyPhotoVO1.setHaveGiveThumbsUp(1); } comActEasyPhotoVO1.setPhone(SensitiveUtil.desensitizedPhoneNumber(comActEasyPhotoVO1.getPhone())); if(comActEasyPhotoVO1.getActivityId() != null && comActEasyPhotoVO1.getStatus().equals(ComActEasyPhotoDO.status.ywc)){ //查询随手拍活动 ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(comActEasyPhotoVO1.getActivityId()); if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)){ comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getGoodReward()); }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)){ comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getExcellentReward()); }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)){ comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getOrdinaryReward()); }else if(comActEasyPhotoVO1.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)){ comActEasyPhotoVO1.setActivityAmount(photoActivityDO.getCommonlyReward()); } } }); iPage.setRecords(records); } @@ -213,8 +231,7 @@ cmActEasyPhotoDO.setStatus(4);//已完成 } cmActEasyPhotoDO.setExamineAt(date); //审核通过判断随手拍是否有活动并计算用户收益 comActUserWalletService.examineAddMoney(comActEasyPhotoVO.getActivityType(),comActEasyPhotoVO.getId(),comActEasyPhotoVO.getUserId()); cmActEasyPhotoDO.setActivityType(comActEasyPhotoVO.getActivityType()); break; case 2: cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId()); @@ -407,5 +424,81 @@ return R.ok(this.baseMapper.getEasyPhotoStatistics(communityId)); } /** * 随手拍发放奖励 * @param grantRewardDTO 请求参数 * @return 发放结果 */ @Override public R grantReward(GrantRewardDTO grantRewardDTO){ if(grantRewardDTO.getIds() == null){ return R.fail("参数错误"); } for (Long id:grantRewardDTO.getIds()) { //查询随手拍 ComActEasyPhotoDO easyPhotoDO = this.baseMapper.selectById(id); if(easyPhotoDO != null){ if(easyPhotoDO.getActivityAmount() != null){ log.info("该随手拍已发放过奖励,不可重复发放,随手拍id" + easyPhotoDO.getId()); continue; } //审核通过判断随手拍是否有活动并计算用户收益 comActUserWalletService.examineAddMoney(easyPhotoDO.getActivityType(),easyPhotoDO.getId(),easyPhotoDO.getSponsorId(),grantRewardDTO.getAmount()); } } return R.ok(); } /** * 获取最新活动和用户最新收益 * @param userId 用户id * @param communityId 社区id * @return 最新活动和用户最新收益 */ @Override public R getUserReward(Long userId,Long communityId){ //结果返回参数 ComActEasyPhotoRewardVO easyPhotoRewardVO = new ComActEasyPhotoRewardVO(); //查询随手拍活动 ComActEasyPhotoActivityVO photoActivityVO = new ComActEasyPhotoActivityVO(); Date nowDate = DateUtils.getCurrentDate(DateUtils.ymdhms_format); List<ComActEasyPhotoActivityDO> photoActivityDOS = comActEasyPhotoActivityMapper.selectList( new QueryWrapper<ComActEasyPhotoActivityDO>().lambda().eq(ComActEasyPhotoActivityDO::getCommunityId,communityId) .eq(ComActEasyPhotoActivityDO::getStatus,ComActEasyPhotoActivityDO.status.jxz) .le(ComActEasyPhotoActivityDO::getActivityStartAt,nowDate).ge(ComActEasyPhotoActivityDO::getActivityEndAt,nowDate)); if(!photoActivityDOS.isEmpty()){ ComActEasyPhotoActivityDO photoActivityDO = photoActivityDOS.get(0); BeanUtils.copyProperties(photoActivityDO,photoActivityVO); } easyPhotoRewardVO.setEasyPhotoActivityVO(photoActivityVO); //查询用户未读奖励金额 BigDecimal amount = comActEasyPhotoRewardMapper.getUserReward(userId,communityId); if(amount != null){ easyPhotoRewardVO.setAmount(amount); } return R.ok(easyPhotoRewardVO); } /** * 读取用户随手拍奖励 * @param userId 用户id * @return 读取结果 */ @Override public R readUserReward(Long userId,Long communityId){ ComActEasyPhotoRewardDO easyPhotoRewardDO = comActEasyPhotoRewardMapper.selectOne(new QueryWrapper<ComActEasyPhotoRewardDO>().lambda() .eq(ComActEasyPhotoRewardDO::getUserId,userId).eq(ComActEasyPhotoRewardDO::getCommunityId,communityId) .eq(ComActEasyPhotoRewardDO::getIsRead,ComActEasyPhotoRewardDO.isRead.no)); if(easyPhotoRewardDO != null){ easyPhotoRewardDO.setIsRead(ComActEasyPhotoRewardDO.isRead.yes); easyPhotoRewardDO.setUpdateAt(new Date()); comActEasyPhotoRewardMapper.updateById(easyPhotoRewardDO); } return R.ok(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java
@@ -14,11 +14,9 @@ import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComActEasyPhotoActivityMapper; import com.panzhihua.service_community.dao.ComActEasyPhotoDAO; import com.panzhihua.service_community.dao.ComActEasyPhotoRewardMapper; import com.panzhihua.service_community.dao.ComActUserWalletMapper; import com.panzhihua.service_community.model.dos.ComActEasyPhotoActivityDO; import com.panzhihua.service_community.model.dos.ComActEasyPhotoDO; import com.panzhihua.service_community.model.dos.ComActUserWalletDO; import com.panzhihua.service_community.model.dos.ComActUserWalletTradeDO; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComActUserWalletChangeService; import com.panzhihua.service_community.service.ComActUserWalletService; import com.panzhihua.service_community.service.ComActUserWalletTradeService; @@ -51,6 +49,8 @@ private ComActUserWalletTradeService comActUserWalletTradeService; @Resource private ComActUserWalletChangeService comActUserWalletChangeService; @Resource private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper; /** * 查询用户钱包信息 @@ -113,7 +113,7 @@ * @param easyPhotoId 随手拍id */ @Override public void examineAddMoney(Integer activityType,Long easyPhotoId,Long userId){ public void examineAddMoney(Integer activityType,Long easyPhotoId,Long userId,BigDecimal amount){ //查询随手拍信息 ComActEasyPhotoDO easyPhotoDO = comActEasyPhotoDAO.selectById(easyPhotoId); @@ -128,11 +128,11 @@ } //查询随手拍活动 ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(easyPhotoDO.getActivityId()); if(photoActivityDO == null){ log.error("给用户添加收益失败,原因:未查到活动记录,活动id:" + easyPhotoDO.getActivityId()); return; } // ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(easyPhotoDO.getActivityId()); // if(photoActivityDO == null){ // log.error("给用户添加收益失败,原因:未查到活动记录,活动id:" + easyPhotoDO.getActivityId()); // return; // } // if(photoActivityDO.getStatus() != ComActEasyPhotoActivityDO.status.jxz){ // log.error("给用户添加收益失败,原因:活动未在进行中,活动id:" + easyPhotoDO.getActivityId()); @@ -156,17 +156,7 @@ this.baseMapper.insert(userWalletDO); } //计算收益 BigDecimal profitAmount = BigDecimal.ZERO; if(activityType.equals(ComActEasyPhotoDO.activityType.yz)){ profitAmount = photoActivityDO.getGoodReward(); }else if(activityType.equals(ComActEasyPhotoDO.activityType.jl)){ profitAmount = photoActivityDO.getExcellentReward(); }else if(activityType.equals(ComActEasyPhotoDO.activityType.pt)){ profitAmount = photoActivityDO.getOrdinaryReward(); } if(profitAmount.compareTo(BigDecimal.ZERO) == 0){ if(amount.compareTo(BigDecimal.ZERO) == 0){ log.error("此次参加活动的随手拍收益为0,不记录本次交易"); return; }else{ @@ -176,23 +166,42 @@ BigDecimal oldSettlementAmount = userWalletDO.getSettlementAmount(); //更新钱包金额 userWalletDO.setIncomeAmount(userWalletDO.getIncomeAmount().add(profitAmount)); userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().add(profitAmount)); userWalletDO.setIncomeAmount(userWalletDO.getIncomeAmount().add(amount)); userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().add(amount)); comActUserWalletMapper.updateById(userWalletDO); //新增钱包资金交易记录 Long tradeId = comActUserWalletTradeService.addWalletTrade(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId() ,easyPhotoDO.getId(),profitAmount, ComActUserWalletTradeDO.type.fb,"发布随手拍" ,easyPhotoDO.getId(),amount, ComActUserWalletTradeDO.type.fb,"发布随手拍" ,userId,userWalletDO.getId(),ComActUserWalletTradeDO.changeType.add); //新增钱包资金变动记录 comActUserWalletChangeService.addWalletChange(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId(),userWalletDO.getId() ,oldIncomeAmount,userWalletDO.getIncomeAmount(),oldAvailableAmount,userWalletDO.getAvailableAmount() ,oldSettlementAmount,userWalletDO.getSettlementAmount(),tradeId); //查询用户未读奖励金额 ComActEasyPhotoRewardDO easyPhotoRewardDO = comActEasyPhotoRewardMapper.selectOne(new QueryWrapper<ComActEasyPhotoRewardDO>().lambda() .eq(ComActEasyPhotoRewardDO::getCommunityId,easyPhotoDO.getCommunityId()) .eq(ComActEasyPhotoRewardDO::getUserId,easyPhotoDO.getSponsorId()) .eq(ComActEasyPhotoRewardDO::getIsRead,ComActEasyPhotoRewardDO.isRead.no)); if(easyPhotoRewardDO == null){ easyPhotoRewardDO = new ComActEasyPhotoRewardDO(); easyPhotoRewardDO.setCommunityId(easyPhotoDO.getCommunityId()); easyPhotoRewardDO.setUserId(easyPhotoDO.getSponsorId()); easyPhotoRewardDO.setIsRead(ComActEasyPhotoRewardDO.isRead.no); easyPhotoRewardDO.setCreateAt(new Date()); easyPhotoRewardDO.setAmount(amount); comActEasyPhotoRewardMapper.insert(easyPhotoRewardDO); }else{ easyPhotoRewardDO.setAmount(easyPhotoRewardDO.getAmount().add(amount)); easyPhotoRewardDO.setUpdateAt(new Date()); comActEasyPhotoRewardMapper.updateById(easyPhotoRewardDO); } } //更新随手拍活动信息 easyPhotoDO.setActivityType(activityType); easyPhotoDO.setActivityAmount(profitAmount); easyPhotoDO.setActivityAmount(amount); comActEasyPhotoDAO.updateById(easyPhotoDO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActEasyPhotoActivityDOMapper.xml
@@ -16,17 +16,18 @@ <result column="count" property="count" /> <result column="logo" property="logo" /> <result column="create_at" property="createAt" /> <result column="commonly_reward" property="commonlyReward" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, status, content, activity_start_at, activity_end_at, release_at, good_reward, excellent_reward, ordinary_reward, count, create_at, logo id, status, content, activity_start_at, activity_end_at, release_at, good_reward, excellent_reward, ordinary_reward, count, create_at, logo, commonly_reward </sql> <select id="pageActivity" parameterType="com.panzhihua.common.model.dtos.community.easyPhoto.PageEasyPhotoActivityDTO" resultType="com.panzhihua.common.model.vos.community.ComActEasyPhotoActivityVO"> select id,community_id,status,content,activity_start_at,activity_end_at,release_at,good_reward ,excellent_reward,ordinary_reward,count,logo from com_act_easy_photo_activity ,excellent_reward,ordinary_reward,commonly_reward,count,logo from com_act_easy_photo_activity <where> <if test="pageEasyPhotoActivityDTO.status != null"> and status = #{pageEasyPhotoActivityDTO.status} springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActEasyPhotoRewardDOMapper.xml
New file @@ -0,0 +1,25 @@ <?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.panzhihua.service_community.dao.ComActEasyPhotoRewardMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActEasyPhotoRewardDO"> <id column="id" property="id" /> <result column="user_id" property="userId" /> <result column="community_id" property="communityId" /> <result column="is_read" property="isRead" /> <result column="amount" property="amount" /> <result column="create_at" property="createAt" /> <result column="update_at" property="updateAt" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, user_id, community_id, is_read, amount, create_at, update_at </sql> <select id="getUserReward" resultType="java.math.BigDecimal"> select amount from com_act_easy_photo_reward where user_id = #{userId} and is_read = 2 and community_id = #{communityId} </select> </mapper>