Compare commits
5 Commits
49e74b91c5
...
master
Author | SHA1 | Date | |
---|---|---|---|
550d85a231 | |||
274ed9320d | |||
08ea3906a4 | |||
382d812a63 | |||
155e99a588 |
@ -61,6 +61,7 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode CARD_NOT_EXISTS = new ErrorCode(1_004_013_000, "余额明细不存在");
|
ErrorCode CARD_NOT_EXISTS = new ErrorCode(1_004_013_000, "余额明细不存在");
|
||||||
ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_004_013_001, "订单不存在");
|
ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_004_013_001, "订单不存在");
|
||||||
ErrorCode ORDER_STATUS_NOT_ALLOW = new ErrorCode(1_004_013_001, "未完成订单或异常订单不支持减免");
|
ErrorCode ORDER_STATUS_NOT_ALLOW = new ErrorCode(1_004_013_001, "未完成订单或异常订单不支持减免");
|
||||||
|
ErrorCode ORDER_MONEY_NOT_ENOUGH = new ErrorCode(1_004_013_001, "减免金额不能大于订单金额");
|
||||||
ErrorCode ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_004_013_002, "订单明细不存在");
|
ErrorCode ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_004_013_002, "订单明细不存在");
|
||||||
ErrorCode RECHARGE_AMOUNT_NOT_EXISTS = new ErrorCode(1_004_013_003, "订单明细不存在");
|
ErrorCode RECHARGE_AMOUNT_NOT_EXISTS = new ErrorCode(1_004_013_003, "订单明细不存在");
|
||||||
ErrorCode RECHARGE_AMOUNT_ALREADY_EXISTS = new ErrorCode(1_004_013_004, "该金额已存在");
|
ErrorCode RECHARGE_AMOUNT_ALREADY_EXISTS = new ErrorCode(1_004_013_004, "该金额已存在");
|
||||||
@ -217,5 +218,6 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode ACTIVITY_MENU_NOT_EXISTS = new ErrorCode(1_005_000_25, "活动套餐不存在");
|
ErrorCode ACTIVITY_MENU_NOT_EXISTS = new ErrorCode(1_005_000_25, "活动套餐不存在");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -234,4 +234,14 @@ public class CustomizeExcelController {
|
|||||||
ExcelUtils.write(response, "现金充值.xlsx", "数据", ActivityReserveVO.class,
|
ExcelUtils.write(response, "现金充值.xlsx", "数据", ActivityReserveVO.class,
|
||||||
orderExcelVOS);
|
orderExcelVOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/overspending")
|
||||||
|
@Operation(summary = "组内每天超过37元的数据")
|
||||||
|
@OperateLog(type = EXPORT)
|
||||||
|
public void exportOverspending(String startTime,String endTime,Long groupId,HttpServletResponse response) throws IOException {
|
||||||
|
List<OverspendingVO> overspendingVOS = excelService.exportOverspending(startTime, endTime, groupId);
|
||||||
|
// 导出 Excel
|
||||||
|
ExcelUtils.write(response, "现金充值.xlsx", "数据", OverspendingVO.class,
|
||||||
|
overspendingVOS);
|
||||||
|
}
|
||||||
}
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.NumberFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class OverspendingVO {
|
||||||
|
@ExcelProperty("昵称")
|
||||||
|
private String nickName;
|
||||||
|
|
||||||
|
@ExcelProperty("手机")
|
||||||
|
private String mobile;
|
||||||
|
|
||||||
|
@ExcelProperty("食堂(元)")
|
||||||
|
@NumberFormat("#0.00")
|
||||||
|
private BigDecimal canteenAmount;
|
||||||
|
|
||||||
|
@ExcelProperty("超市金额(元)")
|
||||||
|
@NumberFormat("#0.00")
|
||||||
|
private BigDecimal marketAmount;
|
||||||
|
|
||||||
|
@ExcelProperty("消费金额(元)")
|
||||||
|
@NumberFormat("#0.00")
|
||||||
|
private BigDecimal totalMoney;
|
||||||
|
|
||||||
|
@ExcelProperty("超出金额(元)")
|
||||||
|
@NumberFormat("#0.00")
|
||||||
|
private BigDecimal overMoney;
|
||||||
|
|
||||||
|
@ExcelProperty("日期")
|
||||||
|
private String createTime;
|
||||||
|
}
|
@ -34,4 +34,6 @@ public class MemberGroupBaseVO {
|
|||||||
|
|
||||||
@Schema(description = "类型", example = "1")
|
@Schema(description = "类型", example = "1")
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
|
private String bindStore;
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||||
|
import cn.iocoder.yudao.framework.idempotent.core.annotation.Idempotent;
|
||||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsRespVO;
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsRespVO;
|
||||||
@ -129,6 +130,7 @@ public class OrderController {
|
|||||||
|
|
||||||
@GetMapping("/reduction")
|
@GetMapping("/reduction")
|
||||||
@Operation(summary = "减免")
|
@Operation(summary = "减免")
|
||||||
|
@Idempotent(timeout = 3, message = "正在减免,请勿重复提交")
|
||||||
public CommonResult<Boolean> reduction(Long orderId, BigDecimal money){
|
public CommonResult<Boolean> reduction(Long orderId, BigDecimal money){
|
||||||
orderService.reduction(orderId,money);
|
orderService.reduction(orderId,money);
|
||||||
return CommonResult.success(true);
|
return CommonResult.success(true);
|
||||||
|
@ -1,33 +1,31 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.storegoodstype;
|
package cn.iocoder.yudao.module.member.controller.admin.storegoodstype;
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
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.PageParam;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
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 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.excel.core.util.ExcelUtils;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
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.storegoodstype.vo.StoreGoodsTypePageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storegoodstype.vo.StoreGoodsTypeRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storegoodstype.vo.*;
|
import cn.iocoder.yudao.module.member.controller.admin.storegoodstype.vo.StoreGoodsTypeSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storegoodstype.StoreGoodsTypeDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.storegoodstype.StoreGoodsTypeDO;
|
||||||
import cn.iocoder.yudao.module.member.service.storegoodstype.StoreGoodsTypeService;
|
import cn.iocoder.yudao.module.member.service.storegoodstype.StoreGoodsTypeService;
|
||||||
|
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.*;
|
||||||
|
|
||||||
|
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 = "管理后台 - 商品类别")
|
@Tag(name = "管理后台 - 商品类别")
|
||||||
@RestController
|
@RestController
|
||||||
@ -95,7 +93,7 @@ public class StoreGoodsTypeController {
|
|||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
@Operation(summary = "获得商品类别分页")
|
@Operation(summary = "获得商品类别分页")
|
||||||
public CommonResult<List<StoreGoodsTypeRespVO>> getAll() {
|
public CommonResult<List<StoreGoodsTypeRespVO>> getAll() {
|
||||||
List<StoreGoodsTypeDO> all = storeGoodsTypeService.getAll();
|
List<StoreGoodsTypeDO> all = storeGoodsTypeService.getAllDevice();
|
||||||
return success(BeanUtils.toBean(all, StoreGoodsTypeRespVO.class));
|
return success(BeanUtils.toBean(all, StoreGoodsTypeRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.storegoodstype.vo;
|
package cn.iocoder.yudao.module.member.controller.admin.storegoodstype.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.Data;
|
||||||
import java.util.*;
|
|
||||||
import java.util.*;
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import com.alibaba.excel.annotation.*;
|
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 商品类别 Response VO")
|
@Schema(description = "管理后台 - 商品类别 Response VO")
|
||||||
@Data
|
@Data
|
||||||
@ -25,4 +24,7 @@ public class StoreGoodsTypeRespVO {
|
|||||||
@ExcelProperty("创建时间")
|
@ExcelProperty("创建时间")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@Schema(description = "是否在APP展示")
|
||||||
|
private String appShow;
|
||||||
|
|
||||||
}
|
}
|
@ -1,9 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.storegoodstype.vo;
|
package cn.iocoder.yudao.module.member.controller.admin.storegoodstype.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.Data;
|
||||||
import java.util.*;
|
|
||||||
import javax.validation.constraints.*;
|
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 商品类别新增/修改 Request VO")
|
@Schema(description = "管理后台 - 商品类别新增/修改 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@ -15,4 +13,7 @@ public class StoreGoodsTypeSaveReqVO {
|
|||||||
@Schema(description = "类别名称", example = "芋艿")
|
@Schema(description = "类别名称", example = "芋艿")
|
||||||
private String categoryName;
|
private String categoryName;
|
||||||
|
|
||||||
|
@Schema(description = "是否在APP展示")
|
||||||
|
private String appShow;
|
||||||
|
|
||||||
}
|
}
|
@ -8,13 +8,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserAddVO;
|
import cn.iocoder.yudao.module.member.controller.admin.user.vo.*;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserExportVo;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserRespVO;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateLevelReqVO;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdatePointReqVO;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO;
|
|
||||||
import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
|
import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
||||||
@ -32,26 +26,14 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
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.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Collection;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
@ -221,7 +203,12 @@ public class MemberUserController {
|
|||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PutMapping("/general")
|
||||||
|
@Operation(summary = "人脸通用设置")
|
||||||
|
public CommonResult<Boolean> general(@RequestBody GeneralVO generalVO){
|
||||||
|
memberUserService.general(generalVO.getMobile());
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.admin.user.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GeneralVO {
|
||||||
|
private String mobile;
|
||||||
|
}
|
@ -68,7 +68,7 @@ import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
|||||||
|
|
||||||
@Tag(name = "用户 APP - 活动")
|
@Tag(name = "用户 APP - 活动")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/member/activity")
|
@RequestMapping("/member/activity1")
|
||||||
@Validated
|
@Validated
|
||||||
public class AppActivityDrawController {
|
public class AppActivityDrawController {
|
||||||
|
|
||||||
|
@ -133,4 +133,10 @@ public class AppMemberGroupController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/judgeStoreUse")
|
||||||
|
@Operation(summary = "判断是否被限制超市使用")
|
||||||
|
public CommonResult<Boolean> judgeStoreUse(Long userId) {
|
||||||
|
return success(groupService.judgeStoreUse(userId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@ public class AppStoreController {
|
|||||||
String equipment = request.getHeader("Authorization");
|
String equipment = request.getHeader("Authorization");
|
||||||
Long storeId = cashregisterinfoApi.getStoreId(equipment);
|
Long storeId = cashregisterinfoApi.getStoreId(equipment);
|
||||||
List<StoreGoodsDO> goodsDOS = storeGoodsService.getByCarteenId(storeId);
|
List<StoreGoodsDO> goodsDOS = storeGoodsService.getByCarteenId(storeId);
|
||||||
List<StoreGoodsTypeDO> goodsTypeDOS = goodsTypeService.getAll();
|
List<StoreGoodsTypeDO> goodsTypeDOS = goodsTypeService.getAllDevice();
|
||||||
List<StoreGoodsListVo> goodData = BeanUtils.toBean(goodsDOS, StoreGoodsListVo.class);
|
List<StoreGoodsListVo> goodData = BeanUtils.toBean(goodsDOS, StoreGoodsListVo.class);
|
||||||
List<StoreGoodsTypeListVo> categoryData = BeanUtils.toBean(goodsTypeDOS, StoreGoodsTypeListVo.class);
|
List<StoreGoodsTypeListVo> categoryData = BeanUtils.toBean(goodsTypeDOS, StoreGoodsTypeListVo.class);
|
||||||
GoodsResult goodsResult = new GoodsResult();
|
GoodsResult goodsResult = new GoodsResult();
|
||||||
@ -118,7 +118,7 @@ public class AppStoreController {
|
|||||||
return JsonUtils.toJsonString(goodsResult);
|
return JsonUtils.toJsonString(goodsResult);
|
||||||
}
|
}
|
||||||
List<StoreGoodsDO> goodsDOS = storeGoodsService.getAll(goodsIds);
|
List<StoreGoodsDO> goodsDOS = storeGoodsService.getAll(goodsIds);
|
||||||
List<StoreGoodsTypeDO> goodsTypeDOS = goodsTypeService.getAll();
|
List<StoreGoodsTypeDO> goodsTypeDOS = goodsTypeService.getAllDevice();
|
||||||
List<StoreGoodsListVo> goodData = BeanUtils.toBean(goodsDOS, StoreGoodsListVo.class);
|
List<StoreGoodsListVo> goodData = BeanUtils.toBean(goodsDOS, StoreGoodsListVo.class);
|
||||||
|
|
||||||
//库存处理
|
//库存处理
|
||||||
|
@ -55,4 +55,7 @@ public class MemberGroupDO extends BaseDO {
|
|||||||
* 1-行政服务中心,2-区管单位,3-盈创力和,4-私人,5-其他单位
|
* 1-行政服务中心,2-区管单位,3-盈创力和,4-私人,5-其他单位
|
||||||
*/
|
*/
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
|
|
||||||
|
private String bindStore;
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
package cn.iocoder.yudao.module.member.dal.dataobject.storegoodstype;
|
package cn.iocoder.yudao.module.member.dal.dataobject.storegoodstype;
|
||||||
|
|
||||||
import lombok.*;
|
|
||||||
import java.util.*;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
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.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品类别 DO
|
* 商品类别 DO
|
||||||
@ -32,4 +31,9 @@ public class StoreGoodsTypeDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
private String categoryName;
|
private String categoryName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否在APP展示
|
||||||
|
*/
|
||||||
|
private String appShow;
|
||||||
|
|
||||||
}
|
}
|
@ -29,5 +29,6 @@ public interface CustomizeExcelMapper {
|
|||||||
|
|
||||||
List<ActivityReserveVO> exportActivityReserve();
|
List<ActivityReserveVO> exportActivityReserve();
|
||||||
|
|
||||||
|
List<OverspendingVO> exportOverspending(@Param("startTime")String startTime, @Param("endTime")String endTime, @Param("groupId")Long groupId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,7 @@ import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupPageV
|
|||||||
import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupUserVo;
|
import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupUserVo;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
import org.apache.ibatis.annotations.Delete;
|
import org.apache.ibatis.annotations.*;
|
||||||
import org.apache.ibatis.annotations.MapKey;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -66,4 +63,7 @@ public interface MemberGroupMapper extends BaseMapperX<MemberGroupDO> {
|
|||||||
List<Long> getCarteenId(Long userId);
|
List<Long> getCarteenId(Long userId);
|
||||||
|
|
||||||
List<MemberGroupDO> getGroupByUserId(Long userId);
|
List<MemberGroupDO> getGroupByUserId(Long userId);
|
||||||
|
|
||||||
|
@Select("select group_id from member_group_member where member_id = #{userId}")
|
||||||
|
List<Long> getGroupIdByUserId(Long userId);
|
||||||
}
|
}
|
||||||
|
@ -124,5 +124,6 @@ public interface MemberUserMapper extends BaseMapperX<MemberUserDO> {
|
|||||||
@Select("select * from member_user where id = #{userId} for update")
|
@Select("select * from member_user where id = #{userId} for update")
|
||||||
MemberUserDO selectByIdForUpdate(@Param("userId") Long userId);
|
MemberUserDO selectByIdForUpdate(@Param("userId") Long userId);
|
||||||
|
|
||||||
|
@Update("update user_face set carteen_id = null where phone = #{phone}")
|
||||||
|
void updateFaceCanteenId( @Param("phone") String phone);
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ public enum GroupTypeEnum {
|
|||||||
YCLH(3, "盈创力和"),
|
YCLH(3, "盈创力和"),
|
||||||
PERSON(4, "私人"),
|
PERSON(4, "私人"),
|
||||||
OTHER(5, "其他单位"),
|
OTHER(5, "其他单位"),
|
||||||
|
SUPERMARKET_LIMIT(6, "限制超市消费"),
|
||||||
;
|
;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -693,13 +693,21 @@ public class DeductionServiceImpl implements DeductionService {
|
|||||||
synchronized (getUserLock(userId)) {
|
synchronized (getUserLock(userId)) {
|
||||||
MemberUserDO user = userService.getUser(userId);
|
MemberUserDO user = userService.getUser(userId);
|
||||||
|
|
||||||
user.setCashAmount(user.getCashAmount().add(cashAmount));
|
//考虑欠款的情况下 退还都直接退到现金,不退回微信
|
||||||
user.setWxAmount(user.getWxAmount().add(wxAmount));
|
BigDecimal oldAmount = user.getMoney();
|
||||||
user.setMoney(user.getMoney().add(money));
|
user.setMoney(user.getMoney().add(money));
|
||||||
userService.updateById(user);
|
|
||||||
|
|
||||||
wxNewAmount = user.getWxAmount();
|
|
||||||
newAmount = user.getMoney();
|
newAmount = user.getMoney();
|
||||||
|
|
||||||
|
if(oldAmount.compareTo(BigDecimal.ZERO) < 0){
|
||||||
|
if(newAmount.compareTo(BigDecimal.ZERO) > 0){
|
||||||
|
user.setCashAmount(user.getCashAmount().add(newAmount));
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
user.setCashAmount(user.getCashAmount().add(money));
|
||||||
|
}
|
||||||
|
|
||||||
|
userService.updateById(user);
|
||||||
|
wxNewAmount = user.getWxAmount();
|
||||||
cashNewAmount = user.getCashAmount();
|
cashNewAmount = user.getCashAmount();
|
||||||
name = user.getNickname();
|
name = user.getNickname();
|
||||||
}
|
}
|
||||||
|
@ -25,4 +25,6 @@ public interface CustomizeExcelService {
|
|||||||
List<ActivityMxVO> exportActivityMx();
|
List<ActivityMxVO> exportActivityMx();
|
||||||
|
|
||||||
List<ActivityReserveVO> exportActivityReserve();
|
List<ActivityReserveVO> exportActivityReserve();
|
||||||
|
|
||||||
|
List<OverspendingVO> exportOverspending(String startTime, String endTime, Long groupId);
|
||||||
}
|
}
|
||||||
|
@ -57,4 +57,9 @@ public class CustomizeExcelServiceImpl implements CustomizeExcelService {
|
|||||||
public List<ActivityReserveVO> exportActivityReserve() {
|
public List<ActivityReserveVO> exportActivityReserve() {
|
||||||
return customizeExcelMapper.exportActivityReserve();
|
return customizeExcelMapper.exportActivityReserve();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OverspendingVO> exportOverspending(String startTime, String endTime, Long groupId) {
|
||||||
|
return customizeExcelMapper.exportOverspending(startTime,endTime,groupId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -223,6 +223,9 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
|
|||||||
//余额验证
|
//余额验证
|
||||||
BigDecimal money = checkMoney(memberUserDO, storeId,true);
|
BigDecimal money = checkMoney(memberUserDO, storeId,true);
|
||||||
|
|
||||||
|
//group验证
|
||||||
|
checkGroup(memberUserDO.getId(),storeId);
|
||||||
|
|
||||||
diningPlatesDO.setUserId(memberUserDO.getId());
|
diningPlatesDO.setUserId(memberUserDO.getId());
|
||||||
|
|
||||||
//创建初始订单
|
//创建初始订单
|
||||||
@ -276,6 +279,8 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
|
|||||||
checkOrder(memberUserDO.getId(),diningPlatesDO.getStoreId());
|
checkOrder(memberUserDO.getId(),diningPlatesDO.getStoreId());
|
||||||
//余额验证
|
//余额验证
|
||||||
BigDecimal money = checkMoney(memberUserDO,storeId,false);
|
BigDecimal money = checkMoney(memberUserDO,storeId,false);
|
||||||
|
//group验证
|
||||||
|
checkGroup(memberUserDO.getId(),storeId);
|
||||||
|
|
||||||
diningPlatesDO.setUserId(memberUserDO.getId());
|
diningPlatesDO.setUserId(memberUserDO.getId());
|
||||||
//创建初始订单
|
//创建初始订单
|
||||||
@ -443,6 +448,15 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void checkGroup(Long userId,Long canteenId){
|
||||||
|
|
||||||
|
Boolean b = memberGroupService.judgeGroup(userId, canteenId);
|
||||||
|
if(b){
|
||||||
|
throw exception(new ErrorCode(1_004_099_008, "不能在当前店消费"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Integer getDiningPlatesByUserId(Long userId,Long storeId){
|
public Integer getDiningPlatesByUserId(Long userId,Long storeId){
|
||||||
return diningPlatesMapper.selectCount(Wrappers.<DiningPlatesDO>lambdaQuery()
|
return diningPlatesMapper.selectCount(Wrappers.<DiningPlatesDO>lambdaQuery()
|
||||||
.eq(DiningPlatesDO::getUserId, userId).eq(DiningPlatesDO::getStoreId,storeId)).intValue();
|
.eq(DiningPlatesDO::getUserId, userId).eq(DiningPlatesDO::getStoreId,storeId)).intValue();
|
||||||
|
@ -6,7 +6,6 @@ import cn.iocoder.yudao.module.member.controller.admin.group.vo.*;
|
|||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserListVO;
|
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserListVO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -140,4 +139,8 @@ public interface MemberGroupService {
|
|||||||
Integer getGroupTypeByUserId(Long userId);
|
Integer getGroupTypeByUserId(Long userId);
|
||||||
|
|
||||||
List<Integer> getGroupTypeListByUserId(Long userId);
|
List<Integer> getGroupTypeListByUserId(Long userId);
|
||||||
|
|
||||||
|
Boolean judgeStoreUse(Long userId);
|
||||||
|
|
||||||
|
Boolean judgeGroup(Long userId,Long canteenId);
|
||||||
}
|
}
|
||||||
|
@ -222,4 +222,52 @@ public class MemberGroupServiceImpl implements MemberGroupService {
|
|||||||
}
|
}
|
||||||
return groupByUserId.stream().map(MemberGroupDO::getType).collect(Collectors.toList());
|
return groupByUserId.stream().map(MemberGroupDO::getType).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean judgeStoreUse(Long userId) {
|
||||||
|
List<MemberGroupDO> memberGroupDOS = memberGroupMapper.selectList(Wrappers.<MemberGroupDO>lambdaQuery()
|
||||||
|
.eq(MemberGroupDO::getType, GroupTypeEnum.SUPERMARKET_LIMIT.getCode()));
|
||||||
|
if (CollectionUtil.isEmpty(memberGroupDOS)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Long> groupIdByUserId = memberGroupMapper.getGroupIdByUserId(userId);
|
||||||
|
if (CollectionUtil.isEmpty(groupIdByUserId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
List<Long> ids = memberGroupDOS.stream().map(MemberGroupDO::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
for (Long id : groupIdByUserId) {
|
||||||
|
if (ids.contains(id)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean judgeGroup(Long userId, Long canteenId) {
|
||||||
|
|
||||||
|
List<Long> groupIdByUserId = memberGroupMapper.getGroupIdByUserId(userId);
|
||||||
|
if (CollectionUtil.isEmpty(groupIdByUserId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<MemberGroupDO> memberGroupDOS = memberGroupMapper.selectList(Wrappers.<MemberGroupDO>lambdaQuery()
|
||||||
|
.eq(MemberGroupDO::getBindStore, "1"));
|
||||||
|
if (CollectionUtil.isEmpty(memberGroupDOS)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<Long, Long> collect = memberGroupDOS.stream().collect(Collectors.toMap(MemberGroupDO::getId, MemberGroupDO::getCarteenId));
|
||||||
|
|
||||||
|
for (Long id : groupIdByUserId) {
|
||||||
|
if(collect.get(id)!=null){
|
||||||
|
if(!collect.get(id).equals(canteenId)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -456,6 +456,10 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void reduction(Long orderId, BigDecimal money) {
|
public void reduction(Long orderId, BigDecimal money) {
|
||||||
DishOrderDO dishOrderDO = dishOrderMapper.selectById(orderId);
|
DishOrderDO dishOrderDO = dishOrderMapper.selectById(orderId);
|
||||||
|
if(dishOrderDO.getTotalMoney().compareTo(money) < 0){
|
||||||
|
throw exception(ORDER_MONEY_NOT_ENOUGH);
|
||||||
|
}
|
||||||
|
|
||||||
dishOrderDO.setReductionState("1");
|
dishOrderDO.setReductionState("1");
|
||||||
if (dishOrderDO.getOrderStatus().equals("1")) {
|
if (dishOrderDO.getOrderStatus().equals("1")) {
|
||||||
dishOrderDO.setReductionAmount(dishOrderDO.getReductionAmount().add(money));
|
dishOrderDO.setReductionAmount(dishOrderDO.getReductionAmount().add(money));
|
||||||
|
@ -55,5 +55,7 @@ public interface StoreGoodsTypeService {
|
|||||||
|
|
||||||
List<StoreGoodsTypeDO> getAll();
|
List<StoreGoodsTypeDO> getAll();
|
||||||
|
|
||||||
|
List<StoreGoodsTypeDO> getAllDevice();
|
||||||
|
|
||||||
StoreGoodsTypeDO getByName(String name);
|
StoreGoodsTypeDO getByName(String name);
|
||||||
}
|
}
|
@ -1,23 +1,22 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.storegoodstype;
|
package cn.iocoder.yudao.module.member.service.storegoodstype;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
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.storegoodstype.vo.*;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storegoodstype.StoreGoodsTypeDO;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
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.framework.common.util.object.BeanUtils;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storegoodstype.vo.StoreGoodsTypePageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storegoodstype.vo.StoreGoodsTypeSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.storegoodstype.StoreGoodsTypeDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.storegoodstype.StoreGoodsTypeMapper;
|
import cn.iocoder.yudao.module.member.dal.mysql.storegoodstype.StoreGoodsTypeMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
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.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.STORE_GOODS_TYPE_NOT_EXISTS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品类别 Service 实现类
|
* 商品类别 Service 实现类
|
||||||
@ -75,6 +74,12 @@ public class StoreGoodsTypeServiceImpl implements StoreGoodsTypeService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<StoreGoodsTypeDO> getAll() {
|
public List<StoreGoodsTypeDO> getAll() {
|
||||||
|
return storeGoodsTypeMapper.selectList(Wrappers.<StoreGoodsTypeDO>lambdaQuery()
|
||||||
|
.eq(StoreGoodsTypeDO::getAppShow, "1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<StoreGoodsTypeDO> getAllDevice() {
|
||||||
return storeGoodsTypeMapper.selectList();
|
return storeGoodsTypeMapper.selectList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -345,9 +345,11 @@ public class StoreOrderServiceImpl implements StoreOrderService {
|
|||||||
@Override
|
@Override
|
||||||
public void reduction(Long orderId, BigDecimal money) {
|
public void reduction(Long orderId, BigDecimal money) {
|
||||||
StoreOrderDO storeOrderDO = storeOrderMapper.selectById(orderId);
|
StoreOrderDO storeOrderDO = storeOrderMapper.selectById(orderId);
|
||||||
|
|
||||||
Double totalPrice = storeOrderDO.getTotalPrice();
|
Double totalPrice = storeOrderDO.getTotalPrice();
|
||||||
BigDecimal total = BigDecimal.valueOf(totalPrice).setScale(2, RoundingMode.HALF_UP);
|
BigDecimal total = BigDecimal.valueOf(totalPrice).setScale(2, RoundingMode.HALF_UP);
|
||||||
|
if(total.compareTo(money) < 0){
|
||||||
|
throw exception(ORDER_MONEY_NOT_ENOUGH);
|
||||||
|
}
|
||||||
Double reductionPrice = storeOrderDO.getReductionPrice();
|
Double reductionPrice = storeOrderDO.getReductionPrice();
|
||||||
BigDecimal reduction = BigDecimal.valueOf(reductionPrice).setScale(2, RoundingMode.HALF_UP);
|
BigDecimal reduction = BigDecimal.valueOf(reductionPrice).setScale(2, RoundingMode.HALF_UP);
|
||||||
storeOrderDO.setReductionPrice(reduction.add(money).doubleValue());
|
storeOrderDO.setReductionPrice(reduction.add(money).doubleValue());
|
||||||
|
@ -273,4 +273,6 @@ public interface MemberUserService {
|
|||||||
void jsonCreate(String filePath,Long storeId);
|
void jsonCreate(String filePath,Long storeId);
|
||||||
|
|
||||||
void imgCreate(String filePath,Long storeId);
|
void imgCreate(String filePath,Long storeId);
|
||||||
|
|
||||||
|
void general(String mobile);
|
||||||
}
|
}
|
||||||
|
@ -1299,4 +1299,10 @@ public class MemberUserServiceImpl implements MemberUserService {
|
|||||||
);
|
);
|
||||||
return dishOrderDOS.size();
|
return dishOrderDOS.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void general(String mobile) {
|
||||||
|
memberUserMapper.updateFaceCanteenId(mobile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,16 +8,17 @@
|
|||||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
-->
|
-->
|
||||||
<select id="selectOrder" resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.OrderExcelVO">
|
<select id="selectOrder"
|
||||||
select
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.OrderExcelVO">
|
||||||
mu.nickname ,
|
select mu.nickname,
|
||||||
mu.mobile,
|
mu.mobile,
|
||||||
CASE
|
CASE
|
||||||
WHEN HOUR (mo.create_time) BETWEEN 0 AND 9 THEN '早'
|
WHEN HOUR (mo.create_time) BETWEEN 0 AND 9 THEN '早'
|
||||||
WHEN HOUR(mo.create_time) BETWEEN 10 AND 15 THEN '中'
|
WHEN HOUR(mo.create_time) BETWEEN 10 AND 15 THEN '中'
|
||||||
WHEN HOUR(mo.create_time) BETWEEN 16 AND 23 THEN '晚'
|
WHEN HOUR(mo.create_time) BETWEEN 16 AND 23 THEN '晚'
|
||||||
ELSE '未知'
|
ELSE '未知'
|
||||||
END AS timeSlot,
|
END
|
||||||
|
AS timeSlot,
|
||||||
mo.total_money ,
|
mo.total_money ,
|
||||||
md.dishes_name ,
|
md.dishes_name ,
|
||||||
md.unit_price ,
|
md.unit_price ,
|
||||||
@ -27,20 +28,35 @@
|
|||||||
from member_order_detail md
|
from member_order_detail md
|
||||||
left join member_dish_order mo on md.order_id = mo.id
|
left join member_dish_order mo on md.order_id = mo.id
|
||||||
left join member_user mu on mu.id = mo.user_id
|
left join member_user mu on mu.id = mo.user_id
|
||||||
where DATE_FORMAT(md.create_time, '%Y%m%d') between #{startTime} and #{endTime} and mo.store_id = #{carteenId}
|
where DATE_FORMAT(md.create_time, '%Y%m%d') between
|
||||||
order by mo.user_id,order_id
|
#{startTime}
|
||||||
|
and
|
||||||
|
#{endTime}
|
||||||
|
and
|
||||||
|
mo
|
||||||
|
.
|
||||||
|
store_id
|
||||||
|
=
|
||||||
|
#{carteenId}
|
||||||
|
order
|
||||||
|
by
|
||||||
|
mo
|
||||||
|
.
|
||||||
|
user_id,
|
||||||
|
order_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectStoreOrder" resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.StoreOrderExcelVO">
|
<select id="selectStoreOrder"
|
||||||
select
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.StoreOrderExcelVO">
|
||||||
mu.nickname ,
|
select mu.nickname,
|
||||||
mu.mobile,
|
mu.mobile,
|
||||||
CASE
|
CASE
|
||||||
WHEN HOUR (mo.create_time) BETWEEN 0 AND 9 THEN '早'
|
WHEN HOUR (mo.create_time) BETWEEN 0 AND 9 THEN '早'
|
||||||
WHEN HOUR(mo.create_time) BETWEEN 10 AND 15 THEN '中'
|
WHEN HOUR(mo.create_time) BETWEEN 10 AND 15 THEN '中'
|
||||||
WHEN HOUR(mo.create_time) BETWEEN 16 AND 23 THEN '晚'
|
WHEN HOUR(mo.create_time) BETWEEN 16 AND 23 THEN '晚'
|
||||||
ELSE '未知'
|
ELSE '未知'
|
||||||
END AS timeSlot,
|
END
|
||||||
|
AS timeSlot,
|
||||||
mo.total_price ,
|
mo.total_price ,
|
||||||
md.goods_name ,
|
md.goods_name ,
|
||||||
md.custom_price ,
|
md.custom_price ,
|
||||||
@ -50,20 +66,49 @@
|
|||||||
from member_store_order_detail md
|
from member_store_order_detail md
|
||||||
left join member_store_order mo on md.order_id = mo.order_id
|
left join member_store_order mo on md.order_id = mo.order_id
|
||||||
left join member_user mu on mu.id = mo.user_id
|
left join member_user mu on mu.id = mo.user_id
|
||||||
where DATE_FORMAT(md.create_time, '%Y%m%d') between #{startTime} and #{endTime} and mo.carteen_id = #{carteenId}
|
where DATE_FORMAT(md.create_time, '%Y%m%d') between
|
||||||
and md.deleted = false and mo.status != 3
|
#{startTime}
|
||||||
order by mo.user_id,mo.order_id
|
and
|
||||||
|
#{endTime}
|
||||||
|
and
|
||||||
|
mo
|
||||||
|
.
|
||||||
|
carteen_id
|
||||||
|
=
|
||||||
|
#{carteenId}
|
||||||
|
and
|
||||||
|
md
|
||||||
|
.
|
||||||
|
deleted
|
||||||
|
=
|
||||||
|
false
|
||||||
|
and
|
||||||
|
mo
|
||||||
|
.
|
||||||
|
status
|
||||||
|
!=
|
||||||
|
3
|
||||||
|
order
|
||||||
|
by
|
||||||
|
mo
|
||||||
|
.
|
||||||
|
user_id,
|
||||||
|
mo
|
||||||
|
.
|
||||||
|
order_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectStoreSaleGoods" resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.StoreSaleGoodsVO">
|
<select id="selectStoreSaleGoods"
|
||||||
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.StoreSaleGoodsVO">
|
||||||
select md.goods_name,
|
select md.goods_name,
|
||||||
md.custom_price,
|
md.custom_price,
|
||||||
sum(md.number) as sumNum,
|
sum(md.number) as sumNum,
|
||||||
sum(md.number * md.custom_price) as totalPrice
|
sum(md.number * md.custom_price) as totalPrice
|
||||||
from member_store_order_detail md
|
from member_store_order_detail md
|
||||||
left join member_store_order mo on md.order_id = mo.order_id
|
left join member_store_order mo on md.order_id = mo.order_id
|
||||||
where DATE_FORMAT(md.create_time, '%Y%m%d') between #{startTime} and #{endTime} and mo.carteen_id = #{carteenId}
|
where DATE_FORMAT(md.create_time, '%Y%m%d') between #{startTime} and #{endTime}
|
||||||
|
and mo.carteen_id = #{carteenId}
|
||||||
and md.deleted = false
|
and md.deleted = false
|
||||||
and mo.deleted = false
|
and mo.deleted = false
|
||||||
and mo.status != 3 and mo.status != 4
|
and mo.status != 3 and mo.status != 4
|
||||||
@ -71,33 +116,51 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="exportGroupOrderExcel" resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.GroupOrderVO">
|
<select id="exportGroupOrderExcel"
|
||||||
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.GroupOrderVO">
|
||||||
select u.nickname,
|
select u.nickname,
|
||||||
u.mobile,
|
u.mobile,
|
||||||
o.store_name,
|
o.store_name,
|
||||||
o.total_money,
|
o.total_money,
|
||||||
o.cash_amount,
|
o.cash_amount,
|
||||||
o.wx_amount,
|
o.wx_amount,
|
||||||
|
c.stores_name as storeName,
|
||||||
DATE_FORMAT(o.create_time, '%Y-%m-%d %H:%i:%s') as createTime,
|
DATE_FORMAT(o.create_time, '%Y-%m-%d %H:%i:%s') as createTime,
|
||||||
CASE
|
CASE
|
||||||
WHEN HOUR (o.create_time) BETWEEN 0 AND 9 THEN '早上'
|
WHEN HOUR (o.create_time) BETWEEN 0 AND 9 THEN '早上'
|
||||||
WHEN HOUR(o.create_time) BETWEEN 10 AND 15 THEN '中午'
|
WHEN HOUR(o.create_time) BETWEEN 10 AND 15 THEN '中午'
|
||||||
WHEN HOUR(o.create_time) BETWEEN 16 AND 23 THEN '晚上'
|
WHEN HOUR(o.create_time) BETWEEN 16 AND 23 THEN '晚上'
|
||||||
ELSE '未知' END AS timeSlot,
|
ELSE '未知'
|
||||||
|
END AS timeSlot,
|
||||||
CASE
|
CASE
|
||||||
WHEN o.order_status = 0 THEN '未完成'
|
WHEN o.order_status = 0 THEN '未完成'
|
||||||
WHEN o.order_status = 1 THEN '已完成'
|
WHEN o.order_status = 1 THEN '已完成'
|
||||||
WHEN o.order_status = 2 THEN '未完全支付'
|
WHEN o.order_status = 2 THEN '未完全支付'
|
||||||
ELSE '未知' END AS orderStatus
|
ELSE '未知'
|
||||||
|
END AS orderStatus
|
||||||
from member_dish_order o
|
from member_dish_order o
|
||||||
left join member_user u on o.user_id = u.id
|
left join member_user u on o.user_id = u.id
|
||||||
where o.store_id = #{carteenId}
|
left join t_carteen c on o.store_id = c.id
|
||||||
and o.deleted = false
|
where o.deleted = false
|
||||||
and o.user_id in (select member_id from member_group_member where group_id = #{groupId})
|
and o.user_id in (select member_id from member_group_member where group_id =
|
||||||
and DATE_FORMAT(o.create_time, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
#{groupId}
|
||||||
|
)
|
||||||
|
and
|
||||||
|
DATE_FORMAT
|
||||||
|
(
|
||||||
|
o
|
||||||
|
.
|
||||||
|
create_time,
|
||||||
|
'%Y-%m-%d'
|
||||||
|
)
|
||||||
|
BETWEEN
|
||||||
|
#{startTime}
|
||||||
|
AND
|
||||||
|
#{endTime}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="exportGroupStoreOrderExcel" resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.GroupStoreOrderVO">
|
<select id="exportGroupStoreOrderExcel"
|
||||||
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.GroupStoreOrderVO">
|
||||||
select u.nickname,
|
select u.nickname,
|
||||||
u.mobile,
|
u.mobile,
|
||||||
o.total_price,
|
o.total_price,
|
||||||
@ -106,22 +169,56 @@
|
|||||||
WHEN HOUR (o.create_time) BETWEEN 0 AND 9 THEN '早上'
|
WHEN HOUR (o.create_time) BETWEEN 0 AND 9 THEN '早上'
|
||||||
WHEN HOUR(o.create_time) BETWEEN 10 AND 15 THEN '中午'
|
WHEN HOUR(o.create_time) BETWEEN 10 AND 15 THEN '中午'
|
||||||
WHEN HOUR(o.create_time) BETWEEN 16 AND 23 THEN '晚上'
|
WHEN HOUR(o.create_time) BETWEEN 16 AND 23 THEN '晚上'
|
||||||
ELSE '未知' END AS timeSlot,
|
ELSE '未知'
|
||||||
|
END AS timeSlot,
|
||||||
CASE
|
CASE
|
||||||
WHEN o.status = 1 THEN '已支付'
|
WHEN o.status = 1 THEN '已支付'
|
||||||
WHEN o.status = 2 THEN '已完成'
|
WHEN o.status = 2 THEN '已完成'
|
||||||
WHEN o.status = 3 THEN '已取消'
|
WHEN o.status = 3 THEN '已取消'
|
||||||
when o.status = 4 THEN '已退款'
|
when o.status = 4 THEN '已退款'
|
||||||
ELSE '未知' END AS orderStatus
|
ELSE '未知'
|
||||||
|
END AS orderStatus
|
||||||
from member_store_order o
|
from member_store_order o
|
||||||
left join member_user u on o.user_id = u.id
|
left join member_user u on o.user_id = u.id
|
||||||
where o.carteen_id = #{carteenId}
|
where o.carteen_id =
|
||||||
and o.deleted = false
|
#{carteenId}
|
||||||
and o.user_id in (select member_id from member_group_member where group_id = #{groupId})
|
and
|
||||||
and DATE_FORMAT(o.create_time, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
o
|
||||||
|
.
|
||||||
|
deleted
|
||||||
|
=
|
||||||
|
false
|
||||||
|
and
|
||||||
|
o
|
||||||
|
.
|
||||||
|
user_id
|
||||||
|
in
|
||||||
|
(
|
||||||
|
select
|
||||||
|
member_id
|
||||||
|
from
|
||||||
|
member_group_member
|
||||||
|
where
|
||||||
|
group_id
|
||||||
|
=
|
||||||
|
#{groupId}
|
||||||
|
)
|
||||||
|
and
|
||||||
|
DATE_FORMAT
|
||||||
|
(
|
||||||
|
o
|
||||||
|
.
|
||||||
|
create_time,
|
||||||
|
'%Y-%m-%d'
|
||||||
|
)
|
||||||
|
BETWEEN
|
||||||
|
#{startTime}
|
||||||
|
AND
|
||||||
|
#{endTime}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="exportSubsidyExcel" resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.SubsidyExcelVO">
|
<select id="exportSubsidyExcel"
|
||||||
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.SubsidyExcelVO">
|
||||||
select mu.name,
|
select mu.name,
|
||||||
mu.mobile,
|
mu.mobile,
|
||||||
mu.identity_card,
|
mu.identity_card,
|
||||||
@ -135,17 +232,31 @@
|
|||||||
WHEN HOUR(mdo.create_time) BETWEEN 10 AND 15 THEN '中午'
|
WHEN HOUR(mdo.create_time) BETWEEN 10 AND 15 THEN '中午'
|
||||||
WHEN HOUR(mdo.create_time) BETWEEN 16 AND 23 THEN '晚上'
|
WHEN HOUR(mdo.create_time) BETWEEN 16 AND 23 THEN '晚上'
|
||||||
ELSE '未知'
|
ELSE '未知'
|
||||||
END AS timeSlot,
|
END
|
||||||
|
AS timeSlot,
|
||||||
DATE_FORMAT(mdo.create_time, '%Y-%m-%d') as createTime
|
DATE_FORMAT(mdo.create_time, '%Y-%m-%d') as createTime
|
||||||
from member_dish_order mdo
|
from member_dish_order mdo
|
||||||
left join member_user mu on mdo.user_id = mu.id
|
left join member_user mu on mdo.user_id = mu.id
|
||||||
left join member_tag mt on mu.tag_ids = mt.id
|
left join member_tag mt on mu.tag_ids = mt.id
|
||||||
where subsidy_amount > 0 and mdo.deleted = false
|
where subsidy_amount > 0 and mdo.deleted = false
|
||||||
and mdo.store_id = #{carteenId}
|
and mdo.store_id =
|
||||||
and DATE_FORMAT(mdo.create_time, '%Y-%m-%d %H:%i:%s') BETWEEN #{startTime} AND #{endTime}
|
#{carteenId}
|
||||||
|
and
|
||||||
|
DATE_FORMAT
|
||||||
|
(
|
||||||
|
mdo
|
||||||
|
.
|
||||||
|
create_time,
|
||||||
|
'%Y-%m-%d %H:%i:%s'
|
||||||
|
)
|
||||||
|
BETWEEN
|
||||||
|
#{startTime}
|
||||||
|
AND
|
||||||
|
#{endTime}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="exportCashAmountExcel" resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.CashAmountExcelVO">
|
<select id="exportCashAmountExcel"
|
||||||
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.CashAmountExcelVO">
|
||||||
select mu.nickname,
|
select mu.nickname,
|
||||||
mu.name,
|
mu.name,
|
||||||
mu.mobile,
|
mu.mobile,
|
||||||
@ -155,13 +266,15 @@
|
|||||||
DATE_FORMAT(mc.create_time, '%Y-%m-%d') as createTime
|
DATE_FORMAT(mc.create_time, '%Y-%m-%d') as createTime
|
||||||
from member_card mc
|
from member_card mc
|
||||||
left join member_user mu on mc.user_id = mu.id
|
left join member_user mu on mc.user_id = mu.id
|
||||||
where mc.type = '5' and mc.deleted = false
|
where mc.type = '5'
|
||||||
|
and mc.deleted = false
|
||||||
and mc.carteen_id = #{carteenId}
|
and mc.carteen_id = #{carteenId}
|
||||||
and DATE_FORMAT(mc.create_time, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
and DATE_FORMAT(mc.create_time, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="exportActivityMx" resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.ActivityMxVO">
|
<select id="exportActivityMx"
|
||||||
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.ActivityMxVO">
|
||||||
select t.id,
|
select t.id,
|
||||||
a.activity_name,
|
a.activity_name,
|
||||||
m.name,
|
m.name,
|
||||||
@ -172,34 +285,59 @@
|
|||||||
t.reserve_time,
|
t.reserve_time,
|
||||||
t.create_time
|
t.create_time
|
||||||
from (select * from member_activity_pay where deleted = false) t
|
from (select * from member_activity_pay where deleted = false) t
|
||||||
left join member_activity_table_dish d on t.activity_id = d.activity_id and SUBSTRING_INDEX(t.serial_numbers, ',', 1) = d.serial_number
|
left join member_activity_table_dish d on t.activity_id = d.activity_id and
|
||||||
|
SUBSTRING_INDEX(t.serial_numbers, ',', 1) = d.serial_number
|
||||||
left join member_activity_merchant m on d.merchant_id = m.id
|
left join member_activity_merchant m on d.merchant_id = m.id
|
||||||
left join member_activity a on a.id = t.activity_id
|
left join member_activity a on a.id = t.activity_id
|
||||||
and d.deleted = false and t.deleted = false
|
and d.deleted = false and t.deleted = false
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="exportActivityReserve" resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.ActivityReserveVO">
|
<select id="exportActivityReserve"
|
||||||
SELECT
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.ActivityReserveVO">
|
||||||
m.name,
|
SELECT m.name,
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-13' THEN 1 ELSE 0 END) AS 'day1',
|
SUM(CASE WHEN t.reserve_time = '2025-06-13' THEN 1 ELSE 0 END) AS 'day1', SUM(CASE WHEN t.reserve_time = '2025-06-14' THEN 1 ELSE 0 END) AS 'day2', SUM(CASE WHEN t.reserve_time = '2025-06-15' THEN 1 ELSE 0 END) AS 'day3', SUM(CASE WHEN t.reserve_time = '2025-06-16' THEN 1 ELSE 0 END) AS 'day4', SUM(CASE WHEN t.reserve_time = '2025-06-17' THEN 1 ELSE 0 END) AS 'day5', SUM(CASE WHEN t.reserve_time = '2025-06-18' THEN 1 ELSE 0 END) AS 'day6', SUM(CASE WHEN t.reserve_time = '2025-06-19' THEN 1 ELSE 0 END) AS 'day7', SUM(CASE WHEN t.reserve_time = '2025-06-20' THEN 1 ELSE 0 END) AS 'day8', SUM(CASE WHEN t.reserve_time = '2025-06-21' THEN 1 ELSE 0 END) AS 'day9', SUM(CASE WHEN t.reserve_time = '2025-06-22' THEN 1 ELSE 0 END) AS 'day10'
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-14' THEN 1 ELSE 0 END) AS 'day2',
|
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-15' THEN 1 ELSE 0 END) AS 'day3',
|
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-16' THEN 1 ELSE 0 END) AS 'day4',
|
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-17' THEN 1 ELSE 0 END) AS 'day5',
|
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-18' THEN 1 ELSE 0 END) AS 'day6',
|
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-19' THEN 1 ELSE 0 END) AS 'day7',
|
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-20' THEN 1 ELSE 0 END) AS 'day8',
|
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-21' THEN 1 ELSE 0 END) AS 'day9',
|
|
||||||
SUM(CASE WHEN t.reserve_time = '2025-06-22' THEN 1 ELSE 0 END) AS 'day10'
|
|
||||||
FROM member_activity_merchant m
|
FROM member_activity_merchant m
|
||||||
LEFT JOIN member_activity_table_dish d ON d.merchant_id = m.id AND d.deleted = 0
|
LEFT JOIN member_activity_table_dish d ON d.merchant_id = m.id AND d.deleted = 0
|
||||||
LEFT JOIN (select * from member_activity_pay_table where reserve_time is not null and deleted = 0) t
|
LEFT JOIN (select * from member_activity_pay_table where reserve_time is not null and deleted = 0) t
|
||||||
ON t.activity_id = d.activity_id
|
ON t.activity_id = d.activity_id
|
||||||
AND t.serial_numbers = d.serial_number
|
AND t.serial_numbers = d.serial_number
|
||||||
AND t.reserve_time BETWEEN '2025-06-13' AND '2025-06-22'
|
AND t.reserve_time BETWEEN '2025-06-13' AND '2025-06-22'
|
||||||
WHERE
|
WHERE m.deleted = 0
|
||||||
m.deleted = 0
|
|
||||||
GROUP BY m.name
|
GROUP BY m.name
|
||||||
ORDER BY m.name
|
ORDER BY m.name
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="exportOverspending"
|
||||||
|
resultType="cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo.OverspendingVO">
|
||||||
|
|
||||||
|
SELECT u.nickname,
|
||||||
|
u.mobile,
|
||||||
|
SUM(CASE WHEN source = 'canteen' THEN amount ELSE 0 END) AS canteenAmount,
|
||||||
|
SUM(CASE WHEN source = 'market' THEN amount ELSE 0 END) AS marketAmount,
|
||||||
|
consume_date AS createTime,
|
||||||
|
SUM(amount) AS totalMoney,
|
||||||
|
SUM(amount) - 37 AS overMoney
|
||||||
|
FROM (
|
||||||
|
SELECT user_id, DATE (create_time) AS consume_date,
|
||||||
|
total_money AS amount, 'canteen' AS source
|
||||||
|
FROM member_dish_order
|
||||||
|
WHERE deleted = 0
|
||||||
|
AND create_time IS NOT NULL
|
||||||
|
AND order_status = '1'
|
||||||
|
AND user_id IS NOT NULL
|
||||||
|
UNION ALL
|
||||||
|
SELECT user_id, DATE (create_time) AS consume_date, total_price AS amount, 'market' AS source
|
||||||
|
FROM member_store_order
|
||||||
|
WHERE deleted = 0
|
||||||
|
AND create_time IS NOT NULL
|
||||||
|
AND status = '2'
|
||||||
|
AND user_id IS NOT NULL
|
||||||
|
) AS ao left join member_user u
|
||||||
|
on u.id = ao.user_id
|
||||||
|
where ao.user_id in (select member_id from member_group_member m where m.group_id =#{groupId})
|
||||||
|
and ao.consume_date between #{startTime} and #{endTime}
|
||||||
|
GROUP BY ao.user_id, ao.consume_date
|
||||||
|
HAVING SUM (ao.amount) > 37
|
||||||
|
ORDER BY createTime;
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
@ -34,7 +34,8 @@ public class AppDivideController {
|
|||||||
@PostMapping("/activityRefundMoney")
|
@PostMapping("/activityRefundMoney")
|
||||||
@Operation(summary = "活动退款")
|
@Operation(summary = "活动退款")
|
||||||
public CommonResult<Boolean> activityRefundMoney(@RequestBody ActivityRefundMoney refundMoney) {
|
public CommonResult<Boolean> activityRefundMoney(@RequestBody ActivityRefundMoney refundMoney) {
|
||||||
return success(profitsharingService.activityRefundMoney(refundMoney));
|
profitsharingService.activityRefundMoney(refundMoney);
|
||||||
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -39,7 +39,7 @@ public class DishesNutritionApiImpl implements DishesNutritionApi {
|
|||||||
public DishesNutritionRespDTO getDishEnergy(Long id) {
|
public DishesNutritionRespDTO getDishEnergy(Long id) {
|
||||||
return BeanUtils.toBean(dishesNutritionMapper.selectOne(new LambdaQueryWrapperX<DishesNutritionDO>()
|
return BeanUtils.toBean(dishesNutritionMapper.selectOne(new LambdaQueryWrapperX<DishesNutritionDO>()
|
||||||
.eqIfPresent(DishesNutritionDO::getDishesId,id)
|
.eqIfPresent(DishesNutritionDO::getDishesId,id)
|
||||||
.eqIfPresent(DishesNutritionDO::getNutritionName,"能量")
|
.eqIfPresent(DishesNutritionDO::getNutritionName,"能量(/100g)")
|
||||||
.last("limit 1")),DishesNutritionRespDTO.class);
|
.last("limit 1")),DishesNutritionRespDTO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user