Browse Source

预约+列表

dev_shibei_match
zxc 4 years ago
parent
commit
fe4897944e
  1. 41
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/MatterListDTO.java
  2. 54
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentFormDTO.java
  3. 20
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/PartyServiceCenterListFormDTO.java
  4. 73
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PartyServiceCenterListResultDTO.java
  5. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/PartyServiceCenterConstant.java
  6. 31
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPartyServiceCenterController.java
  7. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPartyServiceCenterDao.java
  8. 23
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPartyServiceCenterService.java
  9. 68
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java
  10. 35
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPartyServiceCenterDao.xml

41
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/MatterListDTO.java

@ -0,0 +1,41 @@
package com.epmet.dto;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/11/22 2:41 下午
* @DESC
*/
@Data
public class MatterListDTO implements Serializable {
private static final long serialVersionUID = 493404409015559029L;
private Integer sort;
/**
* 事项名
*/
private String matterName;
/**
* 事项ID
*/
private String matterId;
/**
* 可预约时间
*/
private String allowTime;
public MatterListDTO() {
this.sort = NumConstant.ZERO;
this.matterName = "";
this.matterId = "";
this.allowTime = "";
}
}

54
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AppointmentFormDTO.java

@ -0,0 +1,54 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/11/22 2:00 下午
* @DESC
*/
@Data
public class AppointmentFormDTO implements Serializable {
private static final long serialVersionUID = -7113952715343314153L;
public interface AppointmentForm{}
/**
* 事项ID
*/
@NotBlank(message = "matterId不能为空",groups = AppointmentForm.class)
private String matterId;
/**
* 预约日期
*/
@NotBlank(message = "appointmentDate不能为空",groups = AppointmentForm.class)
private String appointmentDate;
/**
* 预约编号
*/
@NotBlank(message = "timeId不能为空",groups = AppointmentForm.class)
private String timeId;
/**
* 预约人
*/
@NotBlank(message = "appointmentName不能为空",groups = AppointmentForm.class)
private String appointmentName;
/**
* 预约电话
*/
@NotBlank(message = "appointmentPhone不能为空",groups = AppointmentForm.class)
private String appointmentPhone;
/**
* 备注
*/
private String remark;
}

20
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/PartyServiceCenterListFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/11/22 2:37 下午
* @DESC
*/
@Data
public class PartyServiceCenterListFormDTO implements Serializable {
private static final long serialVersionUID = -6620725991593811931L;
private String orgId;
private String orgType;
}

73
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PartyServiceCenterListResultDTO.java

@ -0,0 +1,73 @@
package com.epmet.dto.result;
import com.epmet.dto.MatterListDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2021/11/22 2:38 下午
* @DESC
*/
@Data
public class PartyServiceCenterListResultDTO implements Serializable {
private static final long serialVersionUID = -5977663317819468536L;
/**
* 中心名称
*/
private String centerName;
/**
* 党群服务中心ID
*/
private String partyServiceCenterId;
/**
* 社区地址
*/
private String address;
/**
* 办公电话
*/
private String workPhone;
/**
* 上午工作时间
*/
private String amWorkTime;
/**
* 下午工作时间
*/
private String pmWorkTime;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
private List<MatterListDTO> matterList;
public PartyServiceCenterListResultDTO() {
this.centerName = "";
this.partyServiceCenterId = "";
this.address = "";
this.workPhone = "";
this.amWorkTime = "";
this.pmWorkTime = "";
this.longitude = "";
this.latitude = "";
this.matterList = new ArrayList<>();
}
}

3
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/PartyServiceCenterConstant.java

@ -9,4 +9,7 @@ public interface PartyServiceCenterConstant {
String ORG_TYPE_AGENCY = "agency";
String APPOINTMENT_STATUS_APPOINTING = "appointing";
String APPOINTMENT_STATUS_CANCEL = "cancel";
}

31
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcPartyServiceCenterController.java

