Browse Source

志愿小程序接口

master
Jackwang 4 years ago
parent
commit
8a7dd162cd
  1. 25
      epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/controller/VolunteerController.java
  2. 10
      epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/dao/VolunteerDao.java
  3. 15
      epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/dao/VolunteerOrgRelationDao.java
  4. 2
      epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/entity/VolunteerEntity.java
  5. 5
      epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/entity/VolunteerOrgRelationEntity.java
  6. 20
      epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/service/VolunteerService.java
  7. 43
      epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/service/impl/VolunteerServiceImpl.java
  8. 20
      epdc-cloud-heart/src/main/resources/mapper/volunteer/VolunteerDao.xml
  9. 11
      epdc-cloud-heart/src/main/resources/mapper/volunteer/VolunteerOrgRelationDao.xml

25
epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/controller/VolunteerController.java

@ -28,6 +28,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.modules.volunteer.dao.VolunteerDao;
import com.elink.esua.epdc.modules.volunteer.excel.VolunteerExcel;
import com.elink.esua.epdc.modules.volunteer.service.VolunteerService;
import com.elink.esua.epdc.volunteer.AppVolunteerApplyDTO;
import com.elink.esua.epdc.volunteer.VolunteerDTO;
import com.elink.esua.epdc.volunteer.VolunteerPageDTO;
import org.springframework.beans.factory.annotation.Autowired;
@ -108,4 +109,28 @@ public class VolunteerController {
return volunteerService.handleApply(dto);
}
/**
* @describe: 小程序-志愿者申请
* @author wangtong
* @date 2021/8/30 10:43
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@PostMapping("applyVolunteer")
public Result applyVolunteer(@RequestBody AppVolunteerApplyDTO formDto) {
return volunteerService.applyVolunteer(formDto);
}
/**
* @describe: 小程序-志愿者详情
* @author wangtong
* @date 2021/8/30 11:00
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("getVolunteerDetail")
public Result getVolunteerDetail(@RequestBody AppVolunteerApplyDTO formDto) {
return volunteerService.getVolunteerDetail(formDto);
}
}

10
epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/dao/VolunteerDao.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.volunteer.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.volunteer.entity.VolunteerEntity;
import com.elink.esua.epdc.volunteer.AppVolunteerDetailDTO;
import com.elink.esua.epdc.volunteer.VolunteerPageDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -61,4 +62,13 @@ public interface VolunteerDao extends BaseDao<VolunteerEntity> {
* @return com.elink.esua.epdc.modules.volunteer.entity.VolunteerEntity
*/
VolunteerEntity selectEntityById(@Param("id") String id);
/**
* @describe: 小程序-志愿者详情
* @author wangtong
* @date 2021/8/30 14:30
* @params [userId]
* @return com.elink.esua.epdc.volunteer.AppVolunteerDetailDTO
*/
AppVolunteerDetailDTO selectAppDetailById(@Param("userId") String userId);
}

15
epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/dao/VolunteerOrgRelationDao.java

@ -20,6 +20,9 @@ package com.elink.esua.epdc.modules.volunteer.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.volunteer.entity.VolunteerOrgRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 志愿者组织关系表
@ -29,5 +32,15 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface VolunteerOrgRelationDao extends BaseDao<VolunteerOrgRelationEntity> {
void deleteByVolunteerId(@Param("volunteerId") String volunteerId);
/**
* @describe: 通过志愿者查询与之绑定的组织id
* @author wangtong
* @date 2021/8/30 14:32
* @params [volunteerId]
* @return java.util.List<java.lang.Long>
*/
List<Long> selectOrgIdByVolunteerId(@Param("volunteerId") String volunteerId);
}

2
epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/entity/VolunteerEntity.java

@ -73,7 +73,7 @@ public class VolunteerEntity extends BaseEpdcEntity {
/**
* 头像地址
*/
private String url;
private String faceImg;
/**
* 党员标识0否1是

5
epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/entity/VolunteerOrgRelationEntity.java

@ -18,13 +18,10 @@
package com.elink.esua.epdc.modules.volunteer.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 志愿者组织关系表
*
@ -46,6 +43,6 @@ public class VolunteerOrgRelationEntity extends BaseEpdcEntity {
/**
* 志愿组织id
*/
private Integer volunteerOrgId;
private Long volunteerOrgId;
}

20
epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/service/VolunteerService.java

