Browse Source

志愿者公益时长修改

feature/syp_points
songyunpeng 5 years ago
parent
commit
06dad10f01
  1. 33
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java
  2. 10
      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. 29
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerKindnessTimeUpdateFormDTO.java
  5. 14
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java
  6. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java
  7. 10
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java
  8. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java
  9. 10
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml

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

@ -50,6 +50,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.constant.*;
import com.elink.esua.epdc.dto.ScheduleJobDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO;
import com.elink.esua.epdc.modules.activity.dao.*;
import com.elink.esua.epdc.modules.activity.entity.ActBannerEntity;
import com.elink.esua.epdc.modules.activity.entity.ActInfoEntity;
@ -68,8 +69,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
* 活动信息表
@ -247,6 +250,8 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
}
//内容审核 - end
ActInfoEntity entity = ConvertUtils.sourceToTarget(dto, ActInfoEntity.class);
//如果更新了公益时长,则更新相关确认积分的志愿者的公益时长
updateKindnessTime(dto);
updateById(entity);
//内容审核- 开始
//接口异常,保存至待审核信息
@ -276,6 +281,34 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
//内容审核 - 结束
return new Result();
}
/**
* @Description 更新志愿者公益时长
* @Author songyunpeng
* @Date 2020/9/11
* @Param [dto]
* @return void
**/
private void updateKindnessTime(ActInfoDTO dto) {
ActInfoEntity oldActInfoEntity = selectById(dto.getId());
if(dto.getKindnessTime() == oldActInfoEntity.getKindnessTime()){
return;
}
//查询出所有的此活动下已确认积分的用户列表ID
Map<String,Object> params = new HashMap<>();
params.put("ACT_ID",dto.getId());
params.put("STATUS","5");
List<ActUserRelationEntity> actUserRelationEntities = actUserRelationDao.selectByMap(params);
if(actUserRelationEntities==null || actUserRelationEntities.size() == 0){
return;
}
List<String> userIds = actUserRelationEntities.stream().map(ActUserRelationEntity::getUserId).collect(Collectors.toList());
EpdcVolunteerKindnessTimeUpdateFormDTO epdcVolunteerKindnessTimeUpdateFormDTO = new EpdcVolunteerKindnessTimeUpdateFormDTO();
//更改的值减去原先的值 若是正的,则代表加上时长差 若是负的 则代表减去时长差
epdcVolunteerKindnessTimeUpdateFormDTO.setKindnessTime(new BigDecimal(dto.getKindnessTime()-oldActInfoEntity.getKindnessTime()));
epdcVolunteerKindnessTimeUpdateFormDTO.setUserIds(userIds);
userInfoFeignClient.updateKindnessTime(epdcVolunteerKindnessTimeUpdateFormDTO);
}
/**
* 活动列表-移动app端用

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

@ -6,6 +6,7 @@ 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.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO;
import com.elink.esua.epdc.modules.feign.fallback.UserInfoFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
@ -79,4 +80,13 @@ public interface UserInfoFeignClient {
*/
@PostMapping(value = "app-user/volunteerinfo/addKindnessTime", consumes = MediaType.APPLICATION_JSON_VALUE)
Result addKindnessTime(EpdcVolunteerKindnessTimeFormDTO formDto);
/**
* @Description 更新志愿者爱心活动时长
* @Author songyunpeng
* @Date 2020/9/11
* @Param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
@PostMapping(value = "app-user/volunteerinfo/updateKindnessTime", consumes = MediaType.APPLICATION_JSON_VALUE)
Result updateKindnessTime(EpdcVolunteerKindnessTimeUpdateFormDTO formDto);
}

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

@ -7,6 +7,7 @@ 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.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO;
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient;
import org.springframework.stereotype.Component;
@ -45,4 +46,9 @@ public class UserInfoFeignClientFallback implements UserInfoFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "addKindnessTime", formDto);
}
@Override
public Result updateKindnessTime(EpdcVolunteerKindnessTimeUpdateFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateKindnessTime", formDto);
}
}

29
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerKindnessTimeUpdateFormDTO.java

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

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

@ -24,9 +24,9 @@ import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.excel.VolunteerInfoExcel;
import com.elink.esua.epdc.service.UserTagService;
@ -189,4 +189,16 @@ public class VolunteerInfoController {
return volunteerInfoService.modifyVolunteerKindnessTime(formDto);
}
/**
* @Description 更新志愿者爱心时长
* @Author songyunpeng
* @Date 2020/9/11
* @Param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
@PostMapping("updateKindnessTime")
public Result updateKindnessTime(@RequestBody EpdcVolunteerKindnessTimeUpdateFormDTO formDto) {
return volunteerInfoService.updateKindnessTime(formDto);
}
}

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

@ -22,6 +22,7 @@ import com.elink.esua.epdc.dto.UserTagDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcAppVolunteerListFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO;
import com.elink.esua.epdc.dto.epdc.form.v2.EpdcCompleteVolunteerInfoV2FormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppVolunteerListResultDTO;
@ -159,4 +160,12 @@ public interface VolunteerInfoDao extends BaseDao<VolunteerInfoEntity> {
* @date 2020/7/20 10:53
*/
Integer selectListVolunteerCount();
/**
* @Description 更新公益时长
* @Author songyunpeng
* @Date 2020/9/11
* @Param [formDto]
* @return void
**/
void updateKindnessTime(EpdcVolunteerKindnessTimeUpdateFormDTO formDto);
}

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

@ -25,6 +25,7 @@ import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcAppVolunteerListFormDTO;
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.form.EpdcVolunteerKindnessTimeUpdateFormDTO;
import com.elink.esua.epdc.dto.epdc.form.v2.EpdcCompleteVolunteerInfoV2FormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppVolunteerListCountResultDTO;
@ -237,5 +238,12 @@ public interface VolunteerInfoService extends BaseService<VolunteerInfoEntity> {
*/
Result<Integer> insertV2VolunteerInfo(EpdcCompleteVolunteerInfoV2FormDTO formDTO);
/**
* @Description 更新公益时长
* @Author songyunpeng
* @Date 2020/9/11
* @Param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
Result updateKindnessTime(EpdcVolunteerKindnessTimeUpdateFormDTO formDto);
}

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

@ -28,7 +28,6 @@ import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.enums.UserTagEnum;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.UserFieldConsant;
@ -37,10 +36,7 @@ import com.elink.esua.epdc.dao.VolunteerInfoDao;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.UserTagDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcAppVolunteerListFormDTO;
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.form.*;
import com.elink.esua.epdc.dto.epdc.form.v2.EpdcCompleteVolunteerInfoV2FormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppVolunteerListCountResultDTO;
@ -445,4 +441,10 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
}
return new Result().ok(NumConstant.ONE);
}
@Override
public Result updateKindnessTime(EpdcVolunteerKindnessTimeUpdateFormDTO formDto) {
baseDao.updateKindnessTime(formDto);
return new Result();
}
}

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

@ -291,4 +291,14 @@
USER_ID = #{userId}
AND DEL_FLAG = '0'
</update>
<update id="updateKindnessTime">
UPDATE epdc_volunteer_info
SET KINDNESS_TIME = ( KINDNESS_TIME + #{kindnessTime} )
WHERE
USER_ID in
<foreach collection="userIds" index="index" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
AND DEL_FLAG = '0'
</update>
</mapper>

Loading…
Cancel
Save