@ -28,9 +28,8 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcPartyServiceCenterDTO;
import com.epmet.dto.form.AddPartyServiceCenterFormDTO;
import com.epmet.dto.form.DelMatterFormDTO;
import com.epmet.dto.form.EditPartyServiceCenterFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.excel.IcPartyServiceCenterExcel;
import com.epmet.service.IcPartyServiceCenterService;
import org.springframework.beans.factory.annotation.Autowired;
@ -137,4 +136,30 @@ public class IcPartyServiceCenterController {
return new Result();
}
/**
* @Description 预约
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2021/11/22 2:06 下午
*/
@PostMapping("appointment")
public Result appointment(@RequestBody AppointmentFormDTO formDTO, @LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO, AppointmentFormDTO.AppointmentForm.class);
icPartyServiceCenterService.appointment(formDTO,tokenDto);
return new Result();
}
/**
* @Description 党群服务中心列表
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2021/11/22 2:47 下午
*/
@PostMapping("partyservicecenterlist")
public Result<List<PartyServiceCenterListResultDTO>> partyServiceCenterList(@RequestBody PartyServiceCenterListFormDTO formDTO, @LoginUser TokenDto tokenDto){
return new Result<List<PartyServiceCenterListResultDTO>>().ok(icPartyServiceCenterService.partyServiceCenterList(formDTO,tokenDto));
}
}

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPartyServiceCenterDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.entity.IcPartyServiceCenterEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 党群服务中心
@ -29,5 +33,13 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcPartyServiceCenterDao extends BaseDao<IcPartyServiceCenterEntity> {
/**
* @Description 查询党群服务中心列表
* @param orgId
* @author zxc
* @date 2021/11/22 2:51 下午
*/
List<PartyServiceCenterListResultDTO> partyServiceCenterList(@Param("orgId")String orgId);
}

23
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcPartyServiceCenterService.java

@ -21,9 +21,8 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IcPartyServiceCenterDTO;
import com.epmet.dto.form.AddPartyServiceCenterFormDTO;
import com.epmet.dto.form.DelMatterFormDTO;
import com.epmet.dto.form.EditPartyServiceCenterFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.entity.IcPartyServiceCenterEntity;
import java.util.List;
@ -123,4 +122,22 @@ public interface IcPartyServiceCenterService extends BaseService<IcPartyServiceC
*/
void delMatter(DelMatterFormDTO formDTO);
/**
* @Description 预约
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2021/11/22 2:06 下午
*/
void appointment(AppointmentFormDTO formDTO,TokenDto tokenDto);
/**
* @Description 党群服务中心列表
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2021/11/22 2:47 下午
*/
List<PartyServiceCenterListResultDTO> partyServiceCenterList(PartyServiceCenterListFormDTO formDTO,TokenDto tokenDto);
}

68
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java