@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.modules.volunteer.entity.VolunteerEntity;
import com.elink.esua.epdc.volunteer.AppVolunteerApplyDTO;
import com.elink.esua.epdc.volunteer.VolunteerDTO;
import com.elink.esua.epdc.volunteer.VolunteerPageDTO;
@ -113,4 +114,23 @@ public interface VolunteerService extends BaseService<VolunteerEntity> {
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result handleApply(VolunteerDTO dto);
/**
* @describe: 小程序-志愿者申请
* @author wangtong
* @date 2021/8/30 10:43
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result applyVolunteer(AppVolunteerApplyDTO formDto);
/**
* @describe: 小程序-志愿者详情
* @author wangtong
* @date 2021/8/30 11:00
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result getVolunteerDetail(AppVolunteerApplyDTO formDto);
}

43
epdc-cloud-heart/src/main/java/com/elink/esua/epdc/modules/volunteer/service/impl/VolunteerServiceImpl.java

@ -25,9 +25,14 @@ 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.Result;
import com.elink.esua.epdc.modules.volunteer.dao.VolunteerDao;
import com.elink.esua.epdc.modules.volunteer.dao.VolunteerOrgRelationDao;
import com.elink.esua.epdc.modules.volunteer.entity.VolunteerEntity;
import com.elink.esua.epdc.modules.volunteer.entity.VolunteerOrgRelationEntity;
import com.elink.esua.epdc.modules.volunteer.redis.VolunteerRedis;
import com.elink.esua.epdc.modules.volunteer.service.VolunteerOrgRelationService;
import com.elink.esua.epdc.modules.volunteer.service.VolunteerService;
import com.elink.esua.epdc.volunteer.AppVolunteerApplyDTO;
import com.elink.esua.epdc.volunteer.AppVolunteerDetailDTO;
import com.elink.esua.epdc.volunteer.VolunteerDTO;
import com.elink.esua.epdc.volunteer.VolunteerPageDTO;
import org.apache.commons.lang3.StringUtils;
@ -35,6 +40,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -51,6 +57,12 @@ public class VolunteerServiceImpl extends BaseServiceImpl<VolunteerDao, Voluntee
@Autowired
private VolunteerRedis volunteerRedis;
@Autowired
private VolunteerOrgRelationService volunteerOrgRelationService;
@Autowired
private VolunteerOrgRelationDao volunteerOrgRelationDao;
@Override
public PageData<VolunteerDTO> page(Map<String, Object> params) {
IPage<VolunteerEntity> page = baseDao.selectPage(
@ -76,6 +88,37 @@ public class VolunteerServiceImpl extends BaseServiceImpl<VolunteerDao, Voluntee
return new Result().ok("审核成功");
}
@Override
public Result applyVolunteer(AppVolunteerApplyDTO formDto) {
VolunteerEntity entity = ConvertUtils.sourceToTarget(formDto, VolunteerEntity.class);
entity.setState("0");
//新增
if(StringUtils.isBlank(formDto.getId())){
insert(entity);
}else{//修改
volunteerOrgRelationDao.deleteByVolunteerId(formDto.getId());
entity.setReason(null);
updateById(entity);
}
List<VolunteerOrgRelationEntity> relationList = new ArrayList();
for(Long orgId : formDto.getVolunteerOrgIds()){
VolunteerOrgRelationEntity en = new VolunteerOrgRelationEntity();
en.setVolunteerId(entity.getId());
en.setVolunteerOrgId(orgId);
relationList.add(en);
}
volunteerOrgRelationService.insertBatch(relationList);
return new Result().ok("提交成功");
}
@Override
public Result getVolunteerDetail(AppVolunteerApplyDTO formDto) {
AppVolunteerDetailDTO result = baseDao.selectAppDetailById(formDto.getUserId());
result.setVolunteerOrgIds(volunteerOrgRelationDao.selectOrgIdByVolunteerId(result.getId()));
return new Result().ok(result);
}
@Override
public List<VolunteerDTO> list(Map<String, Object> params) {
List<VolunteerEntity> entityList = baseDao.selectList(getWrapper(params));

20
epdc-cloud-heart/src/main/resources/mapper/volunteer/VolunteerDao.xml

@ -85,6 +85,26 @@
id = #{id}
AND del_flag = '0'
</select>
<select id="selectAppDetailById" resultType="com.elink.esua.epdc.volunteer.AppVolunteerDetailDTO">
select v.id,
v.REAL_NAME,
v.MOBILE,
v.ID_CARD,
v.`INTRODUCE_INFO` as introduceInfo,
V.STATE,
CASE
WHEN V.STATE='0' THEN '未审核'
WHEN V.STATE='5' THEN '未通过'
WHEN V.STATE='10' THEN '通过'
else '状态信息错误' END as stateName,
v.REASON,
REPLACE(GROUP_CONCAT(o.volunteer_org_name ORDER BY o.create_date DESC),',','、') as volunteerOrgNames
from epdc_volunteer v
left join epdc_volunteer_org_relation r on v.id=r.VOLUNTEER_ID and r.DEL_FLAG='0'
LEFT JOIN epdc_volunteer_org o on r.VOLUNTEER_ORG_ID=o.id and o.del_flag='0'
where v.DEL_FLAG='0'
and v.USER_ID=#{userId}
</select>
</mapper>

11
epdc-cloud-heart/src/main/resources/mapper/volunteer/VolunteerOrgRelationDao.xml

@ -14,6 +14,17 @@
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<update id="deleteByVolunteerId">
update epdc_volunteer_org_relation set del_flag='1',UPDATED_TIME=now()
where del_flag='0'
and VOLUNTEER_ID=#{volunteerId}
</update>
<select id="selectOrgIdByVolunteerId" resultType="java.lang.Long">
select VOLUNTEER_ORG_ID
from epdc_volunteer_org_relation
where del_flag='0'
and VOLUNTEER_ID=#{volunteerId}
</select>
</mapper>
Loading…
Cancel
Save