lidongdong
2024-07-10 bd29af926dc2e0c63a6b55d6af90092ae25068b6
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/NeedProblemClaimServiceImpl.java
@@ -4,10 +4,14 @@
import com.panzhihua.common.model.dtos.partybuilding.NeedProblemClaimDTO;
import com.panzhihua.common.model.dtos.partybuilding.NeedProblemInventoryDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_dangjian.dao.NeedProblemClaimDAO;
import com.panzhihua.service_dangjian.entity.UserIntegral;
import com.panzhihua.service_dangjian.entity.UserTrade;
import com.panzhihua.service_dangjian.service.NeedProblemClaimService;
import com.panzhihua.service_dangjian.service.NeedProblemInventoryService;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -140,15 +144,63 @@
            //开始打卡
            item.setPunchStartTime(new Date());
        }
        else
        {
            NeedProblemClaimDTO userDto=baseMapper.getUserIdDetails(taskId,userId);
        else {
            NeedProblemClaimDTO userDto = baseMapper.getUserIdDetails(taskId, userId);
            //结束打卡
            Date newDate=new Date();
            Date newDate = new Date();
            item.setPunchEndTime(newDate);
            long times=newDate.getTime()-userDto.getPunchStartTime().getTime();
            item.setServiceTime(times+"");
            long times = newDate.getTime() - userDto.getPunchStartTime().getTime();
            item.setServiceTime(times + "");
            NeedProblemInventoryDTO dto=inventoryService.getDetails(taskId,userId);
            UserTrade userTrade=new UserTrade();
            //增加积分
            UserIntegral integral = baseMapper.getUserIntegral(userId);
            if (integral == null) {
                UserIntegral addIn = new UserIntegral();
                addIn.setId(Snowflake.getId()+"");
                addIn.setUserId(userId);
                addIn.setCommunityId(dto.getCommunityId());
                addIn.setIntegralAvailableSum(dto.getAward());
                addIn.setIntegralSum(dto.getAward());
                userTrade.setIntegralId(addIn.getId());
                baseMapper.addUserIntegral(addIn);
            }
            else
            {
                int award=Integer.valueOf(dto.getAward());
                int integralAvailableSum=Integer.valueOf(integral.getIntegralAvailableSum())+award;
                int integralSum=Integer.valueOf(integral.getIntegralSum())+award;
                userTrade.setIntegralId(integral.getId());
                integral.setIntegralAvailableSum(integralAvailableSum+"");
                integral.setIntegralSum(integralSum+"");
                baseMapper.editUserIntegral(integral);
            }
            userTrade.setServiceId(dto.getId());
            userTrade.setId(Snowflake.getId()+"");
            userTrade.setAmount(dto.getAward());
            userTrade.setChangeType("1");
            userTrade.setUserId(userId);
            userTrade.setCommunityId(dto.getCommunityId());
            userTrade.setCreateBy(userId);
//            @ApiModelProperty("1问题清单  2需求清单")
//            private String kind;
            if(StringUtils.equals("2",dto.getKind()))
            {
                //19 完成需求任务
                userTrade.setServiceType("19");
                userTrade.setRemark("完成需求清单任务奖励");
            }
            else
            {
                //20完成问题任务
                userTrade.setServiceType("20");
                userTrade.setRemark("完成问题清单任务奖励");
            }
            baseMapper.addUserIntegralTrade(userTrade);
        }
        return baseMapper.editData(item);
    }