Browse Source

确认积分时志愿者增加爱心时长

feature/dangjian
liuchuang 6 years ago
parent
commit
a0221d9ad2
  1. 48
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserClockLogServiceImpl.java
  2. 13
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java
  3. 6
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java
  4. 27
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerKindnessTimeFormDTO.java
  5. 15
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java
  6. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java
  7. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java
  8. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java
  9. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml

48
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserClockLogServiceImpl.java

@ -33,11 +33,10 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.ActStateConstant;
import com.elink.esua.epdc.constant.ActUserRelationStatusConstant;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.dto.logs.PointsLogsDTO;
import com.elink.esua.epdc.modules.activity.dao.ActUserClockLogDao;
import com.elink.esua.epdc.modules.activity.dao.ActUserRelationDao;
import com.elink.esua.epdc.modules.activity.entity.ActUserClockLogEntity;
import com.elink.esua.epdc.modules.activity.redis.ActUserClockLogRedis;
import com.elink.esua.epdc.modules.activity.service.*;
import com.elink.esua.epdc.modules.feign.PointsFeignClient;
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient;
@ -47,6 +46,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.text.DecimalFormat;
import java.util.*;
/**
@ -58,9 +58,6 @@ import java.util.*;
@Service
public class ActUserClockLogServiceImpl extends BaseServiceImpl<ActUserClockLogDao, ActUserClockLogEntity> implements ActUserClockLogService {
@Autowired
private ActUserClockLogRedis actUserClockLogRedis;
@Autowired
private ActUserRelationService actUserRelationService;
@ -69,6 +66,7 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl<ActUserClockLogD
@Autowired
private ActUserLogService actUserLogService;
@Autowired
private ActUserPointsLogService actUserPointsLogService;
@ -77,10 +75,9 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl<ActUserClockLogD
@Autowired
private UserInfoFeignClient userInfoFeignClient;
@Autowired
private PointsFeignClient pointsFeignClient;
@Autowired
private ActUserRelationDao actUserRelationDao;
@Override
@ -149,6 +146,11 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl<ActUserClockLogD
pointsLogDTO.setOperationPointsType(ActStateConstant.OPERATION_POINTS_TYPE_ADD);
point =actInfoDTO.getReward();
pointsLogDTO.setPoints(point);
// 志愿者增加爱心时长
Result result = this.calculationKindnessTime(actInfoDTO, dto.getId());
if (!result.success()) {
return result;
}
//拒绝加积分
} else if (ActStateConstant.ACT_USER_RELATION_STATUS_POINTREJECT.equals(dto.getStatus())) {
@ -171,7 +173,7 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl<ActUserClockLogD
//增加积分记录
actUserPointsLogService.save(pointsLogDTO);
// 更新用户状态
return userInfoHandle(dto,pointsLogsEntity);
return userInfoHandle(dto,pointsLogsEntity);
}
@ -277,4 +279,34 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl<ActUserClockLogD
return new Result().ok("打卡成功");
}
/**
*
* 确认积分时志愿者增加爱心时长
*
* @params [actInfoDTO, actUserId]
* @return Result
* @author liuchuang
* @since 2020/2/7 17:06
*/
private Result calculationKindnessTime(ActInfoDTO actInfoDTO, String actUserId) {
ActUserRelationDTO actUserRelationDto = actUserRelationService.get(actUserId);
if (null != actUserRelationDto) {
try {
// 计算爱心时长(单位:小时,保留两位小数)
DecimalFormat df = new DecimalFormat("0.00");
String kindnessTime = df.format((float) actInfoDTO.getActEndTime().getTime() / actInfoDTO.getActStartTime().getTime());
EpdcVolunteerKindnessTimeFormDTO formDto = new EpdcVolunteerKindnessTimeFormDTO();
formDto.setKindnessTime(Float.valueOf(kindnessTime));
formDto.setUserId(actUserRelationDto.getUserId());
return userInfoFeignClient.addKindnessTime(formDto);
} catch (Exception e) {
e.printStackTrace();
return new Result().error();
}
}
return new Result();
}
}

13
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java