@ -33,13 +33,13 @@ import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.PartyServiceCenterConstant;
import com.epmet.dao.IcMatterAppointmentRecordDao;
import com.epmet.dao.IcPartyServiceCenterDao;
import com.epmet.dto.IcPartyServiceCenterDTO;
import com.epmet.dto.form.AddPartyServiceCenterFormDTO;
import com.epmet.dto.form.DelMatterFormDTO;
import com.epmet.dto.form.EditPartyServiceCenterFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.PartyServiceCenterListResultDTO;
import com.epmet.entity.IcMatterAppointmentRecordEntity;
import com.epmet.entity.IcPartyServiceCenterEntity;
import com.epmet.entity.IcPartyServiceCenterMatterEntity;
@ -56,6 +56,8 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
import static com.epmet.commons.tools.utils.DateUtils.DATE_PATTERN;
/**
* 党群服务中心
*
@ -216,4 +218,64 @@ public class IcPartyServiceCenterServiceImpl extends BaseServiceImpl<IcPartyServ
matterService.deleteById(formDTO.getMatterId());
}
/**
* @Description 预约
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2021/11/22 2:06 下午
*/
@Override
public void appointment(AppointmentFormDTO formDTO, TokenDto tokenDto) {
String customerId = tokenDto.getCustomerId();
// TODO 后台认证是不是可以预约
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId());
if (null == staffInfo){
throw new RenException(String.format("查询人员{%s}信息失败",tokenDto.getUserId()));
}
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId());
if (null == agencyInfo){
throw new RenException(String.format("查询组织信息失败%s",staffInfo.getAgencyId()));
}
IcMatterAppointmentRecordEntity e = ConvertUtils.sourceToTarget(formDTO, IcMatterAppointmentRecordEntity.class);
e.setCustomerId(customerId);
e.setOrgId(staffInfo.getAgencyId());
e.setOrgType(PartyServiceCenterConstant.ORG_TYPE_AGENCY);
e.setPid(agencyInfo.getPid());
e.setPids(agencyInfo.getPids());
e.setStatus(PartyServiceCenterConstant.APPOINTMENT_STATUS_APPOINTING);
matterAppointmentRecordDao.insert(e);
}
/**
* @Description 党群服务中心列表
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2021/11/22 2:47 下午
*/
@Override
public List<PartyServiceCenterListResultDTO> partyServiceCenterList(PartyServiceCenterListFormDTO formDTO, TokenDto tokenDto) {
if (StringUtils.isBlank(formDTO.getOrgId())){
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo){
throw new RenException(String.format("查询人员{%s}信息失败",tokenDto.getUserId()));
}
formDTO.setOrgId(staffInfo.getAgencyId());
}
List<PartyServiceCenterListResultDTO> result = baseDao.partyServiceCenterList(formDTO.getOrgId());
if (CollectionUtils.isNotEmpty(result)){
result.forEach(r -> {
if (CollectionUtils.isNotEmpty(r.getMatterList())){
final Integer[] sort = {NumConstant.ONE};
r.getMatterList().forEach(m -> {
m.setSort(sort[NumConstant.ZERO]++);
});
}
});
}
return result;
}
}

35
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPartyServiceCenterDao.xml

@ -3,4 +3,39 @@
<mapper namespace="com.epmet.dao.IcPartyServiceCenterDao">
<resultMap id="partyServiceCenterListMap" type="com.epmet.dto.result.PartyServiceCenterListResultDTO">
<result property="partyServiceCenterId" column="partyServiceCenterId"/>
<result property="centerName" column="centerName"/>
<result property="workPhone" column="workPhone"/>
<result property="address" column="address"/>
<result property="amWorkTime" column="amWorkTime"/>
<result property="pmWorkTime" column="pmWorkTime"/>
<result property="longitude" column="longitude"/>
<result property="latitude" column="latitude"/>
<collection property="matterList" ofType="com.epmet.dto.MatterListDTO">
<result property="matterId" column="matterId"/>
<result property="allowTime" column="allowTime"/>
<result property="matterName" column="matterName"/>
<result property="sort" column="sort"/>
</collection>
</resultMap>
<select id="partyServiceCenterList" resultMap="partyServiceCenterListMap">
SELECT
sc.ID AS partyServiceCenterId,
sc.CENTER_NAME AS centerName,
sc.ADDRESS AS address,
sc.WORK_PHONE AS workPhone,
CONCAT('上午 ',sc.AM_START_TIME,' ~ ',sc.AM_END_TIME) AS amWorkTime,
CONCAT('下午 ',sc.PM_START_TIME,' ~ ',sc.PM_END_TIME) AS pmWorkTime,
sc.LONGITUDE AS longitude,
sc.LATITUDE AS latitude,
cm.MATTER_NAME AS matterName,
cm.ID AS matterId,
CONCAT(cm.START_TIME,' ~ ',cm.END_TIME) AS allowTime
FROM ic_party_service_center sc
LEFT JOIN ic_party_service_center_matter cm ON (cm.PARTY_SERVICE_CENTER_ID = sc.ID AND cm.DEL_FLAG = 0)
WHERE sc.DEL_FLAG = 0
AND ORG_ID = #{orgId}
ORDER BY sc.CREATED_TIME DESC
</select>
</mapper>
Loading…
Cancel
Save