Commit 447b86e6 authored by mengmeng's avatar mengmeng

Merge branch 'Shen' into 'master'

Shen

See merge request !16
parents f2e7cee7 3af407cb
package io.hmit.modules.serviceOrder.dto; package io.hmit.modules.serviceOrder.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
...@@ -70,6 +72,12 @@ public class PensionOrderDTO implements Serializable { ...@@ -70,6 +72,12 @@ public class PensionOrderDTO implements Serializable {
@ApiModelProperty(value = "接单人电话") @ApiModelProperty(value = "接单人电话")
private String orderRecipientPhone; private String orderRecipientPhone;
@ApiModelProperty(value = "服务内容描述")
private String content;
@ApiModelProperty(value = "实际金额")
private String actPrice;
@ApiModelProperty(value = "部门ID") @ApiModelProperty(value = "部门ID")
private Long deptId; private Long deptId;
......
...@@ -91,6 +91,14 @@ public class PensionOrderEntity extends BaseEntity { ...@@ -91,6 +91,14 @@ public class PensionOrderEntity extends BaseEntity {
* 接单人电话 * 接单人电话
*/ */
private String orderRecipientPhone; private String orderRecipientPhone;
/**
* 服务内容描述
*/
private String content;
/**
* 实际金额
*/
private String actPrice;
/** /**
* 部门ID * 部门ID
*/ */
......
...@@ -72,5 +72,5 @@ mybatis-plus: ...@@ -72,5 +72,5 @@ mybatis-plus:
call-setters-on-nulls: true call-setters-on-nulls: true
jdbc-type-for-null: 'null' jdbc-type-for-null: 'null'
QR: QR:
# download-path: /home/resourse/bsqzc/ D:/123/ /home/websoft/java_jar/bl_workorder/myfile/ # download-path: /home/resourse/bsqzc/ D:/123/ /home/websoft/java_jar/pension_service/myfile/
download-path: /home/websoft/java_jar/pension_service/myfile/ download-path: /home/websoft/java_jar/pension_service/myfile/
...@@ -27,7 +27,7 @@ public class SwaggerConfig { ...@@ -27,7 +27,7 @@ public class SwaggerConfig {
@Bean @Bean
public Docket createRestApi() { public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2)
// .host("byyl.zjhmit.com") .host("byyl.zjhmit.com")
.apiInfo(apiInfo()) .apiInfo(apiInfo())
.select() .select()
//加了ApiOperation注解的类,才生成接口文档 //加了ApiOperation注解的类,才生成接口文档
......
package io.hmit.config;
import me.chanjar.weixin.mp.api.WxMpConfigStorage;
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
/**
* @Description :
* @Author : Shen Yuanfeng
* @Date: 2021/3/12 16:03
*/
@Component
public class WeChatMpConfig {
@Autowired
private WechatAccountConfig wechatAccountConfig;
@Bean
public WxMpService wxMpService(){
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(wxMpConfigStorage());
return wxMpService;
}
@Bean
public WxMpConfigStorage wxMpConfigStorage(){
WxMpInMemoryConfigStorage wxMpConfigStorage = new WxMpInMemoryConfigStorage();
wxMpConfigStorage.setAppId(wechatAccountConfig.getMpAppId());
wxMpConfigStorage.setSecret(wechatAccountConfig.getMpAppSecret());
return wxMpConfigStorage;
}
}
package io.hmit.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @Description :
* @Author : Shen Yuanfeng
* @Date: 2021/3/12 16:02
*/
@Data
@Component
@ConfigurationProperties(prefix = "wechat")
public class WechatAccountConfig {
private String mpAppId;
private String mpAppSecret;
private String templateId;
}
package io.hmit.modules.serviceOrder.controller; package io.hmit.modules.serviceOrder.controller;
import com.alibaba.fastjson.JSON;
import io.hmit.annotation.Login; import io.hmit.annotation.Login;
import io.hmit.annotation.LoginUser; import io.hmit.annotation.LoginUser;
import io.hmit.common.constant.Constant; import io.hmit.common.constant.Constant;
...@@ -13,7 +14,8 @@ import io.hmit.common.validator.group.UpdateGroup; ...@@ -13,7 +14,8 @@ import io.hmit.common.validator.group.UpdateGroup;
import io.hmit.entity.UserEntity; import io.hmit.entity.UserEntity;
import io.hmit.modules.serviceOrder.dto.PensionOrderDTO; import io.hmit.modules.serviceOrder.dto.PensionOrderDTO;
import io.hmit.modules.serviceOrder.dto.ReservationDTO; import io.hmit.modules.serviceOrder.dto.ReservationDTO;
import io.hmit.modules.serviceOrder.service.PensionOrderService; import io.hmit.modules.serviceOrder.dto.StaffFinishDTO;
import io.hmit.modules.serviceOrder.service.*;
import io.hmit.service.UserService; import io.hmit.service.UserService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
...@@ -23,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -23,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.net.URLDecoder;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
...@@ -42,6 +45,15 @@ public class PensionOrderController { ...@@ -42,6 +45,15 @@ public class PensionOrderController {
@Autowired @Autowired
private UserService userService; private UserService userService;
@Autowired
private PensionOrderDocumentService pensionOrderDocumentService;
@Autowired
private PensionOrderEvaluationService pensionOrderEvaluationService;
@Autowired
private PensionServiceService pensionServiceService;
@Login @Login
@GetMapping("page") @GetMapping("page")
@ApiOperation("全部订单(志愿者)") @ApiOperation("全部订单(志愿者)")
...@@ -203,6 +215,22 @@ public class PensionOrderController { ...@@ -203,6 +215,22 @@ public class PensionOrderController {
return new Result<PageData<PensionOrderDTO>>().ok(page); return new Result<PageData<PensionOrderDTO>>().ok(page);
} }
/**
* 服务人员完成订单接口
*/
@Login
@PostMapping("staffFinishedOrder")
@ApiOperation(value = "服务人员完成订单接口(服务人员)")
public Result staffFinishedOrder(@RequestBody String dto){
String todto = null;
try {
todto = URLDecoder.decode(dto,"UTF-8");
}catch (Exception ignored){}
StaffFinishDTO staffFinishDTO = JSON.parseObject(todto.substring(4), StaffFinishDTO.class);
pensionOrderService.staffFinishedOrder(staffFinishDTO);
return new Result();
}
/** /**
* 机构订单接口 * 机构订单接口
*/ */
...@@ -217,7 +245,7 @@ public class PensionOrderController { ...@@ -217,7 +245,7 @@ public class PensionOrderController {
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String")
}) })
public Result<PageData<PensionOrderDTO>> organization(@ApiIgnore @LoginUser UserEntity user, public Result<PageData<PensionOrderDTO>> organization(@ApiIgnore @LoginUser UserEntity user,
@ApiIgnore @RequestParam Map<String, Object> params){ @ApiIgnore @RequestParam Map<String, Object> params){
//登录->查询登录人员所属机构ID->机构ID查询服务ID(List)->服务ID + 状态查询订单(List) //登录->查询登录人员所属机构ID->机构ID查询服务ID(List)->服务ID + 状态查询订单(List)
PageData<PensionOrderDTO> page = pensionOrderService.getOrganizationOrder(params, user.getId()); PageData<PensionOrderDTO> page = pensionOrderService.getOrganizationOrder(params, user.getId());
return new Result<PageData<PensionOrderDTO>>().ok(page); return new Result<PageData<PensionOrderDTO>>().ok(page);
...@@ -272,16 +300,26 @@ public class PensionOrderController { ...@@ -272,16 +300,26 @@ public class PensionOrderController {
@ApiOperation("信息") @ApiOperation("信息")
public Result<PensionOrderDTO> get(@PathVariable("id") Long id){ public Result<PensionOrderDTO> get(@PathVariable("id") Long id){
PensionOrderDTO data = pensionOrderService.get(id); PensionOrderDTO data = pensionOrderService.get(id);
data.setStaffImages(pensionOrderDocumentService.findByOrderIdAndRemark(id, "1"));
data.setStaffVoiceMessage(pensionOrderDocumentService.findStaffVoiceId(id));
data.setUserImages(pensionOrderDocumentService.findByOrderIdAndRemark(id, "3"));
data.setPensionOrderEvaluationDTO(pensionOrderEvaluationService.findByOrderId(id));
data.setIcon(pensionServiceService.get(data.getServiceId()).getDetailPicture());
return new Result<PensionOrderDTO>().ok(data); return new Result<PensionOrderDTO>().ok(data);
} }
@Login @Login
@PostMapping("reservationOrder") @PostMapping("reservationOrder")
@ApiOperation("预约保存") @ApiOperation("预约保存")
public Result reservationOrder(@ApiIgnore @LoginUser UserEntity user,@RequestBody ReservationDTO dto){ public Result reservationOrder(@ApiIgnore @LoginUser UserEntity user, @RequestBody String dto){
String todto = null;
try {
todto = URLDecoder.decode(dto,"UTF-8");
}catch (Exception ignored){}
ReservationDTO reservationDTO = JSON.parseObject(todto.substring(4), ReservationDTO.class);
PensionOrderDTO data = new PensionOrderDTO().assemblePensionOrder(dto,user); PensionOrderDTO data = new PensionOrderDTO().assemblePensionOrder(reservationDTO,user);
data.setCommunityId(user.getCommunityId()); data.setCommunityId(user.getCommunityId());
data.setCommunityName(user.getCommunityName()); data.setCommunityName(user.getCommunityName());
pensionOrderService.reservation(data); pensionOrderService.reservation(data);
......
package io.hmit.modules.serviceOrder.controller; package io.hmit.modules.serviceOrder.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import io.hmit.annotation.Login;
import io.hmit.common.constant.Constant; import io.hmit.common.constant.Constant;
import io.hmit.common.page.PageData; import io.hmit.common.page.PageData;
import io.hmit.common.utils.Result; import io.hmit.common.utils.Result;
...@@ -14,10 +17,14 @@ import io.swagger.annotations.Api; ...@@ -14,10 +17,14 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import springfox.documentation.spring.web.json.Json;
import java.net.URLDecoder;
import java.util.Map; import java.util.Map;
...@@ -59,13 +66,19 @@ public class PensionOrderEvaluationController { ...@@ -59,13 +66,19 @@ public class PensionOrderEvaluationController {
return new Result<PensionOrderEvaluationDTO>().ok(data); return new Result<PensionOrderEvaluationDTO>().ok(data);
} }
@Login
@PostMapping @PostMapping
@ApiOperation("保存") @ApiOperation("保存")
public Result save(@RequestBody PensionOrderEvaluationDTO dto){ public Result save(@RequestBody String dto){
String todto = null;
pensionOrderEvaluationService.save(dto); try {
todto = URLDecoder.decode(dto,"UTF-8");
pensionOrderService.evaluationDone(dto); }catch (Exception ignored){}
PensionOrderEvaluationDTO pensionOrderEvaluationDTO = JSON.parseObject(todto.substring(4), PensionOrderEvaluationDTO.class);
pensionOrderEvaluationDTO.setFile(StringUtils.join(pensionOrderEvaluationDTO.getFiles(), ","));
pensionOrderEvaluationService.save(pensionOrderEvaluationDTO);
pensionOrderService.evaluationDone(pensionOrderEvaluationDTO);
return new Result(); return new Result();
} }
......
package io.hmit.modules.serviceOrder.dao; package io.hmit.modules.serviceOrder.dao;
import io.hmit.common.dao.BaseDao; import io.hmit.common.dao.BaseDao;
import io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO;
import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity; import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 订单及相关图片附件关联表 * 订单及相关图片附件关联表
* *
...@@ -12,5 +15,9 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -12,5 +15,9 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface PensionOrderDocumentDao extends BaseDao<PensionOrderDocumentEntity> { public interface PensionOrderDocumentDao extends BaseDao<PensionOrderDocumentEntity> {
List<PensionOrderDocumentDTO> findByOrderIdAndRemark(Long orderId, String remark);
PensionOrderDocumentDTO findStaffVoiceId(Long orderId);
} }
\ No newline at end of file
package io.hmit.modules.serviceOrder.dao; package io.hmit.modules.serviceOrder.dao;
import io.hmit.common.dao.BaseDao; import io.hmit.common.dao.BaseDao;
import io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO;
import io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity; import io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -12,5 +13,7 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -12,5 +13,7 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface PensionOrderEvaluationDao extends BaseDao<PensionOrderEvaluationEntity> { public interface PensionOrderEvaluationDao extends BaseDao<PensionOrderEvaluationEntity> {
PensionOrderEvaluationDTO findByOrderId(Long orderId);
} }
\ No newline at end of file
package io.hmit.modules.serviceOrder.dao; package io.hmit.modules.serviceOrder.dao;
import io.hmit.common.dao.BaseDao; import io.hmit.common.dao.BaseDao;
import io.hmit.modules.serviceOrder.dto.PensionServiceDocumentDTO;
import io.hmit.modules.serviceOrder.entity.PensionServiceDocumentEntity; import io.hmit.modules.serviceOrder.entity.PensionServiceDocumentEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -12,5 +13,5 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -12,5 +13,5 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface PensionServiceDocumentDao extends BaseDao<PensionServiceDocumentEntity> { public interface PensionServiceDocumentDao extends BaseDao<PensionServiceDocumentEntity> {
} }
\ No newline at end of file
package io.hmit.modules.serviceOrder.dto; package io.hmit.modules.serviceOrder.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.hmit.common.constant.Constant; import io.hmit.common.constant.Constant;
import io.hmit.entity.UserEntity; import io.hmit.entity.UserEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -8,6 +10,7 @@ import lombok.Data; ...@@ -8,6 +10,7 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -55,6 +58,7 @@ public class PensionOrderDTO implements Serializable { ...@@ -55,6 +58,7 @@ public class PensionOrderDTO implements Serializable {
@ApiModelProperty(value = "预约时间") @ApiModelProperty(value = "预约时间")
private Date appointmentTime; private Date appointmentTime;
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModelProperty(value = "取消原因") @ApiModelProperty(value = "取消原因")
private String cancelReason; private String cancelReason;
...@@ -73,6 +77,9 @@ public class PensionOrderDTO implements Serializable { ...@@ -73,6 +77,9 @@ public class PensionOrderDTO implements Serializable {
@ApiModelProperty(value = "接单人电话") @ApiModelProperty(value = "接单人电话")
private String orderRecipientPhone; private String orderRecipientPhone;
@ApiModelProperty(value = "服务内容描述")
private String content;
@ApiModelProperty(value = "实际金额") @ApiModelProperty(value = "实际金额")
private String actPrice; private String actPrice;
...@@ -106,6 +113,22 @@ public class PensionOrderDTO implements Serializable { ...@@ -106,6 +113,22 @@ public class PensionOrderDTO implements Serializable {
@ApiModelProperty(value = "所属社区Id") @ApiModelProperty(value = "所属社区Id")
private Long communityId; private Long communityId;
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModelProperty(value = "用户评论照片")
private List<PensionOrderDocumentDTO> userImages;
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModelProperty(value = "服务人员评论照片")
private List<PensionOrderDocumentDTO> staffImages;
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModelProperty(value = "服务人员语音")
private PensionOrderDocumentDTO staffVoiceMessage;
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModelProperty(value = "订单评价信息")
private PensionOrderEvaluationDTO pensionOrderEvaluationDTO;
public PensionOrderDTO assemblePensionOrder(ReservationDTO reservationDTO, UserEntity user){ public PensionOrderDTO assemblePensionOrder(ReservationDTO reservationDTO, UserEntity user){
PensionOrderDTO pensionOrder = new PensionOrderDTO(); PensionOrderDTO pensionOrder = new PensionOrderDTO();
pensionOrder.setOrderNum(""); pensionOrder.setOrderNum("");
......
...@@ -38,7 +38,10 @@ public class PensionOrderEvaluationDTO implements Serializable { ...@@ -38,7 +38,10 @@ public class PensionOrderEvaluationDTO implements Serializable {
@ApiModelProperty(value = "评价内容") @ApiModelProperty(value = "评价内容")
private String content; private String content;
@ApiModelProperty(value = "评价文件地址") @ApiModelProperty(value = "评价文件地址(返回)")
private String file;
@ApiModelProperty(value = "评价文件地址(上传)")
private String[] files; private String[] files;
@ApiModelProperty(value = "创建者") @ApiModelProperty(value = "创建者")
......
package io.hmit.modules.serviceOrder.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description :
* @Author : Shen Yuanfeng
* @Date: 2021/3/12 8:31
*/
@Data
@ApiModel(value = "服务人员完成订单传值")
public class StaffFinishDTO {
@ApiModelProperty(value = "订单所属的服务id")
private Long orderId;
@ApiModelProperty(value = "描述服务内容")
private String content;
@ApiModelProperty(value = "定位坐标")
private String location;
@ApiModelProperty(value = "服务人员评论照片")
private String[] images;
@ApiModelProperty(value = "服务人员语音")
private String[] voice;
@ApiModelProperty(value = "角色id")
private Long roleId;
}
...@@ -83,6 +83,10 @@ public class PensionOrderEntity extends BaseEntity { ...@@ -83,6 +83,10 @@ public class PensionOrderEntity extends BaseEntity {
* 接单人电话 * 接单人电话
*/ */
private String orderRecipientPhone; private String orderRecipientPhone;
/**
* 服务内容描述
*/
private String content;
/** /**
* 实际金额 * 实际金额
*/ */
......
...@@ -4,6 +4,8 @@ import io.hmit.common.service.CrudService; ...@@ -4,6 +4,8 @@ import io.hmit.common.service.CrudService;
import io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO; import io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO;
import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity; import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity;
import java.util.List;
/** /**
* 订单及相关图片附件关联表 * 订单及相关图片附件关联表
* *
...@@ -12,4 +14,8 @@ import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity; ...@@ -12,4 +14,8 @@ import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity;
*/ */
public interface PensionOrderDocumentService extends CrudService<PensionOrderDocumentEntity, PensionOrderDocumentDTO> { public interface PensionOrderDocumentService extends CrudService<PensionOrderDocumentEntity, PensionOrderDocumentDTO> {
List<PensionOrderDocumentDTO> findByOrderIdAndRemark(Long id, String reamrk);
PensionOrderDocumentDTO findStaffVoiceId(Long orderId);
} }
\ No newline at end of file
...@@ -12,4 +12,6 @@ import io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity; ...@@ -12,4 +12,6 @@ import io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity;
*/ */
public interface PensionOrderEvaluationService extends CrudService<PensionOrderEvaluationEntity, PensionOrderEvaluationDTO> { public interface PensionOrderEvaluationService extends CrudService<PensionOrderEvaluationEntity, PensionOrderEvaluationDTO> {
PensionOrderEvaluationDTO findByOrderId(Long orderId);
} }
\ No newline at end of file
...@@ -4,6 +4,7 @@ import io.hmit.common.page.PageData; ...@@ -4,6 +4,7 @@ import io.hmit.common.page.PageData;
import io.hmit.common.service.CrudService; import io.hmit.common.service.CrudService;
import io.hmit.modules.serviceOrder.dto.PensionOrderDTO; import io.hmit.modules.serviceOrder.dto.PensionOrderDTO;
import io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO; import io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO;
import io.hmit.modules.serviceOrder.dto.StaffFinishDTO;
import io.hmit.modules.serviceOrder.entity.PensionOrderEntity; import io.hmit.modules.serviceOrder.entity.PensionOrderEntity;
import java.util.Map; import java.util.Map;
...@@ -61,4 +62,6 @@ public interface PensionOrderService extends CrudService<PensionOrderEntity, Pen ...@@ -61,4 +62,6 @@ public interface PensionOrderService extends CrudService<PensionOrderEntity, Pen
//老人、子女取消订单 //老人、子女取消订单
Boolean elderFamilyCancel(Long id, String reason); Boolean elderFamilyCancel(Long id, String reason);
//服务人员完结订单
void staffFinishedOrder(StaffFinishDTO dto);
} }
...@@ -7,8 +7,10 @@ import io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO; ...@@ -7,8 +7,10 @@ import io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO;
import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity; import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity;
import io.hmit.modules.serviceOrder.service.PensionOrderDocumentService; import io.hmit.modules.serviceOrder.service.PensionOrderDocumentService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -30,5 +32,16 @@ public class PensionOrderDocumentServiceImpl extends CrudServiceImpl<PensionOrde ...@@ -30,5 +32,16 @@ public class PensionOrderDocumentServiceImpl extends CrudServiceImpl<PensionOrde
return wrapper; return wrapper;
} }
@Autowired
private PensionOrderDocumentDao dao;
@Override
public List<PensionOrderDocumentDTO> findByOrderIdAndRemark(Long id, String remark) {
return dao.findByOrderIdAndRemark(id, remark);
}
@Override
public PensionOrderDocumentDTO findStaffVoiceId(Long orderId) {
return dao.findStaffVoiceId(orderId);
}
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ import io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO; ...@@ -7,6 +7,7 @@ import io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO;
import io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity; import io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity;
import io.hmit.modules.serviceOrder.service.PensionOrderEvaluationService; import io.hmit.modules.serviceOrder.service.PensionOrderEvaluationService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Map; import java.util.Map;
...@@ -30,5 +31,11 @@ public class PensionOrderEvaluationServiceImpl extends CrudServiceImpl<PensionOr ...@@ -30,5 +31,11 @@ public class PensionOrderEvaluationServiceImpl extends CrudServiceImpl<PensionOr
return wrapper; return wrapper;
} }
@Autowired
private PensionOrderEvaluationDao dao;
@Override
public PensionOrderEvaluationDTO findByOrderId(Long orderId) {
return dao.findByOrderId(orderId);
}
} }
\ No newline at end of file
...@@ -12,6 +12,7 @@ import io.hmit.modules.serviceOrder.dto.*; ...@@ -12,6 +12,7 @@ import io.hmit.modules.serviceOrder.dto.*;
import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity; import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity;
import io.hmit.modules.serviceOrder.entity.PensionOrderEntity; import io.hmit.modules.serviceOrder.entity.PensionOrderEntity;
import io.hmit.modules.serviceOrder.service.*; import io.hmit.modules.serviceOrder.service.*;
import io.hmit.service.PushMessage;
import io.hmit.service.UserService; import io.hmit.service.UserService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -55,6 +56,9 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe ...@@ -55,6 +56,9 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
@Autowired @Autowired
private UserService userService; private UserService userService;
@Autowired
private PushMessage pushMessage;
//查询全部订单 //查询全部订单
@Override @Override
public PageData<PensionOrderDTO> getAllOrderPage(Map<String, Object> params, Long userId) { public PageData<PensionOrderDTO> getAllOrderPage(Map<String, Object> params, Long userId) {
...@@ -85,7 +89,8 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe ...@@ -85,7 +89,8 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
save(pensionOrderDTO); save(pensionOrderDTO);
PensionOrderServiceDTO orderServiceDTO = new PensionOrderServiceDTO().assemblePensionOrderService(pensionOrderDTO); PensionOrderServiceDTO orderServiceDTO = new PensionOrderServiceDTO().assemblePensionOrderService(pensionOrderDTO);
pensionOrderServiceService.save(orderServiceDTO); pensionOrderServiceService.save(orderServiceDTO);
// pushMessage.sendWeChatMsg(pensionOrderDTO, userService.getUserByUserId(pensionOrderDTO.getCreator()).getOpenid());
// pushMessage.sendSMSMsg(pensionOrderDTO, userService.getUserByUserId(pensionOrderDTO.getCreator()).getOpenid());
} }
@Override @Override
...@@ -176,7 +181,7 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe ...@@ -176,7 +181,7 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
} }
}else if (status == 1){ //派单 }else if (status == 1){ //派单
Long recipient_id = Long.parseLong(params.get("recipient_id").toString()); Long recipient_id = Long.parseLong(params.get("recipient_id").toString());
if (pensionOrderEntity.getStatus() == 5) { if (pensionOrderEntity.getStatus() == 5 || pensionOrderEntity.getStatus() == 0) {
pensionOrderEntity.setStatus(1); pensionOrderEntity.setStatus(1);
pensionOrderEntity.setStatusName(Constant.OrderStatus.ORDER.getMessage()); pensionOrderEntity.setStatusName(Constant.OrderStatus.ORDER.getMessage());
UserEntity recipient = userService.getUserByUserId(recipient_id); UserEntity recipient = userService.getUserByUserId(recipient_id);
...@@ -214,6 +219,22 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe ...@@ -214,6 +219,22 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
return false; return false;
} }
@Override
public void staffFinishedOrder(StaffFinishDTO dto) {
if (null != dto.getImages()) {
saveFilesToDB(dto.getOrderId(), dto.getImages(), dto.getRoleId());
}
if (null != dto.getVoice()) {
saveFilesToDB(dto.getOrderId(), dto.getVoice(), dto.getRoleId());
}
PensionOrderEntity pensionOrderEntity = pensionOrderDao.selectById(dto.getOrderId());
pensionOrderEntity.setStatus(4);
pensionOrderEntity.setStatusName(Constant.OrderStatus.WAIT_EVALUATE.getMessage());
pensionOrderEntity.setContent(dto.getContent());
pensionOrderEntity.setLocation(dto.getLocation());
update(ConvertUtils.sourceToTarget(pensionOrderEntity, PensionOrderDTO.class));
}
//对List进行手动分页 //对List进行手动分页
private List<PensionOrderDTO> getSubList(Map<String, Object> params, List<PensionOrderDTO> list){ private List<PensionOrderDTO> getSubList(Map<String, Object> params, List<PensionOrderDTO> list){
Integer pageNum = Integer.parseInt(params.get("page").toString()); Integer pageNum = Integer.parseInt(params.get("page").toString());
......
package io.hmit.service;
import io.hmit.modules.serviceOrder.dto.PensionOrderDTO;
public interface PushMessage {
void sendWeChatMsg(PensionOrderDTO pensionOrderDTO, String openId);
void sendSMSMsg(PensionOrderDTO pensionOrderDTO, String receiver);
}
package io.hmit.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.RequestBuilder;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.NameValuePair;
import org.apache.http.ssl.SSLContextBuilder;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Service;
import java.util.*;
import java.nio.charset.Charset;
import java.text.SimpleDateFormat;
@Service
public class SmsService {
// public static void main(String[] args) throws Exception {
// SmsService s = new SmsService();
// s.sendSms();
// }
//无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值
private static final String WSSE_HEADER_FORMAT = "UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\"";
//无需修改,用于格式化鉴权头域,给"Authorization"参数赋值
private static final String AUTH_HEADER_VALUE = "WSSE realm=\"SDP\",profile=\"UsernameToken\",type=\"Appkey\"";
public void sendSms(Map<String,Object> map) throws Exception {
String url = "https://rtcsms.cn-north-1.myhuaweicloud.com:10743/sms/batchSendSms/v1"; //APP接入地址+接口访问URI
String appKey = "l5mVbx22mcBH6ZNJ1362T6eI1Xp5"; //APP_Key
String appSecret = "6CTVWB8EYzOWvvyD9eiWzYo2dWiE"; //APP_Secret
String sender = "8820052030944"; //国内短信签名通道号或国际/港澳台短信通道号
String templateId = map.get("tempId").toString(); //模板ID
String signature = "浙江汇民网络技术"; //签名名称
String receiver = map.get("num").toString();
String statusCallBack = "";
System.out.println(map.get("tempParams").toString());
String templateParas = map.get("tempParams").toString();
//请求Body,不携带签名名称时,signature请填null
String body = buildRequestBody(sender, receiver, templateId, templateParas, statusCallBack, signature);
if (null == body || body.isEmpty()) {
System.out.println("body is null.");
return;
}
//请求Headers中的X-WSSE参数值
String wsseHeader = buildWsseHeader(appKey, appSecret);
if (null == wsseHeader || wsseHeader.isEmpty()) {
System.out.println("wsse header is null.");
return;
}
//如果JDK版本低于1.8,可使用如下代码
//为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题
//CloseableHttpClient client = HttpClients.custom()
// .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
// @Override
// public boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
// return true;
// }
// }).build()).setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE).build();
//如果JDK版本是1.8,可使用如下代码
//为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题
CloseableHttpClient client = HttpClients.custom()
.setSSLContext(new SSLContextBuilder().loadTrustMaterial(null,
(x509CertChain, authType) -> true).build())
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
.build();
HttpResponse response = client.execute(RequestBuilder.create("POST")//请求方法POST
.setUri(url)
.addHeader(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded")
.addHeader(HttpHeaders.AUTHORIZATION, AUTH_HEADER_VALUE)
.addHeader("X-WSSE", wsseHeader)
.setEntity(new StringEntity(body)).build());
System.out.println(response.toString()); //打印响应头域信息
System.out.println(EntityUtils.toString(response.getEntity())); //打印响应消息实体
}
public String buildRequestBody(String sender, String receiver, String templateId, String templateParas,
String statusCallbackUrl, String signature){
if (null == sender || null == receiver || null == templateId || sender.isEmpty() || receiver.isEmpty()
|| templateId.isEmpty()) {
System.out.println("buildRequestBody(): sender, receiver or templateId is null.");
return null;
}
List<NameValuePair> keyValues = new ArrayList<NameValuePair>();
keyValues.add(new BasicNameValuePair("from", sender));
keyValues.add(new BasicNameValuePair("to", receiver));
keyValues.add(new BasicNameValuePair("templateId", templateId));
if (null != templateParas && !templateParas.isEmpty()) {
keyValues.add(new BasicNameValuePair("templateParas", templateParas));
}
if (null != statusCallbackUrl && !statusCallbackUrl.isEmpty()) {
keyValues.add(new BasicNameValuePair("statusCallback", statusCallbackUrl));
}
if (null != signature && !signature.isEmpty()) {
keyValues.add(new BasicNameValuePair("signature", signature));
}
return URLEncodedUtils.format(keyValues, Charset.forName("UTF-8"));
}
public String buildWsseHeader(String appKey, String appSecret) {
if (null == appKey || null == appSecret || appKey.isEmpty() || appSecret.isEmpty()) {
System.out.println("buildWsseHeader(): appKey or appSecret is null.");
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
String time = sdf.format(new Date()); //Created
String nonce = UUID.randomUUID().toString().replace("-", ""); //Nonce
byte[] passwordDigest = DigestUtils.sha256(nonce + time + appSecret);
String hexDigest = Hex.encodeHexString(passwordDigest);
//如果JDK版本是1.8,请加载原生Base64类,并使用如下代码
String passwordDigestBase64Str = Base64.getEncoder().encodeToString(hexDigest.getBytes()); //PasswordDigest
//如果JDK版本低于1.8,请加载三方库提供Base64类,并使用如下代码
//String passwordDigestBase64Str = Base64.encodeBase64String(hexDigest.getBytes(Charset.forName("utf-8"))); //PasswordDigest
//若passwordDigestBase64Str中包含换行符,请执行如下代码进行修正
//passwordDigestBase64Str = passwordDigestBase64Str.replaceAll("[\\s*\t\n\r]", "");
return String.format(WSSE_HEADER_FORMAT, appKey, passwordDigestBase64Str, nonce, time);
}
}
package io.hmit.service.impl;
import io.hmit.config.WeChatMpConfig;
import io.hmit.config.WechatAccountConfig;
import io.hmit.modules.serviceOrder.dto.PensionOrderDTO;
import io.hmit.service.PushMessage;
import io.hmit.service.SmsService;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Description :
* @Author : Shen Yuanfeng
* @Date: 2021/3/12 14:40
*/
@Slf4j
@Service
public class PushMessageImpl implements PushMessage {
@Autowired
private WxMpService wxMpService;
@Autowired
private WechatAccountConfig wechatAccountConfig;
@Autowired
private SmsService smsService;
@Override
public void sendWeChatMsg(PensionOrderDTO pensionOrderDTO, String openId) {
WxMpTemplateMessage templateMessage = new WxMpTemplateMessage();
templateMessage.setTemplateId(wechatAccountConfig.getTemplateId());
templateMessage.setToUser(openId);
List<WxMpTemplateData> data = Arrays.asList(
new WxMpTemplateData("first", "订单预约成功!"),
new WxMpTemplateData("keyword1", pensionOrderDTO.getServiceName()),
new WxMpTemplateData("keyword2", pensionOrderDTO.getAppointmentTime().toString()),
new WxMpTemplateData("keyword3", pensionOrderDTO.getStatusName())
);
templateMessage.setData(data);
try{
wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
}catch (WxErrorException e){
log.error("【微信模板消息】发送失败,{}", e);
}
}
@Override
public void sendSMSMsg(PensionOrderDTO pensionOrderDTO, String receiver) {
try {
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdfHms = new SimpleDateFormat("HH:mm:ss");
String ymd = sdfYMD.format(pensionOrderDTO.getAppointmentTime());
String hms = sdfHms.format(pensionOrderDTO.getAppointmentTime());
Map<String,Object> params = new HashMap<>();
params.put("tempId","9ba5e502b15d4fa2b52d287da00b7735");
params.put("num", "18758806780");
StringBuffer sb = new StringBuffer();
sb.append("[");
sb.append("\""+"8"+"\",");
sb.append("\""+ymd+"\",");
sb.append("\""+hms+"\",");
sb.append("\""+pensionOrderDTO.getServiceName()+"\",");
sb.append("\""+pensionOrderDTO.getAppointmentPhone()+"\"]");
params.put("tempParams",sb.toString());
smsService.sendSms(params);
}catch (Exception ignored){}
}
}
...@@ -38,11 +38,11 @@ spring: ...@@ -38,11 +38,11 @@ spring:
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接 max-idle: 10 # 连接池中的最大空闲连接
min-idle: 5 # 连接池中的最小空闲连接 min-idle: 5 # 连接池中的最小空闲连接
# mvc: mvc:
# static-path-pattern: /static/** static-path-pattern: /static/**
# resources: resources:
# static-locations: file:${QR.download-path},classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/ static-locations: file:${QR.download-path},classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/
# #静态资源对外暴露的访问路径 #静态资源对外暴露的访问路径
hmit: hmit:
redis: redis:
...@@ -71,5 +71,10 @@ mybatis-plus: ...@@ -71,5 +71,10 @@ mybatis-plus:
call-setters-on-nulls: true call-setters-on-nulls: true
jdbc-type-for-null: 'null' jdbc-type-for-null: 'null'
QR: QR:
# download-path: /home/resourse/bsqzc/ D:/123/ /home/websoft/java_jar/bl_workorder/myfile/ # download-path: D:/123/ /home/websoft/java_jar/pension_service/myfile/
download-path: D:/123/ download-path: /home/websoft/java_jar/pension_service/myfile/
\ No newline at end of file
wechat:
mpAppId: wxfa2386639794d998
mpAppSecret: 8f624f83c9585baa9d1697e24fdffd81
templateId: GsGydVGl-vzOv5aA0LaIdA-FcMM88TEpe37U-lZ6HJ8
\ No newline at end of file
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name, SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location, po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone, po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, content,
po.creator, po.creator_name, po.creator_tel, po.create_date po.creator, po.creator_name, po.creator_tel, po.create_date
FROM pension_order po FROM pension_order po
WHERE po.id = #{orderId} AND po.status = #{status} WHERE po.id = #{orderId} AND po.status = #{status}
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name, SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location, po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone, po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, content,
po.creator, po.creator_name, po.creator_tel, po.create_date, po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon ps.icon
FROM pension_order po, pension_service ps FROM pension_order po, pension_service ps
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name, SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location, po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone, po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, content,
po.creator, po.creator_name, po.creator_tel, po.create_date, po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon ps.icon
FROM pension_order po, pension_service ps FROM pension_order po, pension_service ps
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name, SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location, po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone, po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, content,
po.creator, po.creator_name, po.creator_tel, po.create_date, po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon ps.icon
FROM pension_order po, pension_service ps FROM pension_order po, pension_service ps
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name, SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location, po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone, po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, content,
po.creator, po.creator_name, po.creator_tel, po.create_date, po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon ps.icon
FROM pension_order po, pension_service ps FROM pension_order po, pension_service ps
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name, SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location, po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone, po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, content,
po.creator, po.creator_name, po.creator_tel, po.create_date, po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon ps.icon
FROM pension_order po, pension_service ps FROM pension_order po, pension_service ps
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name, SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location, po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone, po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, content,
po.creator, po.creator_name, po.creator_tel, po.create_date, po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon ps.icon
FROM pension_order po, pension_service ps, tb_user tu FROM pension_order po, pension_service ps, tb_user tu
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name, SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location, po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone, po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, content,
po.creator, po.creator_name, po.creator_tel, po.create_date, po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon ps.icon
FROM pension_order po, pension_service ps, tb_user tu FROM pension_order po, pension_service ps, tb_user tu
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name, SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location, po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone, po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason, content,
po.creator, po.creator_name, po.creator_tel, po.create_date, po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon ps.icon
FROM pension_order po, pension_service ps FROM pension_order po, pension_service ps
......
...@@ -16,5 +16,14 @@ ...@@ -16,5 +16,14 @@
<result property="updateDate" column="update_date"/> <result property="updateDate" column="update_date"/>
</resultMap> </resultMap>
<select id="findByOrderIdAndRemark" resultType="io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO">
SELECT * FROM pension_order_document
WHERE order_id = #{orderId} AND remark = #{remark}
</select>
<select id="findStaffVoiceId" resultType="io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO">
SELECT * FROM pension_order_document
WHERE order_id = #{orderId} AND remark = '2'
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -14,5 +14,9 @@ ...@@ -14,5 +14,9 @@
<result property="createDate" column="create_date"/> <result property="createDate" column="create_date"/>
</resultMap> </resultMap>
<select id="findByOrderId" resultType="io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO">
SELECT * FROM pension_order_evaluation
WHERE order_id = #{orderId} limit 1
</select>
</mapper> </mapper>
...@@ -195,6 +195,11 @@ ...@@ -195,6 +195,11 @@
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>${lombok.version}</version> <version>${lombok.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>2.7.0</version>
</dependency>
</dependencies> </dependencies>
<!-- 阿里云maven仓库 --> <!-- 阿里云maven仓库 -->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment