Browse Source

王公峰:志愿者认证接口

feature/dangjian
wanggongfeng 6 years ago
parent
commit
080d757e30
  1. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
  2. 11
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  3. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  4. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
  5. 8
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  6. 107
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCompleteVolunteerInfoFormDTO.java
  7. 52
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppVolunteerInfoController.java
  8. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java
  9. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java
  10. 23
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java
  11. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java

@ -275,7 +275,7 @@ public class ApiAppUserController {
* @date 2019/12/13 14:41 * @date 2019/12/13 14:41
*/ */
@PostMapping("volunteer/authenticate") @PostMapping("volunteer/authenticate")
public Result volunteerAuthenticate(@LoginUser TokenDto tokenDto, @RequestBody EpdcCompleteUserInfoFormDTO formDto) { public Result volunteerAuthenticate(@LoginUser TokenDto tokenDto, @RequestBody EpdcCompleteVolunteerInfoFormDTO formDto) {
ValidatorUtils.validateEntity(formDto); ValidatorUtils.validateEntity(formDto);
return appUserService.volunteerAuthenticate(tokenDto, formDto); return appUserService.volunteerAuthenticate(tokenDto, formDto);

11
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -1,6 +1,5 @@
package com.elink.esua.epdc.feign; package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
@ -8,7 +7,6 @@ import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.UserWxFormIdDTO;
import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.*; import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.form.EpdcCompleteUserInfoFormDTO;
import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback; import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -336,15 +334,14 @@ public interface UserFeignClient {
* @param userId * @param userId
* @return * @return
*/ */
@GetMapping("app-user/epdc-app/user/getVolunteerCountById/{userId}") @GetMapping("app-user/epdc-app/volunteerinfo/getVolunteerCountById/{userId}")
Result<Integer> getVolunteerCountById(@PathVariable("userId") String userId); Result<Integer> getVolunteerCountById(@PathVariable("userId") String userId);
/** /**
* 添加志愿者 * 添加志愿者
* @param tokenDto * @param epdcCompleteVolunteerInfoFormDTO
* @param formDto
* @return * @return
*/ */
@GetMapping("app-user/epdc-app/user/insertVolunteerInfo") @GetMapping("app-user/epdc-app/volunteerinfo/insertVolunteerInfo")
Result<Integer> insertVolunteerInfo(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto); Result<Integer> insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO);
} }

6
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -1,6 +1,5 @@
package com.elink.esua.epdc.feign.fallback; package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
@ -9,7 +8,6 @@ import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.UserWxFormIdDTO;
import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.*; import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.form.EpdcCompleteUserInfoFormDTO;
import com.elink.esua.epdc.feign.UserFeignClient; import com.elink.esua.epdc.feign.UserFeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -168,7 +166,7 @@ public class UserFeignClientFallback implements UserFeignClient {
} }
@Override @Override
public Result<Integer> insertVolunteerInfo(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto) { public Result<Integer> insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "insertVolunteerInfo", tokenDto,formDto); return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "insertVolunteerInfo", epdcCompleteVolunteerInfoFormDTO);
} }
} }

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java

@ -224,7 +224,7 @@ public interface AppUserService {
* @Author wanggongfeng * @Author wanggongfeng
* @return * @return
*/ */
Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto); Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteVolunteerInfoFormDTO formDto);

8
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -1047,18 +1047,20 @@ public class AppUserServiceImpl implements AppUserService {
} }
@Override @Override
public Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto) { public Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteVolunteerInfoFormDTO formDto) {
Boolean isVolunteer = true; Boolean isVolunteer = true;
Result<Integer> volunteerCountResult = userFeignClient.getVolunteerCountById(tokenDto.getUserId()); Result<Integer> volunteerCountResult = userFeignClient.getVolunteerCountById(tokenDto.getUserId());
if (!volunteerCountResult.success() || null == volunteerCountResult.getData()) { if (!volunteerCountResult.success() || null == volunteerCountResult.getData()) {
throw new RenException("志愿者认证失败"); throw new RenException("志愿者认证失败");
}else if(volunteerCountResult.getData() == 0){ }else if(volunteerCountResult.getData() == 0){
isVolunteer = false; isVolunteer = false;
Result<Integer> insertCountResult = userFeignClient.insertVolunteerInfo(tokenDto,formDto); formDto.setUserId(tokenDto.getUserId());
Result<Integer> insertCountResult = userFeignClient.insertVolunteerInfo(formDto);
} }
//用户完善个人信息-保存 //用户完善个人信息-保存
Result<EpdcAppAuthorizationDTO> result = completeUserInfo(tokenDto, formDto); EpdcCompleteUserInfoFormDTO formDto2 = new EpdcCompleteUserInfoFormDTO();
Result<EpdcAppAuthorizationDTO> result = completeUserInfo(tokenDto, formDto2);
return new Result().ok(isVolunteer); return new Result().ok(isVolunteer);

107
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCompleteVolunteerInfoFormDTO.java

@ -0,0 +1,107 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 移动端完善用户信息
*
* @author work@yujt.net.cn
* @date 2019/10/26 10:56
*/
@Data
public class EpdcCompleteVolunteerInfoFormDTO implements Serializable {
private static final long serialVersionUID = 7848126935041704928L;
/**
* 用户Id
*/
private String userId;
/**
* 真实姓名
*/
@NotBlank(message = "真实姓名不能为空")
private String realName;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空")
private String mobile;
@NotBlank(message = "党员标识不能为空")
private String partyFlag;
/**
* 身份证号码
*/
private String identityNo;
/**
* 所在道路
*/
@NotBlank(message = "所在道路不能为空")
private String road;
/**
* 小区名
*/
private String villageName;
/**
* 住处楼栋-单元-房间
*/
private String dwellingPlace;
/**
* 居住网格id
*/
private Long gridId;
/**
* 微信code
*/
private String wxCode;
/**
* 用户信息
*/
private String encryptedData;
/**
* 加密算法的初始向量
*/
private String iv;
/**
* 自我介绍
*/
private String introduce;
/*----------------------用户认证所需字段-----------------------------*/
/**
* 短信验证码
*/
@NotBlank(message = "短信验证码不能为空")
private String smsCode;
/**
* 0女1男
*/
@NotBlank(message = "性别不能为空")
private String sex;
}

52
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppVolunteerInfoController.java

@ -0,0 +1,52 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
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.epdc.form.EpdcCompleteVolunteerInfoFormDTO;
import com.elink.esua.epdc.service.VolunteerInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 对移动端开放
*
* @author wanggongfeng
* @date 2019/9/6 20:31
*/
@RestController
@RequestMapping(Constant.EPDC_APP + "volunteerinfo")
public class EpdcAppVolunteerInfoController {
@Autowired
private VolunteerInfoService volunteerInfoService;
/**
* 根据用户id 进行志愿者认证
* @param userId
* @author wanggongfeng
* @return
*/
@GetMapping("getVolunteerCountById/{userId}")
public Result<Integer> getVolunteerCountById(@PathVariable("userId") String userId) {
return volunteerInfoService.getVolunteerCountById(userId);
}
/**
* 插入一条志愿者数据
* @param epdcCompleteVolunteerInfoFormDTO
* @return
*/
@GetMapping("insertVolunteerInfo")
public Result<Integer> insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO) {
//效验数据
ValidatorUtils.validateEntity(epdcCompleteVolunteerInfoFormDTO, UpdateGroup.class, DefaultGroup.class);
Result<Integer> result = volunteerInfoService.insertVolunteerInfo(epdcCompleteVolunteerInfoFormDTO);
return result;
}
}

