孟苏慧

Merge branch 'dev/nx-20250526' into 'master'

农信停餐需求



See merge request !4
......@@ -6,10 +6,12 @@ import com.infoloop.tianting.mealorderservice.SingleMealOrderRpcResponse;
import com.infoloop.tianting.model.common.CreatedResult;
import com.infoloop.tianting.model.dto.MealOrderDTO;
import com.infoloop.tianting.model.vo.DeliveryRuleVO;
import com.infoloop.tianting.model.vo.DinerMealSuspensionRecordVO;
import com.infoloop.tianting.model.vo.MealOrderVO;
import com.infoloop.tianting.service.MealOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -20,6 +22,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
......@@ -67,4 +70,11 @@ public class MealOrderController {
return mealOrderService.getDeliveryRule();
}
@ApiOperation(value = "查询停餐信息")
@GetMapping("/dinermealsuspensionrecord")
@ResponseStatus(HttpStatus.OK)
public List<DinerMealSuspensionRecordVO> queryDinerMealSuspensionRecordsByCondition() {
return mealOrderService.queryDinerMealSuspensionRecordsByCondition();
}
}
......
......@@ -66,6 +66,8 @@ public enum ErrorCodeEnum implements BaseEnum {
MP_ACCOUNT_ALREADY_DISABLED(406000024, "账号已禁用"),
DINER_MEAL_SUSPENDED(406000025, "当前就餐人处于停餐状态")
;
private final int code;
......
package com.infoloop.tianting.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import java.util.Date;
@Data
@Builder
@ApiModel("停餐记录VO")
public class DinerMealSuspensionRecordVO {
@ApiModelProperty("ID")
private Long id;
@ApiModelProperty("企业ID")
private Long enterpriseId;
@ApiModelProperty("客户ID")
private Long clientId;
@ApiModelProperty("班级ID")
private Long classId;
@ApiModelProperty("年级名称")
private String gradeName;
@ApiModelProperty("班级名称")
private String className;
@ApiModelProperty("用餐人ID")
private Long dinerId;
@ApiModelProperty("用餐人姓名")
private String dinerName;
@ApiModelProperty("学号")
private String studentNo;
@ApiModelProperty("开始时间")
private Date startAt;
@ApiModelProperty("结束时间")
private Date endAt;
@ApiModelProperty("备注")
private String comment;
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ import com.infoloop.tianting.mealorderservice.SingleMealOrderRpcResponse;
import com.infoloop.tianting.model.common.CreatedResult;
import com.infoloop.tianting.model.dto.MealOrderDTO;
import com.infoloop.tianting.model.vo.DeliveryRuleVO;
import com.infoloop.tianting.model.vo.DinerMealSuspensionRecordVO;
import com.infoloop.tianting.model.vo.MealOrderVO;
import java.util.List;
......@@ -17,4 +18,16 @@ public interface MealOrderService {
MealOrderVO getMealOrderById(SingleMealOrderRpcResponse mealOrder);
DeliveryRuleVO getDeliveryRule();
/**
* 查询停餐信息
* 先查询学校的停餐信息,再查询学生的停餐信息,学校的停餐信息优先级高于学生停餐信息
*
* @param enterpriseId 企业ID
* @param clientId 客户ID
* @param classId 班级ID
* @param dinerId 用餐人ID
* @return 停餐信息列表
*/
List<DinerMealSuspensionRecordVO> queryDinerMealSuspensionRecordsByCondition();
}
......
......@@ -47,6 +47,8 @@ import com.infoloop.tianting.mealorderservice.UpdateDinerRpcRequest;
import com.infoloop.tianting.mealorderservice.UpdateDinerRpcResponse;
import com.infoloop.tianting.mealorderservice.UpdateMpAccountRpcRequest;
import com.infoloop.tianting.mealorderservice.UpdateMpAccountRpcResponse;
import com.infoloop.tianting.mealorderservice.QueryDinerMealSuspensionRecordsByConditionRpcRequest;
import com.infoloop.tianting.mealorderservice.SingleDinerMealSuspensionRecordRpcResponse;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -274,4 +276,30 @@ public class MealOrderServiceRpcClient {
.setShouldFilterReserveDateEnd(reserveDateEnd != null).setReserveDateEnd(reserveDateEnd == null ? 0 : reserveDateEnd)
.build()).getResponsesList();
}
public List<SingleDinerMealSuspensionRecordRpcResponse> queryDinerMealSuspensionRecordsByCondition(
int enterpriseId,
@Nullable List<Integer> clientIds,
@Nullable List<Integer> classIds,
@Nullable List<Integer> dinerIds) {
var request = QueryDinerMealSuspensionRecordsByConditionRpcRequest.newBuilder()
.setEnterpriseId(enterpriseId);
if (clientIds != null) {
request.setShouldFilterClientIds(true)
.addAllClientIds(clientIds);
}
if (classIds != null) {
request.setShouldFilterClassIds(true)
.addAllClassIds(classIds);
}
if (dinerIds != null) {
request.setShouldFilterDinerIds(true)
.addAllDinerIds(dinerIds);
}
return mealOrderServiceRpcBlockingStub.queryDinerMealSuspensionRecordsByCondition(request.build())
.getResponsesList();
}
}
......
......@@ -31,6 +31,7 @@ service MealOrderServiceRpc {
rpc UpdateDiner (UpdateDinerRpcRequest) returns (UpdateDinerRpcResponse) {}
rpc BatchSaveOrUpdateDiners (BatchSaveOrUpdateDinersRpcRequest) returns (BatchSaveOrUpdateDinersRpcResponse) {}
rpc DeleteDinersByIds (DeleteDinersByIdsRpcRequest) returns (DeleteDinersRpcResponse) {}
rpc DeleteGraduationDinersByClassIds (DeleteGraduationDinersByClassIdsRpcRequest) returns (DeleteGraduationDinersByClassIdsRpcResponse) {}
rpc GetMpAccountDinerRefsByIds (GetMpAccountDinerRefsByIdsRpcRequest) returns (GetMpAccountDinerRefsByIdsRpcResponse) {}
rpc QueryMpAccountDinerRefsByCondition (QueryMpAccountDinerRefsByConditionRpcRequest) returns (QueryMpAccountDinerRefsByConditionRpcResponse) {}
......@@ -46,12 +47,22 @@ service MealOrderServiceRpc {
rpc BatchSaveOrUpdateGradeClasses (BatchSaveOrUpdateGradeClassesRpcRequest) returns (BatchSaveOrUpdateGradeClassesRpcResponse) {}
rpc DeleteGradeClassesByIds (DeleteGradeClassesByIdsRpcRequest) returns (DeleteGradeClassesRpcResponse) {}
rpc DeleteGradeClassesAndDinersByClientIds (DeleteGradeClassesAndDinersByClientIdsRpcRequest) returns (DeleteGradeClassesAndDinersByClientIdsRpcResponse) {}
rpc DeleteGradeClassesAndDinersByClassIds (DeleteGradeClassesAndDinersByClassIdsRpcRequest) returns (DeleteGradeClassesAndDinersByClassIdsRpcResponse) {}
rpc GetMealMenuRecordById (GetMealMenuRecordByIdRpcRequest) returns (GetMealMenuRecordByIdRpcResponse) {}
rpc GetMealMenuRecordsByIds (GetMealMenuRecordsByIdsRpcRequest) returns (GetMealMenuRecordsByIdsRpcResponse) {}
rpc QueryMealMenuRecordsByCondition (QueryMealMenuRecordsByConditionRpcRequest) returns (QueryMealMenuRecordsByConditionRpcResponse) {}
rpc CreateMealMenuRecord (CreateMealMenuRecordRpcRequest) returns (CreateMealMenuRecordRpcResponse) {}
rpc QueryLatestMealMenuRecordsByClientIds (QueryLatestMealMenuRecordsByClientIdsRpcRequest) returns (QueryLatestMealMenuRecordsByClientIdsRpcResponse) {}
// 停餐记录相关服务
rpc getDinerMealSuspensionRecordById(GetDinerMealSuspensionRecordByIdRpcRequest) returns (GetDinerMealSuspensionRecordByIdRpcResponse);
rpc getDinerMealSuspensionRecordsByIds(GetDinerMealSuspensionRecordsByIdsRpcRequest) returns (GetDinerMealSuspensionRecordsByIdsRpcResponse);
rpc queryDinerMealSuspensionRecordsByCondition(QueryDinerMealSuspensionRecordsByConditionRpcRequest) returns (QueryDinerMealSuspensionRecordsByConditionRpcResponse);
rpc createDinerMealSuspensionRecord(CreateDinerMealSuspensionRecordRpcRequest) returns (CreateDinerMealSuspensionRecordRpcResponse);
rpc batchCreateDinerMealSuspensionRecords(BatchCreateDinerMealSuspensionRecordsRpcRequest) returns (BatchCreateDinerMealSuspensionRecordsRpcResponse);
rpc updateDinerMealSuspensionRecord(UpdateDinerMealSuspensionRecordRpcRequest) returns (UpdateDinerMealSuspensionRecordRpcResponse);
rpc deleteDinerMealSuspensionRecordsByIds(DeleteDinerMealSuspensionRecordsByIdsRpcRequest) returns (DeleteDinerMealSuspensionRecordsRpcResponse);
}
enum MealOrderOrderMethodEnum {
......@@ -357,6 +368,17 @@ message DeleteDinersRpcResponse {
bool isDeleted = 1;
}
message DeleteGraduationDinersByClassIdsRpcRequest {
repeated int32 classIds = 1;
int32 enterpriseId = 2;
int32 updatedBy = 3;
int32 updateSource = 4;
}
message DeleteGraduationDinersByClassIdsRpcResponse {
bool isDeleted = 1;
}
enum MpAccountGenderEnum {
MP_ACCOUNT_GENDER_MAN = 0;
MP_ACCOUNT_GENDER_WOMAN = 1;
......@@ -613,8 +635,8 @@ message QueryGradeClassesByConditionRpcRequest {
int32 enterpriseId = 1;
bool shouldFilterClientIds = 2;
repeated int32 clientIds = 3;
bool shouldFilterGradeName = 4;
string gradeName = 5;
bool shouldFilterGradeNames = 4;
repeated string gradeName = 5;
bool includeDeleted = 6;
}
......@@ -721,6 +743,18 @@ message DeleteGradeClassesAndDinersByClientIdsRpcResponse {
bool isDeleted = 1;
}
message DeleteGradeClassesAndDinersByClassIdsRpcRequest {
repeated int32 classIds = 1;
int32 enterpriseId = 2;
int32 updatedBy = 3;
int32 updateSource = 4;
}
message DeleteGradeClassesAndDinersByClassIdsRpcResponse {
bool isDeleted = 1;
}
message SingleMealMenuRecordRpcResponse {
int32 id = 1;
int32 enterpriseId = 2;
......@@ -734,6 +768,7 @@ message SingleMealMenuRecordRpcResponse {
int64 updatedAt = 10;
int32 updateSource = 11;
bool isDeleted = 12;
string operatorName = 13;
}
message GetMealMenuRecordByIdRpcRequest {
......@@ -781,6 +816,7 @@ message CreateMealMenuRecordRpcRequest {
int32 enterpriseId = 2;
int32 createdBy = 3;
int32 creationSource = 4;
string operatorName = 5;
}
message CreateMealMenuRecordRpcResponse {
......@@ -796,3 +832,126 @@ message QueryLatestMealMenuRecordsByClientIdsRpcRequest {
message QueryLatestMealMenuRecordsByClientIdsRpcResponse {
repeated SingleMealMenuRecordRpcResponse responses = 1;
}
// 停餐记录相关消息定义
message SingleDinerMealSuspensionRecordRpcResponse {
int32 id = 1;
int32 enterpriseId = 2;
int32 clientId = 3;
int32 classId = 4;
int32 dinerId = 5;
int64 startAt = 6;
int64 endAt = 7;
string comment = 8;
int64 createdAt = 9;
int32 createdBy = 10;
int32 creationSource = 11;
int64 updatedAt = 12;
int32 updatedBy = 13;
int32 updateSource = 14;
}
message GetDinerMealSuspensionRecordByIdRpcRequest {
int64 id = 1;
}
message GetDinerMealSuspensionRecordByIdRpcResponse {
SingleDinerMealSuspensionRecordRpcResponse response = 1;
}
message GetDinerMealSuspensionRecordsByIdsRpcRequest {
repeated int32 ids = 1;
}
message GetDinerMealSuspensionRecordsByIdsRpcResponse {
repeated SingleDinerMealSuspensionRecordRpcResponse responses = 1;
}
message QueryDinerMealSuspensionRecordsByConditionRpcRequest {
int32 enterpriseId = 1;
bool shouldFilterClientIds = 2;
repeated int32 clientIds = 3;
bool shouldFilterClassIds = 4;
repeated int32 classIds = 5;
bool shouldFilterDinerIds = 6;
repeated int32 dinerIds = 7;
bool shouldFilterStartAt = 8;
int64 startAt = 9;
bool shouldFilterEndAt = 10;
int64 endAt = 11;
}
message QueryDinerMealSuspensionRecordsByConditionRpcResponse {
repeated SingleDinerMealSuspensionRecordRpcResponse responses = 1;
}
message CreateDinerMealSuspensionRecordRpcRequest {
int32 enterpriseId = 1;
int32 createdBy = 2;
int32 creationSource = 3;
DinerMealSuspensionRecordCreation creation = 4;
}
message DinerMealSuspensionRecordCreation {
int32 clientId = 1;
int32 classId = 2;
int32 dinerId = 3;
int64 startAt = 4;
int64 endAt = 5;
string comment = 6;
}
message CreateDinerMealSuspensionRecordRpcResponse {
bool isCreated = 1;
int32 id = 2;
}
message UpdateDinerMealSuspensionRecordRpcRequest {
int32 enterpriseId = 1;
int32 updatedBy = 2;
int32 updateSource = 3;
DinerMealSuspensionRecordModification modification = 4;
}
message DinerMealSuspensionRecordModification {
int32 id = 1;
bool shouldUpdateClientId = 2;
int32 clientId = 3;
bool shouldUpdateClassId = 4;
int32 classId = 5;
bool shouldUpdateDinerId = 6;
int32 dinerId = 7;
bool shouldUpdateStartAt = 8;
int64 startAt = 9;
bool shouldUpdateEndAt = 10;
int64 endAt = 11;
bool shouldUpdateComment = 12;
string comment = 13;
}
message UpdateDinerMealSuspensionRecordRpcResponse {
bool isUpdated = 1;
}
message DeleteDinerMealSuspensionRecordsByIdsRpcRequest {
repeated int32 ids = 1;
int32 enterpriseId = 2;
int32 updatedBy = 3;
int32 updateSource = 4;
}
message DeleteDinerMealSuspensionRecordsRpcResponse {
bool isDeleted = 1;
}
message BatchCreateDinerMealSuspensionRecordsRpcRequest {
int32 enterpriseId = 1;
int32 createdBy = 2;
int32 creationSource = 3;
repeated DinerMealSuspensionRecordCreation creations = 4;
}
message BatchCreateDinerMealSuspensionRecordsRpcResponse {
bool isCreated = 1;
repeated int32 ids = 2;
}
......