个人偏好
This commit is contained in:
@ -63,5 +63,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode DINING_PLATES_NOT_EXISTS = new ErrorCode(1_004_013_004, "订单明细不存在");
|
||||
ErrorCode USER_EXPAND_NOT_EXISTS = new ErrorCode(1_004_013_005, "订单明细不存在");
|
||||
ErrorCode USER_PREFERENCE_NOT_EXISTS = new ErrorCode(1_004_013_006, "订单明细不存在");
|
||||
|
||||
ErrorCode ALLOC_NOT_EXISTS = new ErrorCode(1_004_013_007, "订单明细不存在");
|
||||
ErrorCode STORE_EVALUATE_NOT_EXISTS = new ErrorCode(1_004_013_008, "订单明细不存在");
|
||||
ErrorCode STORE_COMPLAIN_NOT_EXISTS = new ErrorCode(1_004_013_009, "订单明细不存在");
|
||||
}
|
||||
|
@ -0,0 +1,100 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.alloc;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.alloc.vo.AllocPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.alloc.vo.AllocRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.alloc.vo.AllocSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.alloc.AllocDO;
|
||||
import cn.iocoder.yudao.module.member.service.alloc.AllocService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 配置")
|
||||
@RestController
|
||||
@RequestMapping("/member/alloc")
|
||||
@Validated
|
||||
public class AllocController {
|
||||
|
||||
@Resource
|
||||
private AllocService allocService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建配置")
|
||||
@PreAuthorize("@ss.hasPermission('member:alloc:create')")
|
||||
public CommonResult<Long> createAlloc(@Valid @RequestBody AllocSaveReqVO createReqVO) {
|
||||
return success(allocService.createAlloc(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新配置")
|
||||
@PreAuthorize("@ss.hasPermission('member:alloc:update')")
|
||||
public CommonResult<Boolean> updateAlloc(@Valid @RequestBody AllocSaveReqVO updateReqVO) {
|
||||
allocService.updateAlloc(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除配置")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:alloc:delete')")
|
||||
public CommonResult<Boolean> deleteAlloc(@RequestParam("id") Long id) {
|
||||
allocService.deleteAlloc(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得配置")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:alloc:query')")
|
||||
public CommonResult<AllocRespVO> getAlloc(@RequestParam("id") Long id) {
|
||||
AllocDO alloc = allocService.getAlloc(id);
|
||||
return success(BeanUtils.toBean(alloc, AllocRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得配置分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:alloc:query')")
|
||||
public CommonResult<PageResult<AllocRespVO>> getAllocPage(@Valid AllocPageReqVO pageReqVO) {
|
||||
PageResult<AllocDO> pageResult = allocService.getAllocPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, AllocRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出配置 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:alloc:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportAllocExcel(@Valid AllocPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<AllocDO> list = allocService.getAllocPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "配置.xls", "数据", AllocRespVO.class,
|
||||
BeanUtils.toBean(list, AllocRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.alloc.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 配置分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class AllocPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "所属模块")
|
||||
private String moudle;
|
||||
|
||||
@Schema(description = "配置名", example = "张三")
|
||||
private String allocName;
|
||||
|
||||
@Schema(description = "配置值")
|
||||
private String allocValue;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.alloc.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 配置 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class AllocRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31174")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "所属模块")
|
||||
@ExcelProperty("所属模块")
|
||||
private String moudle;
|
||||
|
||||
@Schema(description = "配置名", example = "张三")
|
||||
@ExcelProperty("配置名")
|
||||
private String allocName;
|
||||
|
||||
@Schema(description = "配置值")
|
||||
@ExcelProperty("配置值")
|
||||
private String allocValue;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.alloc.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 配置新增/修改 Request VO")
|
||||
@Data
|
||||
public class AllocSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31174")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "所属模块")
|
||||
private String moudle;
|
||||
|
||||
@Schema(description = "配置名", example = "张三")
|
||||
private String allocName;
|
||||
|
||||
@Schema(description = "配置值")
|
||||
private String allocValue;
|
||||
|
||||
}
|
@ -37,4 +37,6 @@ public class CardRespVO {
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "消费类型")
|
||||
private String type;
|
||||
}
|
@ -1,33 +1,38 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.rechargeamount;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.rechargeamount.vo.*;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.rechargeamount.vo.RechargeAmountPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.rechargeamount.vo.RechargeAmountRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.rechargeamount.vo.RechargeAmountSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.rechargeamount.RechargeAmountDO;
|
||||
import cn.iocoder.yudao.module.member.service.rechargeamount.RechargeAmountService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 充值金额配置")
|
||||
@RestController
|
||||
@ -40,14 +45,12 @@ public class RechargeAmountController {
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建充值金额配置")
|
||||
@PreAuthorize("@ss.hasPermission('member:recharge-amount:create')")
|
||||
public CommonResult<Long> createRechargeAmount(@Valid @RequestBody RechargeAmountSaveReqVO createReqVO) {
|
||||
return success(rechargeAmountService.createRechargeAmount(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新充值金额配置")
|
||||
@PreAuthorize("@ss.hasPermission('member:recharge-amount:update')")
|
||||
public CommonResult<Boolean> updateRechargeAmount(@Valid @RequestBody RechargeAmountSaveReqVO updateReqVO) {
|
||||
rechargeAmountService.updateRechargeAmount(updateReqVO);
|
||||
return success(true);
|
||||
@ -56,7 +59,6 @@ public class RechargeAmountController {
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除充值金额配置")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:recharge-amount:delete')")
|
||||
public CommonResult<Boolean> deleteRechargeAmount(@RequestParam("id") Long id) {
|
||||
rechargeAmountService.deleteRechargeAmount(id);
|
||||
return success(true);
|
||||
@ -65,7 +67,6 @@ public class RechargeAmountController {
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得充值金额配置")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:recharge-amount:query')")
|
||||
public CommonResult<RechargeAmountRespVO> getRechargeAmount(@RequestParam("id") Long id) {
|
||||
RechargeAmountDO rechargeAmount = rechargeAmountService.getRechargeAmount(id);
|
||||
return success(BeanUtils.toBean(rechargeAmount, RechargeAmountRespVO.class));
|
||||
@ -73,7 +74,6 @@ public class RechargeAmountController {
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得充值金额配置分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:recharge-amount:query')")
|
||||
public CommonResult<PageResult<RechargeAmountRespVO>> getRechargeAmountPage(@Valid RechargeAmountPageReqVO pageReqVO) {
|
||||
PageResult<RechargeAmountDO> pageResult = rechargeAmountService.getRechargeAmountPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, RechargeAmountRespVO.class));
|
||||
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storecomplain;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storecomplain.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storecomplain.StoreComplainDO;
|
||||
import cn.iocoder.yudao.module.member.service.storecomplain.StoreComplainService;
|
||||
|
||||
@Tag(name = "管理后台 - 投诉")
|
||||
@RestController
|
||||
@RequestMapping("/member/store-complain")
|
||||
@Validated
|
||||
public class StoreComplainController {
|
||||
|
||||
@Resource
|
||||
private StoreComplainService storeComplainService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建投诉")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-complain:create')")
|
||||
public CommonResult<Long> createStoreComplain(@Valid @RequestBody StoreComplainSaveReqVO createReqVO) {
|
||||
return success(storeComplainService.createStoreComplain(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新投诉")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-complain:update')")
|
||||
public CommonResult<Boolean> updateStoreComplain(@Valid @RequestBody StoreComplainSaveReqVO updateReqVO) {
|
||||
storeComplainService.updateStoreComplain(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除投诉")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:store-complain:delete')")
|
||||
public CommonResult<Boolean> deleteStoreComplain(@RequestParam("id") Long id) {
|
||||
storeComplainService.deleteStoreComplain(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得投诉")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-complain:query')")
|
||||
public CommonResult<StoreComplainRespVO> getStoreComplain(@RequestParam("id") Long id) {
|
||||
StoreComplainDO storeComplain = storeComplainService.getStoreComplain(id);
|
||||
return success(BeanUtils.toBean(storeComplain, StoreComplainRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得投诉分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-complain:query')")
|
||||
public CommonResult<PageResult<StoreComplainRespVO>> getStoreComplainPage(@Valid StoreComplainPageReqVO pageReqVO) {
|
||||
PageResult<StoreComplainDO> pageResult = storeComplainService.getStoreComplainPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, StoreComplainRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出投诉 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-complain:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportStoreComplainExcel(@Valid StoreComplainPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<StoreComplainDO> list = storeComplainService.getStoreComplainPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "投诉.xls", "数据", StoreComplainRespVO.class,
|
||||
BeanUtils.toBean(list, StoreComplainRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storecomplain.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 投诉分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class StoreComplainPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "用户ID", example = "14476")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "门店Id", example = "18179")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "门店名", example = "芋艿")
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "主题")
|
||||
private String topic;
|
||||
|
||||
@Schema(description = "描述")
|
||||
private String describe;
|
||||
|
||||
@Schema(description = "上传照片", example = "https://www.iocoder.cn")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String phone;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storecomplain.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 投诉 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class StoreComplainRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21372")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户ID", example = "14476")
|
||||
@ExcelProperty("用户ID")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "门店Id", example = "18179")
|
||||
@ExcelProperty("门店Id")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "门店名", example = "芋艿")
|
||||
@ExcelProperty("门店名")
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "主题")
|
||||
@ExcelProperty("主题")
|
||||
private String topic;
|
||||
|
||||
@Schema(description = "描述")
|
||||
@ExcelProperty("描述")
|
||||
private String describe;
|
||||
|
||||
@Schema(description = "上传照片", example = "https://www.iocoder.cn")
|
||||
@ExcelProperty("上传照片")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@ExcelProperty("电话")
|
||||
private String phone;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storecomplain.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@Schema(description = "管理后台 - 投诉新增/修改 Request VO")
|
||||
@Data
|
||||
public class StoreComplainSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21372")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户ID", example = "14476")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "门店Id", example = "18179")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "门店名", example = "芋艿")
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "主题")
|
||||
private String topic;
|
||||
|
||||
@Schema(description = "描述")
|
||||
private String describe;
|
||||
|
||||
@Schema(description = "上传照片", example = "https://www.iocoder.cn")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String phone;
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storeevaluate;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storeevaluate.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeevaluate.StoreEvaluateDO;
|
||||
import cn.iocoder.yudao.module.member.service.storeevaluate.StoreEvaluateService;
|
||||
|
||||
@Tag(name = "管理后台 - 店铺评价")
|
||||
@RestController
|
||||
@RequestMapping("/member/store-evaluate")
|
||||
@Validated
|
||||
public class StoreEvaluateController {
|
||||
|
||||
@Resource
|
||||
private StoreEvaluateService storeEvaluateService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建店铺评价")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-evaluate:create')")
|
||||
public CommonResult<Long> createStoreEvaluate(@Valid @RequestBody StoreEvaluateSaveReqVO createReqVO) {
|
||||
return success(storeEvaluateService.createStoreEvaluate(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新店铺评价")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-evaluate:update')")
|
||||
public CommonResult<Boolean> updateStoreEvaluate(@Valid @RequestBody StoreEvaluateSaveReqVO updateReqVO) {
|
||||
storeEvaluateService.updateStoreEvaluate(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除店铺评价")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:store-evaluate:delete')")
|
||||
public CommonResult<Boolean> deleteStoreEvaluate(@RequestParam("id") Long id) {
|
||||
storeEvaluateService.deleteStoreEvaluate(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得店铺评价")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-evaluate:query')")
|
||||
public CommonResult<StoreEvaluateRespVO> getStoreEvaluate(@RequestParam("id") Long id) {
|
||||
StoreEvaluateDO storeEvaluate = storeEvaluateService.getStoreEvaluate(id);
|
||||
return success(BeanUtils.toBean(storeEvaluate, StoreEvaluateRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得店铺评价分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-evaluate:query')")
|
||||
public CommonResult<PageResult<StoreEvaluateRespVO>> getStoreEvaluatePage(@Valid StoreEvaluatePageReqVO pageReqVO) {
|
||||
PageResult<StoreEvaluateDO> pageResult = storeEvaluateService.getStoreEvaluatePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, StoreEvaluateRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出店铺评价 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-evaluate:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportStoreEvaluateExcel(@Valid StoreEvaluatePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<StoreEvaluateDO> list = storeEvaluateService.getStoreEvaluatePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "店铺评价.xls", "数据", StoreEvaluateRespVO.class,
|
||||
BeanUtils.toBean(list, StoreEvaluateRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storeevaluate.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 店铺评价分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class StoreEvaluatePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "用户ID", example = "15939")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "门店Id", example = "5445")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "门店名", example = "赵六")
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "评价")
|
||||
private String evaluate;
|
||||
|
||||
@Schema(description = "菜品评价")
|
||||
private String dishEvaluate;
|
||||
|
||||
@Schema(description = "服务评价")
|
||||
private String serEvaluate;
|
||||
|
||||
@Schema(description = "环境评价")
|
||||
private String envEvaluate;
|
||||
|
||||
@Schema(description = "文字评价", example = "随便")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "上传照片", example = "https://www.iocoder.cn")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storeevaluate.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 店铺评价 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class StoreEvaluateRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30065")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户ID", example = "15939")
|
||||
@ExcelProperty("用户ID")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "门店Id", example = "5445")
|
||||
@ExcelProperty("门店Id")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "门店名", example = "赵六")
|
||||
@ExcelProperty("门店名")
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "评价")
|
||||
@ExcelProperty("评价")
|
||||
private String evaluate;
|
||||
|
||||
@Schema(description = "菜品评价")
|
||||
@ExcelProperty("菜品评价")
|
||||
private String dishEvaluate;
|
||||
|
||||
@Schema(description = "服务评价")
|
||||
@ExcelProperty("服务评价")
|
||||
private String serEvaluate;
|
||||
|
||||
@Schema(description = "环境评价")
|
||||
@ExcelProperty("环境评价")
|
||||
private String envEvaluate;
|
||||
|
||||
@Schema(description = "文字评价", example = "随便")
|
||||
@ExcelProperty("文字评价")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "上传照片", example = "https://www.iocoder.cn")
|
||||
@ExcelProperty("上传照片")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storeevaluate.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 店铺评价新增/修改 Request VO")
|
||||
@Data
|
||||
public class StoreEvaluateSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30065")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户ID", example = "15939")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "门店Id", example = "5445")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "门店名", example = "赵六")
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "评价")
|
||||
private String evaluate;
|
||||
|
||||
@Schema(description = "菜品评价")
|
||||
private String dishEvaluate;
|
||||
|
||||
@Schema(description = "服务评价")
|
||||
private String serEvaluate;
|
||||
|
||||
@Schema(description = "环境评价")
|
||||
private String envEvaluate;
|
||||
|
||||
@Schema(description = "文字评价", example = "随便")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "上传照片", example = "https://www.iocoder.cn")
|
||||
private String url;
|
||||
|
||||
}
|
@ -1,9 +1,7 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.userpreference.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 用户偏好新增/修改 Request VO")
|
||||
@Data
|
||||
@ -24,7 +22,7 @@ public class UserPreferenceSaveReqVO {
|
||||
@Schema(description = "健康状态")
|
||||
private String health;
|
||||
|
||||
@Schema(description = "食物类型", example = "1")
|
||||
@Schema(description = "食物类型")
|
||||
private String foodType;
|
||||
|
||||
@Schema(description = "过敏食物")
|
||||
|
@ -0,0 +1,90 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.alloc;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.app.alloc.vo.AppAllocRespVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.alloc.AllocDO;
|
||||
import cn.iocoder.yudao.module.member.service.alloc.AllocService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "用户 App - 配置")
|
||||
@RestController
|
||||
@RequestMapping("/member/alloc")
|
||||
@Validated
|
||||
public class AppAllocController {
|
||||
|
||||
@Resource
|
||||
private AllocService allocService;
|
||||
|
||||
//@PostMapping("/create")
|
||||
//@Operation(summary = "创建配置")
|
||||
//@PreAuthorize("@ss.hasPermission('member:alloc:create')")
|
||||
//public CommonResult<Long> createAlloc(@Valid @RequestBody AllocSaveReqVO createReqVO) {
|
||||
// return success(allocService.createAlloc(createReqVO));
|
||||
//}
|
||||
//
|
||||
//@PutMapping("/update")
|
||||
//@Operation(summary = "更新配置")
|
||||
//@PreAuthorize("@ss.hasPermission('member:alloc:update')")
|
||||
//public CommonResult<Boolean> updateAlloc(@Valid @RequestBody AllocSaveReqVO updateReqVO) {
|
||||
// allocService.updateAlloc(updateReqVO);
|
||||
// return success(true);
|
||||
//}
|
||||
//
|
||||
//@DeleteMapping("/delete")
|
||||
//@Operation(summary = "删除配置")
|
||||
//@Parameter(name = "id", description = "编号", required = true)
|
||||
//@PreAuthorize("@ss.hasPermission('member:alloc:delete')")
|
||||
//public CommonResult<Boolean> deleteAlloc(@RequestParam("id") Long id) {
|
||||
// allocService.deleteAlloc(id);
|
||||
// return success(true);
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/get")
|
||||
//@Operation(summary = "获得配置")
|
||||
//@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
//@PreAuthorize("@ss.hasPermission('member:alloc:query')")
|
||||
//public CommonResult<AllocRespVO> getAlloc(@RequestParam("id") Long id) {
|
||||
// AllocDO alloc = allocService.getAlloc(id);
|
||||
// return success(BeanUtils.toBean(alloc, AllocRespVO.class));
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/page")
|
||||
//@Operation(summary = "获得配置分页")
|
||||
//@PreAuthorize("@ss.hasPermission('member:alloc:query')")
|
||||
//public CommonResult<PageResult<AllocRespVO>> getAllocPage(@Valid AllocPageReqVO pageReqVO) {
|
||||
// PageResult<AllocDO> pageResult = allocService.getAllocPage(pageReqVO);
|
||||
// return success(BeanUtils.toBean(pageResult, AllocRespVO.class));
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/export-excel")
|
||||
//@Operation(summary = "导出配置 Excel")
|
||||
//@PreAuthorize("@ss.hasPermission('member:alloc:export')")
|
||||
//@OperateLog(type = EXPORT)
|
||||
//public void exportAllocExcel(@Valid AllocPageReqVO pageReqVO,
|
||||
// HttpServletResponse response) throws IOException {
|
||||
// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
// List<AllocDO> list = allocService.getAllocPage(pageReqVO).getList();
|
||||
// // 导出 Excel
|
||||
// ExcelUtils.write(response, "配置.xls", "数据", AllocRespVO.class,
|
||||
// BeanUtils.toBean(list, AllocRespVO.class));
|
||||
//}
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "联系我们配置列表")
|
||||
public CommonResult<List<AppAllocRespVO>> getAllocList() {
|
||||
List<AllocDO> allocList = allocService.getAllocList();
|
||||
return success(BeanUtils.toBean(allocList, AppAllocRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.alloc.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 配置分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class AppAllocPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "所属模块")
|
||||
private String moudle;
|
||||
|
||||
@Schema(description = "配置名", example = "张三")
|
||||
private String allocName;
|
||||
|
||||
@Schema(description = "配置值")
|
||||
private String allocValue;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.alloc.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 配置 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class AppAllocRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31174")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "所属模块")
|
||||
@ExcelProperty("所属模块")
|
||||
private Long moudle;
|
||||
|
||||
@Schema(description = "配置名", example = "张三")
|
||||
@ExcelProperty("配置名")
|
||||
private Long allocName;
|
||||
|
||||
@Schema(description = "配置值")
|
||||
@ExcelProperty("配置值")
|
||||
private String allocValue;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.alloc.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@Schema(description = "管理后台 - 配置新增/修改 Request VO")
|
||||
@Data
|
||||
public class AppAllocSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31174")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "所属模块")
|
||||
private Long moudle;
|
||||
|
||||
@Schema(description = "配置名", example = "张三")
|
||||
private Long allocName;
|
||||
|
||||
@Schema(description = "配置值")
|
||||
private String allocValue;
|
||||
|
||||
}
|
@ -4,10 +4,12 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.card.vo.CardRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardMonthVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.card.CardDO;
|
||||
import cn.iocoder.yudao.module.member.service.card.CardService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@ -97,4 +99,12 @@ public class AppCardController {
|
||||
return success(cardService.getMoney());
|
||||
}
|
||||
|
||||
@GetMapping("/month")
|
||||
@Operation(summary = "获取本月支出或充值金额")
|
||||
@Parameter(name = "flag", description = "0-支出,1-充值", required = true, example = "1")
|
||||
public CommonResult<AppCardMonthVO> getMonthMoney(Long userId, String flag, String time) {
|
||||
return success(cardService.getMonthMoney(userId,flag,time));
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.card.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "用户 APP - 余额变动明细 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class AppCardMonthVO {
|
||||
|
||||
|
||||
@Schema(description = "钱")
|
||||
private BigDecimal money;
|
||||
|
||||
@Schema(description = "笔数")
|
||||
private Integer count;
|
||||
|
||||
}
|
@ -30,6 +30,9 @@ public class AppCardPageReqVO extends PageParam {
|
||||
@Schema(description = "变动金额")
|
||||
private BigDecimal changeMoney;
|
||||
|
||||
@Schema(description = "消费类型")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
@ -45,4 +45,14 @@ public class AppOrderRespVO {
|
||||
@Schema(description = "菜品")
|
||||
private List<AppOrderDetailRespVO> detailList;
|
||||
|
||||
@Schema(description = "推荐摄入量")
|
||||
private Double proposeIntake;
|
||||
|
||||
@Schema(description = "摄入量")
|
||||
private Double intake;
|
||||
|
||||
@Schema(description = "差值")
|
||||
private Double difference;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.storecomplain;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.member.controller.app.storecomplain.vo.AppStoreComplainSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.service.storecomplain.StoreComplainService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "用户 App - 投诉")
|
||||
@RestController
|
||||
@RequestMapping("/member/store-complain")
|
||||
@Validated
|
||||
public class AppStoreComplainController {
|
||||
|
||||
@Resource
|
||||
private StoreComplainService storeComplainService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建投诉")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-complain:create')")
|
||||
public CommonResult<Long> createStoreComplain(@Valid @RequestBody AppStoreComplainSaveReqVO createReqVO) {
|
||||
return success(storeComplainService.createStoreComplainApp(createReqVO));
|
||||
}
|
||||
|
||||
//@PutMapping("/update")
|
||||
//@Operation(summary = "更新投诉")
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-complain:update')")
|
||||
//public CommonResult<Boolean> updateStoreComplain(@Valid @RequestBody StoreComplainSaveReqVO updateReqVO) {
|
||||
// storeComplainService.updateStoreComplain(updateReqVO);
|
||||
// return success(true);
|
||||
//}
|
||||
//
|
||||
//@DeleteMapping("/delete")
|
||||
//@Operation(summary = "删除投诉")
|
||||
//@Parameter(name = "id", description = "编号", required = true)
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-complain:delete')")
|
||||
//public CommonResult<Boolean> deleteStoreComplain(@RequestParam("id") Long id) {
|
||||
// storeComplainService.deleteStoreComplain(id);
|
||||
// return success(true);
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/get")
|
||||
//@Operation(summary = "获得投诉")
|
||||
//@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-complain:query')")
|
||||
//public CommonResult<StoreComplainRespVO> getStoreComplain(@RequestParam("id") Long id) {
|
||||
// StoreComplainDO storeComplain = storeComplainService.getStoreComplain(id);
|
||||
// return success(BeanUtils.toBean(storeComplain, StoreComplainRespVO.class));
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/page")
|
||||
//@Operation(summary = "获得投诉分页")
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-complain:query')")
|
||||
//public CommonResult<PageResult<StoreComplainRespVO>> getStoreComplainPage(@Valid StoreComplainPageReqVO pageReqVO) {
|
||||
// PageResult<StoreComplainDO> pageResult = storeComplainService.getStoreComplainPage(pageReqVO);
|
||||
// return success(BeanUtils.toBean(pageResult, StoreComplainRespVO.class));
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/export-excel")
|
||||
//@Operation(summary = "导出投诉 Excel")
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-complain:export')")
|
||||
//@OperateLog(type = EXPORT)
|
||||
//public void exportStoreComplainExcel(@Valid StoreComplainPageReqVO pageReqVO,
|
||||
// HttpServletResponse response) throws IOException {
|
||||
// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
// List<StoreComplainDO> list = storeComplainService.getStoreComplainPage(pageReqVO).getList();
|
||||
// // 导出 Excel
|
||||
// ExcelUtils.write(response, "投诉.xls", "数据", StoreComplainRespVO.class,
|
||||
// BeanUtils.toBean(list, StoreComplainRespVO.class));
|
||||
//}
|
||||
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.storecomplain.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 投诉新增/修改 Request VO")
|
||||
@Data
|
||||
public class AppStoreComplainSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21372")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户ID", example = "14476")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "门店Id", example = "18179")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "门店名", example = "芋艿")
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "主题")
|
||||
private String topic;
|
||||
|
||||
@Schema(description = "描述")
|
||||
private String describe;
|
||||
|
||||
@Schema(description = "上传照片")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String phone;
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.storeevaluate;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.member.controller.app.storeevaluate.vo.AppStoreEvaluateSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeevaluate.StoreEvaluateDO;
|
||||
import cn.iocoder.yudao.module.member.service.storeevaluate.StoreEvaluateService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "用户 App - 店铺评价")
|
||||
@RestController
|
||||
@RequestMapping("/member/store-evaluate")
|
||||
@Validated
|
||||
public class AppStoreEvaluateController {
|
||||
|
||||
@Resource
|
||||
private StoreEvaluateService storeEvaluateService;
|
||||
//
|
||||
//@PostMapping("/create")
|
||||
//@Operation(summary = "创建店铺评价")
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-evaluate:create')")
|
||||
//public CommonResult<Long> createStoreEvaluate(@Valid @RequestBody StoreEvaluateSaveReqVO createReqVO) {
|
||||
// return success(storeEvaluateService.createStoreEvaluate(createReqVO));
|
||||
//}
|
||||
//
|
||||
//@PutMapping("/update")
|
||||
//@Operation(summary = "更新店铺评价")
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-evaluate:update')")
|
||||
//public CommonResult<Boolean> updateStoreEvaluate(@Valid @RequestBody StoreEvaluateSaveReqVO updateReqVO) {
|
||||
// storeEvaluateService.updateStoreEvaluate(updateReqVO);
|
||||
// return success(true);
|
||||
//}
|
||||
//
|
||||
//@DeleteMapping("/delete")
|
||||
//@Operation(summary = "删除店铺评价")
|
||||
//@Parameter(name = "id", description = "编号", required = true)
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-evaluate:delete')")
|
||||
//public CommonResult<Boolean> deleteStoreEvaluate(@RequestParam("id") Long id) {
|
||||
// storeEvaluateService.deleteStoreEvaluate(id);
|
||||
// return success(true);
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/get")
|
||||
//@Operation(summary = "获得店铺评价")
|
||||
//@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-evaluate:query')")
|
||||
//public CommonResult<StoreEvaluateRespVO> getStoreEvaluate(@RequestParam("id") Long id) {
|
||||
// StoreEvaluateDO storeEvaluate = storeEvaluateService.getStoreEvaluate(id);
|
||||
// return success(BeanUtils.toBean(storeEvaluate, StoreEvaluateRespVO.class));
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/page")
|
||||
//@Operation(summary = "获得店铺评价分页")
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-evaluate:query')")
|
||||
//public CommonResult<PageResult<StoreEvaluateRespVO>> getStoreEvaluatePage(@Valid StoreEvaluatePageReqVO pageReqVO) {
|
||||
// PageResult<StoreEvaluateDO> pageResult = storeEvaluateService.getStoreEvaluatePage(pageReqVO);
|
||||
// return success(BeanUtils.toBean(pageResult, StoreEvaluateRespVO.class));
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/export-excel")
|
||||
//@Operation(summary = "导出店铺评价 Excel")
|
||||
//@PreAuthorize("@ss.hasPermission('member:store-evaluate:export')")
|
||||
//@OperateLog(type = EXPORT)
|
||||
//public void exportStoreEvaluateExcel(@Valid StoreEvaluatePageReqVO pageReqVO,
|
||||
// HttpServletResponse response) throws IOException {
|
||||
// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
// List<StoreEvaluateDO> list = storeEvaluateService.getStoreEvaluatePage(pageReqVO).getList();
|
||||
// // 导出 Excel
|
||||
// ExcelUtils.write(response, "店铺评价.xls", "数据", StoreEvaluateRespVO.class,
|
||||
// BeanUtils.toBean(list, StoreEvaluateRespVO.class));
|
||||
//}
|
||||
|
||||
@PostMapping("/saveOrUpdate")
|
||||
@Operation(summary = "创建或更新店铺评价")
|
||||
public CommonResult<Boolean> saveOrUpdate(@Valid @RequestBody AppStoreEvaluateSaveReqVO createReqVO) {
|
||||
return success(storeEvaluateService.saveOrUpdate(createReqVO));
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "创建或更新店铺评价")
|
||||
public CommonResult<StoreEvaluateDO> saveOrUpdate(Long storeId) {
|
||||
return success(storeEvaluateService.selectByUserId(storeId));
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.storeevaluate.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 店铺评价新增/修改 Request VO")
|
||||
@Data
|
||||
public class AppStoreEvaluateSaveReqVO {
|
||||
|
||||
@Schema(description = "用户ID", example = "15939")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "门店Id", example = "5445")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "门店名", example = "赵六")
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "评价")
|
||||
private String evaluate;
|
||||
|
||||
@Schema(description = "菜品评价")
|
||||
private String dishEvaluate;
|
||||
|
||||
@Schema(description = "服务评价")
|
||||
private String serEvaluate;
|
||||
|
||||
@Schema(description = "环境评价")
|
||||
private String envEvaluate;
|
||||
|
||||
@Schema(description = "文字评价", example = "随便")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "上传照片", example = "https://www.iocoder.cn")
|
||||
private String url;
|
||||
|
||||
}
|
@ -9,6 +9,8 @@ import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdate
|
||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateMobileReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdatePasswordReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppNutritionDayVo;
|
||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppNutritionWeekVO;
|
||||
import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||
@ -28,6 +30,8 @@ import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
||||
|
||||
@ -97,16 +101,24 @@ public class AppMemberUserController {
|
||||
return success(userService.bindCard(vo.getCardId()));
|
||||
}
|
||||
|
||||
@GetMapping("/checkCard")
|
||||
@Operation(summary = "判定有无绑卡")
|
||||
public CommonResult<Boolean> checkCard(Long userId){
|
||||
return success(userService.checkCard(userId));
|
||||
}
|
||||
|
||||
@GetMapping("/nutritionDay")
|
||||
@Operation(summary = "营养日报")
|
||||
public CommonResult<Boolean> nutritionDay(String time){
|
||||
return success(true);
|
||||
public CommonResult<List<AppNutritionDayVo>> nutritionDay(String time){
|
||||
List<AppNutritionDayVo> appNutritionDayVos = userService.nutritionDay(time);
|
||||
return success(appNutritionDayVos);
|
||||
}
|
||||
|
||||
@GetMapping("/NutritionWeek")
|
||||
@Operation(summary = "营养周报")
|
||||
public CommonResult<Boolean> NutritionWeek(@Valid @RequestBody AppBindCardVO vo){
|
||||
return success(userService.bindCard(vo.getCardId()));
|
||||
public CommonResult<List<AppNutritionWeekVO>> NutritionWeek(String start, String end){
|
||||
List<AppNutritionWeekVO> appNutritionWeekVOS = userService.NutritionWeek(start, end);
|
||||
return success(appNutritionWeekVOS);
|
||||
}
|
||||
@GetMapping("/heat")
|
||||
@Operation(summary = "获得会员热量分析")
|
||||
|
@ -18,7 +18,7 @@ public class AppNutritionWeekVO {
|
||||
private String time;
|
||||
|
||||
@Schema(description = "摄入量")
|
||||
private Double intake;
|
||||
private Double intake = 0D;
|
||||
|
||||
@Schema(description = "菜品")
|
||||
private List<OrderDetailDO> detailList;
|
||||
|
@ -1,18 +1,35 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.userpreference;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.app.userpreference.vo.AppUserPreferenceRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.userpreference.vo.AppUserPreferenceSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.userpreference.UserPreferenceDO;
|
||||
import cn.iocoder.yudao.module.member.service.userpreference.UserPreferenceService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "用户 APP - 用户偏好")
|
||||
@RestController
|
||||
@RequestMapping("/member/user-preference")
|
||||
@Validated
|
||||
public class AppUserPreferenceController {
|
||||
|
||||
//@Resource
|
||||
//private UserPreferenceService userPreferenceService;
|
||||
@Resource
|
||||
private UserPreferenceService userPreferenceService;
|
||||
//
|
||||
//@PostMapping("/create")
|
||||
//@Operation(summary = "创建用户偏好")
|
||||
@ -38,14 +55,13 @@ public class AppUserPreferenceController {
|
||||
// return success(true);
|
||||
//}
|
||||
//
|
||||
//@GetMapping("/get")
|
||||
//@Operation(summary = "获得用户偏好")
|
||||
//@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
//@PreAuthorize("@ss.hasPermission('member:user-preference:query')")
|
||||
//public CommonResult<UserPreferenceRespVO> getUserPreference(@RequestParam("id") Long id) {
|
||||
// UserPreferenceDO userPreference = userPreferenceService.getUserPreference(id);
|
||||
// return success(BeanUtils.toBean(userPreference, UserPreferenceRespVO.class));
|
||||
//}
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得用户偏好")
|
||||
@Parameter(name = "userId", description = "用户Id", required = true, example = "1024")
|
||||
public CommonResult<AppUserPreferenceRespVO> getUserPreference(@RequestParam("userId") Long userId) {
|
||||
UserPreferenceDO userPreference = userPreferenceService.getUserPreferenceByUserId(userId);
|
||||
return success(BeanUtils.toBean(userPreference, AppUserPreferenceRespVO.class));
|
||||
}
|
||||
//
|
||||
//@GetMapping("/page")
|
||||
//@Operation(summary = "获得用户偏好分页")
|
||||
@ -67,5 +83,12 @@ public class AppUserPreferenceController {
|
||||
// ExcelUtils.write(response, "用户偏好.xls", "数据", UserPreferenceRespVO.class,
|
||||
// BeanUtils.toBean(list, UserPreferenceRespVO.class));
|
||||
//}
|
||||
@PutMapping("/saveOrUpdate")
|
||||
@Operation(summary = "设置用户偏好")
|
||||
public CommonResult<Boolean> updateUserPreference(@Valid @RequestBody AppUserPreferenceSaveReqVO updateReqVO) {
|
||||
return success( userPreferenceService.saveOrUpdate(updateReqVO));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,17 +1,12 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.userpreference.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 用户偏好新增/修改 Request VO")
|
||||
@Data
|
||||
public class AppUserPreferenceSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "14844")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "用户ID", example = "11807")
|
||||
private Long userId;
|
||||
|
||||
|
@ -0,0 +1,47 @@
|
||||
package cn.iocoder.yudao.module.member.dal.dataobject.alloc;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 配置 DO
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
@TableName("member_alloc")
|
||||
@KeySequence("member_alloc_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AllocDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 所属模块
|
||||
*/
|
||||
private Long moudle;
|
||||
/**
|
||||
* 配置名
|
||||
*/
|
||||
private Long allocName;
|
||||
/**
|
||||
* 配置值
|
||||
*/
|
||||
private String allocValue;
|
||||
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package cn.iocoder.yudao.module.member.dal.dataobject.storecomplain;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 投诉 DO
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
@TableName("member_store_complain")
|
||||
@KeySequence("member_store_complain_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class StoreComplainDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 门店Id
|
||||
*/
|
||||
private Long storeId;
|
||||
/**
|
||||
* 门店名
|
||||
*/
|
||||
private String storeName;
|
||||
/**
|
||||
* 主题
|
||||
*/
|
||||
private String topic;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String describe;
|
||||
/**
|
||||
* 上传照片
|
||||
*/
|
||||
private String url;
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
package cn.iocoder.yudao.module.member.dal.dataobject.storeevaluate;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* 店铺评价 DO
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
@TableName("member_store_evaluate")
|
||||
@KeySequence("member_store_evaluate_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class StoreEvaluateDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 门店Id
|
||||
*/
|
||||
private Long storeId;
|
||||
/**
|
||||
* 门店名
|
||||
*/
|
||||
private String storeName;
|
||||
/**
|
||||
* 评价
|
||||
*/
|
||||
private String evaluate;
|
||||
/**
|
||||
* 菜品评价
|
||||
*/
|
||||
private String dishEvaluate;
|
||||
/**
|
||||
* 服务评价
|
||||
*/
|
||||
private String serEvaluate;
|
||||
/**
|
||||
* 环境评价
|
||||
*/
|
||||
private String envEvaluate;
|
||||
/**
|
||||
* 文字评价
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 上传照片
|
||||
*/
|
||||
private String url;
|
||||
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.member.dal.mysql.alloc;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.alloc.vo.AllocPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.alloc.AllocDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 配置 Mapper
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
@Mapper
|
||||
public interface AllocMapper extends BaseMapperX<AllocDO> {
|
||||
|
||||
default PageResult<AllocDO> selectPage(AllocPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<AllocDO>()
|
||||
.eqIfPresent(AllocDO::getMoudle, reqVO.getMoudle())
|
||||
.likeIfPresent(AllocDO::getAllocName, reqVO.getAllocName())
|
||||
.eqIfPresent(AllocDO::getAllocValue, reqVO.getAllocValue())
|
||||
.betweenIfPresent(AllocDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(AllocDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -4,9 +4,14 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.card.vo.CardPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardMonthVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.card.CardDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 余额变动明细 Mapper
|
||||
@ -35,4 +40,7 @@ public interface CardMapper extends BaseMapperX<CardDO> {
|
||||
.betweenIfPresent(CardDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(CardDO::getId));
|
||||
}
|
||||
|
||||
@Select("select IFNULL(sum(money),0) as money,count(*) as count FROM member_card where user_id = #{userId} and flag = #{flag} and create_time BETWEEN #{startTime} and #{endTime}")
|
||||
AppCardMonthVO selectMonth(@Param("userId") Long userId,@Param("flag") String flag, @Param("startTime") LocalDateTime startTime, @Param("endTime")LocalDateTime endTime);
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package cn.iocoder.yudao.module.member.dal.mysql.storecomplain;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storecomplain.vo.StoreComplainPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storecomplain.StoreComplainDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 投诉 Mapper
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
@Mapper
|
||||
public interface StoreComplainMapper extends BaseMapperX<StoreComplainDO> {
|
||||
|
||||
default PageResult<StoreComplainDO> selectPage(StoreComplainPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<StoreComplainDO>()
|
||||
.eqIfPresent(StoreComplainDO::getUserId, reqVO.getUserId())
|
||||
.eqIfPresent(StoreComplainDO::getStoreId, reqVO.getStoreId())
|
||||
.likeIfPresent(StoreComplainDO::getStoreName, reqVO.getStoreName())
|
||||
.eqIfPresent(StoreComplainDO::getTopic, reqVO.getTopic())
|
||||
.eqIfPresent(StoreComplainDO::getDescribe, reqVO.getDescribe())
|
||||
.eqIfPresent(StoreComplainDO::getUrl, reqVO.getUrl())
|
||||
.eqIfPresent(StoreComplainDO::getPhone, reqVO.getPhone())
|
||||
.betweenIfPresent(StoreComplainDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(StoreComplainDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package cn.iocoder.yudao.module.member.dal.mysql.storeevaluate;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storeevaluate.vo.StoreEvaluatePageReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeevaluate.StoreEvaluateDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 店铺评价 Mapper
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
@Mapper
|
||||
public interface StoreEvaluateMapper extends BaseMapperX<StoreEvaluateDO> {
|
||||
|
||||
default PageResult<StoreEvaluateDO> selectPage(StoreEvaluatePageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<StoreEvaluateDO>()
|
||||
.eqIfPresent(StoreEvaluateDO::getUserId, reqVO.getUserId())
|
||||
.eqIfPresent(StoreEvaluateDO::getStoreId, reqVO.getStoreId())
|
||||
.likeIfPresent(StoreEvaluateDO::getStoreName, reqVO.getStoreName())
|
||||
.eqIfPresent(StoreEvaluateDO::getEvaluate, reqVO.getEvaluate())
|
||||
.eqIfPresent(StoreEvaluateDO::getDishEvaluate, reqVO.getDishEvaluate())
|
||||
.eqIfPresent(StoreEvaluateDO::getSerEvaluate, reqVO.getSerEvaluate())
|
||||
.eqIfPresent(StoreEvaluateDO::getEnvEvaluate, reqVO.getEnvEvaluate())
|
||||
.eqIfPresent(StoreEvaluateDO::getRemark, reqVO.getRemark())
|
||||
.eqIfPresent(StoreEvaluateDO::getUrl, reqVO.getUrl())
|
||||
.betweenIfPresent(StoreEvaluateDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(StoreEvaluateDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package cn.iocoder.yudao.module.member.service.alloc;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.alloc.vo.AllocPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.alloc.vo.AllocSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.alloc.AllocDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 配置 Service 接口
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
public interface AllocService {
|
||||
|
||||
/**
|
||||
* 创建配置
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createAlloc(@Valid AllocSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新配置
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateAlloc(@Valid AllocSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除配置
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteAlloc(Long id);
|
||||
|
||||
/**
|
||||
* 获得配置
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 配置
|
||||
*/
|
||||
AllocDO getAlloc(Long id);
|
||||
|
||||
/**
|
||||
* 获得配置分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 配置分页
|
||||
*/
|
||||
PageResult<AllocDO> getAllocPage(AllocPageReqVO pageReqVO);
|
||||
|
||||
List<AllocDO> getAllocList();
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
package cn.iocoder.yudao.module.member.service.alloc;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.alloc.vo.AllocPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.alloc.vo.AllocSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.alloc.AllocDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.alloc.AllocMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.ALLOC_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 配置 Service 实现类
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class AllocServiceImpl implements AllocService {
|
||||
|
||||
@Resource
|
||||
private AllocMapper allocMapper;
|
||||
|
||||
@Override
|
||||
public Long createAlloc(AllocSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
AllocDO alloc = BeanUtils.toBean(createReqVO, AllocDO.class);
|
||||
allocMapper.insert(alloc);
|
||||
// 返回
|
||||
return alloc.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAlloc(AllocSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateAllocExists(updateReqVO.getId());
|
||||
// 更新
|
||||
AllocDO updateObj = BeanUtils.toBean(updateReqVO, AllocDO.class);
|
||||
allocMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAlloc(Long id) {
|
||||
// 校验存在
|
||||
validateAllocExists(id);
|
||||
// 删除
|
||||
allocMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateAllocExists(Long id) {
|
||||
if (allocMapper.selectById(id) == null) {
|
||||
throw exception(ALLOC_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AllocDO getAlloc(Long id) {
|
||||
return allocMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<AllocDO> getAllocPage(AllocPageReqVO pageReqVO) {
|
||||
return allocMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AllocDO> getAllocList() {
|
||||
List<AllocDO> allocDOS = allocMapper.selectList(Wrappers.<AllocDO>lambdaQuery().eq(AllocDO::getMoudle, "1"));
|
||||
return allocDOS;
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.service.card;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.card.vo.CardPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.card.vo.CardSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardMonthVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.card.CardDO;
|
||||
|
||||
@ -83,4 +84,6 @@ public interface CardService {
|
||||
*/
|
||||
void insertBatch(List<CardDO> list);
|
||||
|
||||
AppCardMonthVO getMonthMoney(Long userId,String flag, String time);
|
||||
|
||||
}
|
@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.card.vo.CardPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.card.vo.CardSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardMonthVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.card.vo.AppCardPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.card.CardDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.card.CardMapper;
|
||||
@ -17,6 +18,11 @@ import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.YearMonth;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
@ -138,4 +144,29 @@ public class CardServiceImpl implements CardService {
|
||||
public void insertBatch(List<CardDO> list) {
|
||||
cardMapper.insertBatch(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppCardMonthVO getMonthMoney(Long userId,String flag, String time) {
|
||||
|
||||
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
|
||||
LocalDate parse = LocalDate.parse(time, dateFormatter);
|
||||
|
||||
// 获取指定日期所在月份的第一天
|
||||
LocalDate firstDayOfMonth = parse.withDayOfMonth(1);
|
||||
|
||||
// 获取指定日期所在月份的最后一天
|
||||
YearMonth yearMonth = YearMonth.from(parse);
|
||||
LocalDate lastDayOfMonth = yearMonth.atEndOfMonth();
|
||||
|
||||
// 获取所在月份的第一天的开始时间
|
||||
LocalDateTime firstDayOfMonthStart = firstDayOfMonth.atStartOfDay();
|
||||
|
||||
// 获取所在月份的最后一天的结束时间
|
||||
LocalDateTime lastDayOfMonthEnd = lastDayOfMonth.atTime(LocalTime.MAX);
|
||||
AppCardMonthVO appCardMonthVO = cardMapper.selectMonth(userId, flag, firstDayOfMonthStart, lastDayOfMonthEnd);
|
||||
|
||||
return appCardMonthVO;
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -20,6 +20,7 @@ import cn.iocoder.yudao.module.member.enums.CostTypeEnum;
|
||||
import cn.iocoder.yudao.module.member.enums.TimePeriodEnum;
|
||||
import cn.iocoder.yudao.module.member.service.orderdetail.OrderDetailService;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -51,6 +52,14 @@ public class OrderServiceImpl implements OrderService {
|
||||
private OrderDetailService orderDetailService;
|
||||
@Resource
|
||||
private MemberUserMapper memberUserMapper;
|
||||
|
||||
@Value("${propose.morning}")
|
||||
private Double proposeMorning;
|
||||
@Value("${propose.noon}")
|
||||
private Double proposeNoon;
|
||||
@Value("${propose.night}")
|
||||
private Double proposeNight;
|
||||
|
||||
@Override
|
||||
public Long createOrder(AppOrderSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -96,6 +105,18 @@ public class OrderServiceImpl implements OrderService {
|
||||
AppOrderRespVO appOrderRespVO = BeanUtils.toBean(order, AppOrderRespVO.class);
|
||||
List<AppOrderDetailRespVO> appOrderDetailRespVOS = orderDetailService.selectListByOrderId(id);
|
||||
appOrderRespVO.setDetailList(appOrderDetailRespVOS);
|
||||
Double reduce = appOrderDetailRespVOS.stream().map(AppOrderDetailRespVO::getHeat).reduce(0d, Double::sum);
|
||||
appOrderRespVO.setIntake(reduce);
|
||||
//判断时间
|
||||
int hour = order.getCreateTime().getHour();
|
||||
if(TimePeriodEnum.MORNING.getStartInt()<=hour && hour<=TimePeriodEnum.MORNING.getEndInt()){
|
||||
appOrderRespVO.setProposeIntake(proposeMorning);
|
||||
} else if (TimePeriodEnum.MIDDAY.getStartInt()<=hour && hour<=TimePeriodEnum.MIDDAY.getEndInt()){
|
||||
appOrderRespVO.setProposeIntake(proposeNoon);
|
||||
}else{
|
||||
appOrderRespVO.setProposeIntake(proposeNight);
|
||||
}
|
||||
appOrderRespVO.setDifference(reduce-appOrderRespVO.getProposeIntake());
|
||||
return appOrderRespVO;
|
||||
}
|
||||
|
||||
@ -187,6 +208,7 @@ public class OrderServiceImpl implements OrderService {
|
||||
@Override
|
||||
public List<DishOrderDO> getDishOrderByTime(LocalDateTime startTime, LocalDateTime endTime) {
|
||||
List<DishOrderDO> dishOrderDOS = dishOrderMapper.selectList(Wrappers.<DishOrderDO>lambdaQuery()
|
||||
.eq(DishOrderDO::getUserId,SecurityFrameworkUtils.getLoginUserId())
|
||||
.between(DishOrderDO::getCreateTime, startTime, endTime));
|
||||
return dishOrderDOS;
|
||||
}
|
||||
|
@ -0,0 +1,66 @@
|
||||
package cn.iocoder.yudao.module.member.service.storecomplain;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storecomplain.vo.StoreComplainPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storecomplain.vo.StoreComplainSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.storecomplain.vo.AppStoreComplainSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storecomplain.StoreComplainDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* 投诉 Service 接口
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
public interface StoreComplainService {
|
||||
|
||||
/**
|
||||
* 创建投诉
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createStoreComplain(@Valid StoreComplainSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新投诉
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateStoreComplain(@Valid StoreComplainSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除投诉
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteStoreComplain(Long id);
|
||||
|
||||
/**
|
||||
* 获得投诉
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 投诉
|
||||
*/
|
||||
StoreComplainDO getStoreComplain(Long id);
|
||||
|
||||
/**
|
||||
* 获得投诉分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 投诉分页
|
||||
*/
|
||||
PageResult<StoreComplainDO> getStoreComplainPage(StoreComplainPageReqVO pageReqVO);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 创建投诉
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createStoreComplainApp(@Valid AppStoreComplainSaveReqVO createReqVO);
|
||||
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
package cn.iocoder.yudao.module.member.service.storecomplain;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storecomplain.vo.StoreComplainPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storecomplain.vo.StoreComplainSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.storecomplain.vo.AppStoreComplainSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storecomplain.StoreComplainDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.storecomplain.StoreComplainMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.STORE_COMPLAIN_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 投诉 Service 实现类
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class StoreComplainServiceImpl implements StoreComplainService {
|
||||
|
||||
@Resource
|
||||
private StoreComplainMapper storeComplainMapper;
|
||||
|
||||
@Override
|
||||
public Long createStoreComplain(StoreComplainSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
StoreComplainDO storeComplain = BeanUtils.toBean(createReqVO, StoreComplainDO.class);
|
||||
storeComplainMapper.insert(storeComplain);
|
||||
// 返回
|
||||
return storeComplain.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStoreComplain(StoreComplainSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateStoreComplainExists(updateReqVO.getId());
|
||||
// 更新
|
||||
StoreComplainDO updateObj = BeanUtils.toBean(updateReqVO, StoreComplainDO.class);
|
||||
storeComplainMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteStoreComplain(Long id) {
|
||||
// 校验存在
|
||||
validateStoreComplainExists(id);
|
||||
// 删除
|
||||
storeComplainMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateStoreComplainExists(Long id) {
|
||||
if (storeComplainMapper.selectById(id) == null) {
|
||||
throw exception(STORE_COMPLAIN_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public StoreComplainDO getStoreComplain(Long id) {
|
||||
return storeComplainMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<StoreComplainDO> getStoreComplainPage(StoreComplainPageReqVO pageReqVO) {
|
||||
return storeComplainMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long createStoreComplainApp(@Valid AppStoreComplainSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
StoreComplainDO storeComplain = BeanUtils.toBean(createReqVO, StoreComplainDO.class);
|
||||
storeComplainMapper.insert(storeComplain);
|
||||
// 返回
|
||||
return storeComplain.getId();
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package cn.iocoder.yudao.module.member.service.storeevaluate;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storeevaluate.vo.StoreEvaluatePageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storeevaluate.vo.StoreEvaluateSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.storeevaluate.vo.AppStoreEvaluateSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeevaluate.StoreEvaluateDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* 店铺评价 Service 接口
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
public interface StoreEvaluateService {
|
||||
|
||||
/**
|
||||
* 创建店铺评价
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createStoreEvaluate(@Valid StoreEvaluateSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新店铺评价
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateStoreEvaluate(@Valid StoreEvaluateSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除店铺评价
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteStoreEvaluate(Long id);
|
||||
|
||||
/**
|
||||
* 获得店铺评价
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 店铺评价
|
||||
*/
|
||||
StoreEvaluateDO getStoreEvaluate(Long id);
|
||||
|
||||
/**
|
||||
* 获得店铺评价分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 店铺评价分页
|
||||
*/
|
||||
PageResult<StoreEvaluateDO> getStoreEvaluatePage(StoreEvaluatePageReqVO pageReqVO);
|
||||
|
||||
|
||||
Boolean saveOrUpdate(AppStoreEvaluateSaveReqVO createReqVO);
|
||||
|
||||
StoreEvaluateDO selectByUserId(Long storeId);
|
||||
|
||||
}
|
@ -0,0 +1,104 @@
|
||||
package cn.iocoder.yudao.module.member.service.storeevaluate;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storeevaluate.vo.StoreEvaluatePageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storeevaluate.vo.StoreEvaluateSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.storeevaluate.vo.AppStoreEvaluateSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeevaluate.StoreEvaluateDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.storeevaluate.StoreEvaluateMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.STORE_EVALUATE_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 店铺评价 Service 实现类
|
||||
*
|
||||
* @author 开发账号
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class StoreEvaluateServiceImpl implements StoreEvaluateService {
|
||||
|
||||
@Resource
|
||||
private StoreEvaluateMapper storeEvaluateMapper;
|
||||
|
||||
@Override
|
||||
public Long createStoreEvaluate(StoreEvaluateSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
StoreEvaluateDO storeEvaluate = BeanUtils.toBean(createReqVO, StoreEvaluateDO.class);
|
||||
storeEvaluateMapper.insert(storeEvaluate);
|
||||
// 返回
|
||||
return storeEvaluate.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStoreEvaluate(StoreEvaluateSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateStoreEvaluateExists(updateReqVO.getId());
|
||||
// 更新
|
||||
StoreEvaluateDO updateObj = BeanUtils.toBean(updateReqVO, StoreEvaluateDO.class);
|
||||
storeEvaluateMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteStoreEvaluate(Long id) {
|
||||
// 校验存在
|
||||
validateStoreEvaluateExists(id);
|
||||
// 删除
|
||||
storeEvaluateMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateStoreEvaluateExists(Long id) {
|
||||
if (storeEvaluateMapper.selectById(id) == null) {
|
||||
throw exception(STORE_EVALUATE_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public StoreEvaluateDO getStoreEvaluate(Long id) {
|
||||
return storeEvaluateMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<StoreEvaluateDO> getStoreEvaluatePage(StoreEvaluatePageReqVO pageReqVO) {
|
||||
return storeEvaluateMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean saveOrUpdate(AppStoreEvaluateSaveReqVO createReqVO) {
|
||||
StoreEvaluateDO storeEvaluateDO = storeEvaluateMapper.selectOne(Wrappers.<StoreEvaluateDO>lambdaQuery()
|
||||
.eq(StoreEvaluateDO::getUserId, createReqVO.getUserId())
|
||||
.eq(createReqVO.getStoreId() != null,StoreEvaluateDO::getStoreId,createReqVO.getStoreId())
|
||||
.last("limit 1"));
|
||||
if(storeEvaluateDO == null){
|
||||
StoreEvaluateDO add = new StoreEvaluateDO();
|
||||
BeanUtil.copyProperties(createReqVO,add);
|
||||
return storeEvaluateMapper.insert(add)>0;
|
||||
}else {
|
||||
BeanUtil.copyProperties(createReqVO,storeEvaluateDO);
|
||||
return storeEvaluateMapper.updateById(storeEvaluateDO)>0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public StoreEvaluateDO selectByUserId(Long storeId) {
|
||||
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
||||
if(loginUserId == null ){
|
||||
return new StoreEvaluateDO();
|
||||
}
|
||||
StoreEvaluateDO storeEvaluateDO = storeEvaluateMapper.selectOne(Wrappers.<StoreEvaluateDO>lambdaQuery()
|
||||
.eq(StoreEvaluateDO::getUserId, loginUserId)
|
||||
.eq(storeId != null,StoreEvaluateDO::getStoreId,storeId)
|
||||
.last("limit 1"));
|
||||
return storeEvaluateDO;
|
||||
}
|
||||
}
|
@ -198,8 +198,12 @@ public interface MemberUserService {
|
||||
/**
|
||||
* 用户绑卡
|
||||
*/
|
||||
boolean bindCard(String cardId);
|
||||
Boolean bindCard(String cardId);
|
||||
|
||||
/**
|
||||
* 判定绑卡
|
||||
*/
|
||||
Boolean checkCard(Long userId);
|
||||
/**
|
||||
* 营养日报
|
||||
*/
|
||||
|
@ -4,15 +4,16 @@ import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.date.DateField;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.map.MapBuilder;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.*;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
||||
import cn.iocoder.yudao.framework.common.exception.ServerException;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
@ -39,6 +40,7 @@ import cn.iocoder.yudao.module.member.enums.TimePeriodEnum;
|
||||
import cn.iocoder.yudao.module.member.mq.producer.user.MemberUserProducer;
|
||||
import cn.iocoder.yudao.module.member.service.order.OrderService;
|
||||
import cn.iocoder.yudao.module.member.service.orderdetail.OrderDetailService;
|
||||
import cn.iocoder.yudao.module.member.service.userexpand.UserExpandService;
|
||||
import cn.iocoder.yudao.module.system.api.dishesnutrition.DishesNutritionApi;
|
||||
import cn.iocoder.yudao.module.system.api.dishesnutrition.dto.DishesNutritionRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi;
|
||||
@ -46,6 +48,7 @@ import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
|
||||
import cn.iocoder.yudao.module.system.api.social.SocialClientApi;
|
||||
import cn.iocoder.yudao.module.system.api.social.dto.SocialWxPhoneNumberInfoRespDTO;
|
||||
import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@ -58,11 +61,15 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.time.temporal.WeekFields;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
@ -108,6 +115,8 @@ public class MemberUserServiceImpl implements MemberUserService {
|
||||
|
||||
@Resource
|
||||
private OrderDetailService orderDetailService;
|
||||
@Resource
|
||||
private UserExpandService userExpandService;
|
||||
|
||||
@Value("${propose.morning}")
|
||||
private Double proposeMorning;
|
||||
@ -194,9 +203,16 @@ public class MemberUserServiceImpl implements MemberUserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateUser(Long userId, AppMemberUserUpdateReqVO reqVO) {
|
||||
// 校验存在
|
||||
validateUserExists(userId);
|
||||
// 校验手机唯一
|
||||
validateMobileUnique(userId, reqVO.getMobile());
|
||||
|
||||
MemberUserDO updateObj = BeanUtils.toBean(reqVO, MemberUserDO.class).setId(userId);
|
||||
memberUserMapper.updateById(updateObj);
|
||||
userExpandService.updateUserExpandByuserId(userId,reqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -368,19 +384,29 @@ public class MemberUserServiceImpl implements MemberUserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean bindCard(String cardId) {
|
||||
public Boolean bindCard(String cardId) {
|
||||
List<MemberUserDO> memberUserDOS = memberUserMapper.selectList(Wrappers.<MemberUserDO>lambdaQuery().eq(MemberUserDO::getCardId, cardId));
|
||||
if(memberUserDOS.size()>0){
|
||||
throw new ServerException(600,"卡号已绑定");
|
||||
}
|
||||
MemberUserDO memberUserDO = memberUserMapper.selectById(SecurityFrameworkUtils.getLoginUserId());
|
||||
memberUserDO.setCardId(cardId);
|
||||
return memberUserMapper.updateById(memberUserDO) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean checkCard(Long userId) {
|
||||
MemberUserDO memberUserDO = memberUserMapper.selectById(userId);
|
||||
return StrUtil.isNotBlank(memberUserDO.getCardId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AppNutritionDayVo> nutritionDay(String time) {
|
||||
List<AppNutritionDayVo> result = new ArrayList<>();
|
||||
//获取日期的订单
|
||||
String start = time+" 00:00:00";
|
||||
String end = time+" 23:59:59";
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
|
||||
|
||||
LocalDateTime startTime = LocalDateTime.parse(start, formatter);
|
||||
LocalDateTime endTime = LocalDateTime.parse(end, formatter);
|
||||
@ -438,108 +464,27 @@ public class MemberUserServiceImpl implements MemberUserService {
|
||||
//获取日期的订单
|
||||
String newStart = start + " 00:00:00";
|
||||
String newEnd = end + " 23:59:59";
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
|
||||
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
LocalDateTime startTime = LocalDateTime.parse(newStart, formatter);
|
||||
LocalDateTime endTime = LocalDateTime.parse(newEnd, formatter);
|
||||
List<DishOrderDO> dishOrderDOS = orderService.getDishOrderByTime(startTime, endTime);
|
||||
//周一
|
||||
LocalDateTime monday = startTime.with(DayOfWeek.MONDAY);
|
||||
String mondayString = monday.format(formatter1);
|
||||
List<DishOrderDO> mondayCollect = dishOrderDOS.stream().filter(orderDO -> mondayString.equals(orderDO.getCreateTime().format(formatter1)))
|
||||
.collect(Collectors.toList());
|
||||
//获取当天的点的所有菜品
|
||||
List<Long> mondayOrderIds = mondayCollect.stream().map(DishOrderDO::getId).collect(Collectors.toList());
|
||||
List<OrderDetailDO> mondayOrderDetailDOS = orderDetailService.selectListByOrderIds(mondayOrderIds);
|
||||
|
||||
WeekFields weekFields = WeekFields.ISO;
|
||||
for (Long i = 1L; i <= 7; i++) {
|
||||
LocalDateTime mondayDate = startTime.with(weekFields.dayOfWeek(), i);
|
||||
String format = mondayDate.format(formatter1);
|
||||
List<Long> ids = dishOrderDOS.stream().filter(orderDO -> format.equals(orderDO.getCreateTime().format(formatter1)))
|
||||
.map(DishOrderDO::getId).collect(Collectors.toList());
|
||||
AppNutritionWeekVO mondayVO = new AppNutritionWeekVO();
|
||||
mondayVO.setDetailList(mondayOrderDetailDOS);
|
||||
mondayVO.setIntake(mondayOrderDetailDOS.stream().map(OrderDetailDO::getHeat).reduce(0d,Double::sum));
|
||||
mondayVO.setTime(mondayString);
|
||||
mondayVO.setTime(format);
|
||||
if (CollectionUtil.isNotEmpty(ids)) {
|
||||
List<OrderDetailDO> orderDetailDOS = orderDetailService.selectListByOrderIds(ids);
|
||||
mondayVO.setDetailList(orderDetailDOS);
|
||||
mondayVO.setIntake(orderDetailDOS.stream().map(OrderDetailDO::getHeat).reduce(0d, Double::sum));
|
||||
}
|
||||
result.add(mondayVO);
|
||||
|
||||
//周二
|
||||
LocalDateTime tuesday = startTime.with(DayOfWeek.TUESDAY);
|
||||
String tuesdayString = tuesday.format(formatter1);
|
||||
List<DishOrderDO> tuesdayCollect = dishOrderDOS.stream().filter(orderDO -> tuesdayString.equals(orderDO.getCreateTime().format(formatter1)))
|
||||
.collect(Collectors.toList());
|
||||
//获取当天的点的所有菜品
|
||||
List<Long> tuesdayOrderIds = tuesdayCollect.stream().map(DishOrderDO::getId).collect(Collectors.toList());
|
||||
List<OrderDetailDO> tuesdayOrderDetailDOS = orderDetailService.selectListByOrderIds(tuesdayOrderIds);
|
||||
AppNutritionWeekVO tuesdayVO = new AppNutritionWeekVO();
|
||||
tuesdayVO.setDetailList(tuesdayOrderDetailDOS);
|
||||
tuesdayVO.setIntake(tuesdayOrderDetailDOS.stream().map(OrderDetailDO::getHeat).reduce(0d,Double::sum));
|
||||
tuesdayVO.setTime(tuesdayString);
|
||||
result.add(tuesdayVO);
|
||||
|
||||
//周三
|
||||
LocalDateTime wednesday = startTime.with(DayOfWeek.WEDNESDAY);
|
||||
String wednesdayString = wednesday.format(formatter1);
|
||||
List<DishOrderDO> wednesdayCollect = dishOrderDOS.stream().filter(orderDO -> wednesdayString.equals(orderDO.getCreateTime().format(formatter1)))
|
||||
.collect(Collectors.toList());
|
||||
//获取当天的点的所有菜品
|
||||
List<Long> wednesdayOrderIds = wednesdayCollect.stream().map(DishOrderDO::getId).collect(Collectors.toList());
|
||||
List<OrderDetailDO> wednesdayOrderDetailDOS = orderDetailService.selectListByOrderIds(wednesdayOrderIds);
|
||||
AppNutritionWeekVO wednesdayVO = new AppNutritionWeekVO();
|
||||
wednesdayVO.setDetailList(wednesdayOrderDetailDOS);
|
||||
wednesdayVO.setIntake(wednesdayOrderDetailDOS.stream().map(OrderDetailDO::getHeat).reduce(0d,Double::sum));
|
||||
wednesdayVO.setTime(wednesdayString);
|
||||
result.add(wednesdayVO);
|
||||
|
||||
//周四
|
||||
LocalDateTime thursday = startTime.with(DayOfWeek.THURSDAY);
|
||||
String thursdayString = thursday.format(formatter1);
|
||||
List<DishOrderDO> thursdayCollect = dishOrderDOS.stream().filter(orderDO -> thursdayString.equals(orderDO.getCreateTime().format(formatter1)))
|
||||
.collect(Collectors.toList());
|
||||
//获取当天的点的所有菜品
|
||||
List<Long> thursdayOrderIds = thursdayCollect.stream().map(DishOrderDO::getId).collect(Collectors.toList());
|
||||
List<OrderDetailDO> thursdayOrderDetailDOS = orderDetailService.selectListByOrderIds(thursdayOrderIds);
|
||||
AppNutritionWeekVO thursdayVO = new AppNutritionWeekVO();
|
||||
thursdayVO.setDetailList(thursdayOrderDetailDOS);
|
||||
thursdayVO.setIntake(thursdayOrderDetailDOS.stream().map(OrderDetailDO::getHeat).reduce(0d,Double::sum));
|
||||
thursdayVO.setTime(thursdayString);
|
||||
result.add(thursdayVO);
|
||||
|
||||
//周五
|
||||
LocalDateTime friday = startTime.with(DayOfWeek.FRIDAY);
|
||||
String fridayString = friday.format(formatter1);
|
||||
List<DishOrderDO> fridayCollect = dishOrderDOS.stream().filter(orderDO -> fridayString.equals(orderDO.getCreateTime().format(formatter1)))
|
||||
.collect(Collectors.toList());
|
||||
//获取当天的点的所有菜品
|
||||
List<Long> fridayOrderIds = fridayCollect.stream().map(DishOrderDO::getId).collect(Collectors.toList());
|
||||
List<OrderDetailDO> fridayOrderDetailDOS = orderDetailService.selectListByOrderIds(fridayOrderIds);
|
||||
AppNutritionWeekVO fridayVO = new AppNutritionWeekVO();
|
||||
fridayVO.setDetailList(fridayOrderDetailDOS);
|
||||
fridayVO.setIntake(fridayOrderDetailDOS.stream().map(OrderDetailDO::getHeat).reduce(0d,Double::sum));
|
||||
fridayVO.setTime(fridayString);
|
||||
result.add(fridayVO);
|
||||
|
||||
//周六
|
||||
LocalDateTime saturday = startTime.with(DayOfWeek.SATURDAY);
|
||||
String saturdayString = saturday.format(formatter1);
|
||||
List<DishOrderDO> saturdayCollect = dishOrderDOS.stream().filter(orderDO -> saturdayString.equals(orderDO.getCreateTime().format(formatter1)))
|
||||
.collect(Collectors.toList());
|
||||
//获取当天的点的所有菜品
|
||||
List<Long> saturdayOrderIds = saturdayCollect.stream().map(DishOrderDO::getId).collect(Collectors.toList());
|
||||
List<OrderDetailDO> saturdayOrderDetailDOS = orderDetailService.selectListByOrderIds(saturdayOrderIds);
|
||||
AppNutritionWeekVO saturdayVO = new AppNutritionWeekVO();
|
||||
saturdayVO.setDetailList(saturdayOrderDetailDOS);
|
||||
saturdayVO.setIntake(saturdayOrderDetailDOS.stream().map(OrderDetailDO::getHeat).reduce(0d,Double::sum));
|
||||
saturdayVO.setTime(saturdayString);
|
||||
result.add(saturdayVO);
|
||||
|
||||
//周日
|
||||
LocalDateTime sunday = startTime.with(DayOfWeek.SUNDAY);
|
||||
String sundayString = sunday.format(formatter1);
|
||||
List<DishOrderDO> sundayCollect = dishOrderDOS.stream().filter(orderDO -> sundayString.equals(orderDO.getCreateTime().format(formatter1)))
|
||||
.collect(Collectors.toList());
|
||||
//获取当天的点的所有菜品
|
||||
List<Long> sundayOrderIds = sundayCollect.stream().map(DishOrderDO::getId).collect(Collectors.toList());
|
||||
List<OrderDetailDO> sundayOrderDetailDOS = orderDetailService.selectListByOrderIds(sundayOrderIds);
|
||||
AppNutritionWeekVO sundayVO = new AppNutritionWeekVO();
|
||||
sundayVO.setDetailList(sundayOrderDetailDOS);
|
||||
sundayVO.setIntake(sundayOrderDetailDOS.stream().map(OrderDetailDO::getHeat).reduce(0d,Double::sum));
|
||||
sundayVO.setTime(sundayString);
|
||||
result.add(sundayVO);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.service.userexpand;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userexpand.vo.UserExpandPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userexpand.vo.UserExpandSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.userexpand.UserExpandDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@ -52,4 +53,6 @@ public interface UserExpandService {
|
||||
*/
|
||||
PageResult<UserExpandDO> getUserExpandPage(UserExpandPageReqVO pageReqVO);
|
||||
|
||||
void updateUserExpandByuserId(Long userId, AppMemberUserUpdateReqVO reqVO);
|
||||
|
||||
}
|
@ -1,21 +1,21 @@
|
||||
package cn.iocoder.yudao.module.member.service.userexpand;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userexpand.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.userexpand.UserExpandDO;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userexpand.vo.UserExpandPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userexpand.vo.UserExpandSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.userexpand.UserExpandDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.userexpand.UserExpandMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.USER_EXPAND_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 用户拓展属性 Service 实现类
|
||||
@ -71,4 +71,19 @@ public class UserExpandServiceImpl implements UserExpandService {
|
||||
return userExpandMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUserExpandByuserId(Long userId, AppMemberUserUpdateReqVO reqVO) {
|
||||
UserExpandDO userExpandDO = userExpandMapper.selectOne(Wrappers.<UserExpandDO>lambdaQuery()
|
||||
.eq(UserExpandDO::getUserId, userId)
|
||||
.last("limit 1"));
|
||||
if(userExpandDO == null){
|
||||
UserExpandDO add = new UserExpandDO();
|
||||
BeanUtil.copyProperties(reqVO,add);
|
||||
add.setUserId(userId);
|
||||
userExpandMapper.insert(add);
|
||||
}else {
|
||||
BeanUtil.copyProperties(reqVO,userExpandDO);
|
||||
userExpandMapper.updateById(userExpandDO);
|
||||
}
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.service.userpreference;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userpreference.vo.UserPreferencePageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userpreference.vo.UserPreferenceSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.userpreference.vo.AppUserPreferenceSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.userpreference.UserPreferenceDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@ -52,4 +53,15 @@ public interface UserPreferenceService {
|
||||
*/
|
||||
PageResult<UserPreferenceDO> getUserPreferencePage(UserPreferencePageReqVO pageReqVO);
|
||||
|
||||
|
||||
/**
|
||||
* 设置用户偏好
|
||||
*/
|
||||
Boolean saveOrUpdate(AppUserPreferenceSaveReqVO updateReqVO);
|
||||
|
||||
|
||||
UserPreferenceDO getUserPreferenceByUserId(Long userId);
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,21 +1,21 @@
|
||||
package cn.iocoder.yudao.module.member.service.userpreference;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userpreference.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.userpreference.UserPreferenceDO;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userpreference.vo.UserPreferencePageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.userpreference.vo.UserPreferenceSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.userpreference.vo.AppUserPreferenceSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.userpreference.UserPreferenceDO;
|
||||
import cn.iocoder.yudao.module.member.dal.mysql.userpreference.UserPreferenceMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.USER_PREFERENCE_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 用户偏好 Service 实现类
|
||||
@ -71,4 +71,29 @@ public class UserPreferenceServiceImpl implements UserPreferenceService {
|
||||
return userPreferenceMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean saveOrUpdate(AppUserPreferenceSaveReqVO updateReqVO) {
|
||||
UserPreferenceDO userPreferenceDO = userPreferenceMapper.selectOne(Wrappers.<UserPreferenceDO>lambdaQuery()
|
||||
.eq(UserPreferenceDO::getUserId, updateReqVO.getUserId())
|
||||
.last("limit 1"));
|
||||
Boolean result = true;
|
||||
if(userPreferenceDO == null){
|
||||
UserPreferenceDO add = new UserPreferenceDO();
|
||||
BeanUtil.copyProperties(updateReqVO,add);
|
||||
result = userPreferenceMapper.insert(add)>0;
|
||||
}else {
|
||||
BeanUtil.copyProperties(updateReqVO,userPreferenceDO);
|
||||
result = userPreferenceMapper.updateById(userPreferenceDO)>0;
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserPreferenceDO getUserPreferenceByUserId(Long userId) {
|
||||
UserPreferenceDO userPreferenceDO = userPreferenceMapper.selectOne(Wrappers.<UserPreferenceDO>lambdaQuery()
|
||||
.eq(UserPreferenceDO::getUserId, userId)
|
||||
.last("limit 1"));
|
||||
return userPreferenceDO;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user