8
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.VolunteerInfoDTO;
import com.elink.esua.epdc.entity.VolunteerInfoEntity; import com.elink.esua.epdc.entity.VolunteerInfoEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -80,4 +81,11 @@ public interface VolunteerInfoDao extends BaseDao<VolunteerInfoEntity> {
* @return * @return
*/ */
UserTagDTO volunteerTagQuery(String tagCode); UserTagDTO volunteerTagQuery(String tagCode);
/**
* 志愿者认证
* @param userId
* @return
*/
int getVolunteerCountById(@Param("userId") String userId);
} }

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

@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserTagDTO; import com.elink.esua.epdc.dto.UserTagDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcCompleteVolunteerInfoFormDTO;
import com.elink.esua.epdc.entity.VolunteerInfoEntity; import com.elink.esua.epdc.entity.VolunteerInfoEntity;
import java.util.List; import java.util.List;
@ -134,4 +135,15 @@ public interface VolunteerInfoService extends BaseService<VolunteerInfoEntity> {
* @return * @return
*/ */
UserTagDTO volunteerTagQuery(String tagCode); UserTagDTO volunteerTagQuery(String tagCode);
/**
* 根据用户id 进行志愿者认证
* @param userId
* @author wanggongfeng
* @return
* @Date 2019/12/13 16:39
*/
Result<Integer> getVolunteerCountById(String userId);
Result<Integer> insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO);
} }

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

@ -20,13 +20,14 @@ package com.elink.esua.epdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.VolunteerInfoDao; import com.elink.esua.epdc.dao.VolunteerInfoDao;
import com.elink.esua.epdc.dto.UserTagDTO; import com.elink.esua.epdc.dto.UserTagDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcCompleteVolunteerInfoFormDTO;
import com.elink.esua.epdc.entity.VolunteerInfoEntity; import com.elink.esua.epdc.entity.VolunteerInfoEntity;
import com.elink.esua.epdc.redis.VolunteerInfoRedis; import com.elink.esua.epdc.redis.VolunteerInfoRedis;
import com.elink.esua.epdc.service.UserService; import com.elink.esua.epdc.service.UserService;
@ -182,5 +183,25 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
return volunteerInfoDao.volunteerTagQuery(tagCode); return volunteerInfoDao.volunteerTagQuery(tagCode);
} }
/**
* 根据用户id 进行志愿者认证
* @param userId
* @author wanggongfeng
* @return
* @Date 2019/12/13 16:39
*/
@Override
public Result<Integer> getVolunteerCountById(String userId) {
return new Result<Integer>().ok(baseDao.getVolunteerCountById(userId));
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result<Integer> insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO) {
VolunteerInfoEntity volunteerEntity = ConvertUtils.sourceToTarget(epdcCompleteVolunteerInfoFormDTO, VolunteerInfoEntity.class);
insert(volunteerEntity);
return new Result<Integer>().ok(0);
}
} }

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

@ -142,4 +142,8 @@
,AUDITOR = #{auditor} ,AUDITOR = #{auditor}
WHERE ID = #{id} WHERE ID = #{id}
</update> </update>
<select id="getVolunteerCountById" resultType="Integer">
SELECT IFNULL(count(*),0) count FROM `epdc_volunteer_info` where del_flag = '0' and id = #{id}
</select>
</mapper> </mapper>
Loading…
Cancel
Save