@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.modules.feign.fallback.UserInfoFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
@ -66,4 +67,16 @@ public interface UserInfoFeignClient {
**/
@PostMapping(value = "app-user/user/handleUserPoints", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<UserDTO> handleUserPoints(EpdcUserPointsFormDTO formDTO);
/**
*
* 志愿者增加参与活动爱心时长
*
* @params [formDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2020/2/7 18:16
*/
@PostMapping(value = "app-user/volunteerinfo/addKindnessTime", consumes = MediaType.APPLICATION_JSON_VALUE)
Result addKindnessTime(EpdcVolunteerKindnessTimeFormDTO formDto);
}

6
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java

@ -6,6 +6,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient;
import org.springframework.stereotype.Component;
@ -39,4 +40,9 @@ public class UserInfoFeignClientFallback implements UserInfoFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "handleUserPoints", formDTO);
}
@Override
public Result addKindnessTime(EpdcVolunteerKindnessTimeFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "addKindnessTime", formDto);
}
}

27
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerKindnessTimeFormDTO.java

@ -0,0 +1,27 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import java.io.Serializable;
/**
*
* 增加志愿者爱心时长Form DTO
*
* @Authorliuchuang
* @Date2020/2/7 18:29
*/
@Data
public class EpdcVolunteerKindnessTimeFormDTO implements Serializable {
private static final long serialVersionUID = 6680590022205970530L;
/**
* 爱心时长
*/
private Float kindnessTime;
/**
* 用户ID
*/
private String userId;
}

15
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java

@ -29,6 +29,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.UserTagDTO;
import com.elink.esua.epdc.dto.UserTagRelationDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.excel.VolunteerInfoExcel;
import com.elink.esua.epdc.service.UserTagRelationService;
@ -196,4 +197,18 @@ public class VolunteerInfoController {
return volunteerInfoService.getVolunteerInfoDTOByUserId(userId);
}
/**
*
* 增加志愿者爱心时长
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2020/2/7 18:40
*/
@PostMapping("addKindnessTime")
public Result addKindnessTime(@RequestBody EpdcVolunteerKindnessTimeFormDTO formDto) {
return volunteerInfoService.modifyVolunteerKindnessTime(formDto);
}
}

12
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.UserTagDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcGetVolunteerRankDTO;
import com.elink.esua.epdc.entity.VolunteerInfoEntity;
@ -116,4 +117,15 @@ public interface VolunteerInfoDao extends BaseDao<VolunteerInfoEntity> {
* @Date 2020/2/6 12:25
**/
VolunteerInfoDTO selectOneVolunteerInfoDTO(String userId);
/**
*
* 增加志愿者爱心时长
*
* @params [formDto]
* @return void
* @author liuchuang
* @since 2020/2/7 18:34
*/
void updateVolunteerKindnessTime(EpdcVolunteerKindnessTimeFormDTO formDto);
}

12
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java

@ -23,6 +23,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserTagDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcCompleteVolunteerInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcGetVolunteerRankDTO;
import com.elink.esua.epdc.entity.VolunteerInfoEntity;
@ -189,4 +190,15 @@ public interface VolunteerInfoService extends BaseService<VolunteerInfoEntity> {
* @Date 2020/2/6 12:23
**/
Result<VolunteerInfoDTO> getVolunteerInfoDTOByUserId(String userId);
/**
*
* 增加志愿者爱心时长
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2020/2/7 18:37
*/
Result modifyVolunteerKindnessTime(EpdcVolunteerKindnessTimeFormDTO formDto);
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java

@ -32,6 +32,7 @@ import com.elink.esua.epdc.dto.UserTagDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcCompleteVolunteerInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcGetVolunteerRankDTO;
import com.elink.esua.epdc.entity.VolunteerInfoEntity;
@ -317,4 +318,11 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
return new Result<VolunteerInfoDTO>().ok(baseDao.selectOneVolunteerInfoDTO(userId));
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result modifyVolunteerKindnessTime(EpdcVolunteerKindnessTimeFormDTO formDto) {
baseDao.updateVolunteerKindnessTime(formDto);
return new Result();
}
}

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml

@ -194,4 +194,13 @@
where m.DEL_FLAG='0'
and m.USER_ID=#{userId}
</select>
<update id="updateVolunteerKindnessTime">
UPDATE epdc_volunteer_info
SET KINDNESS_TIME = ( KINDNESS_TIME + #{kindnessTime} ),
PARTICIPATION_NUM = ( PARTICIPATION_NUM + 1 )
WHERE
USER_ID = #{userId}
AND DEL_FLAG = '0'
</update>
</mapper>

Loading…
Cancel
Save