货物包增长预测功能代码框架
This commit is contained in:
30
src/main/java/com/rj/service/ILbGoodsService.java
Normal file
30
src/main/java/com/rj/service/ILbGoodsService.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package com.rj.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.rj.entity.LbGoods;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface ILbGoodsService extends IService<LbGoods> {
|
||||
|
||||
Map<String, Object> add(LbGoods entity);
|
||||
|
||||
Map<String, Object> update(LbGoods entity);
|
||||
|
||||
Map<String, Object> deleteById(Long id);
|
||||
|
||||
Map<String, Object> pageQuery(
|
||||
Integer current,
|
||||
Integer size,
|
||||
String tenantId,
|
||||
Long oldId,
|
||||
Long userId,
|
||||
String title,
|
||||
Long sellerId,
|
||||
Integer isShow,
|
||||
Integer status,
|
||||
String createdAtStart,
|
||||
String createdAtEnd,
|
||||
String updatedAtStart,
|
||||
String updatedAtEnd);
|
||||
}
|
||||
254
src/main/java/com/rj/service/impl/LbGoodsServiceImpl.java
Normal file
254
src/main/java/com/rj/service/impl/LbGoodsServiceImpl.java
Normal file
@@ -0,0 +1,254 @@
|
||||
package com.rj.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.rj.entity.LbGoods;
|
||||
import com.rj.mapper.LbGoodsMapper;
|
||||
import com.rj.service.ILbGoodsService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.DateTimeParseException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class LbGoodsServiceImpl extends ServiceImpl<LbGoodsMapper, LbGoods> implements ILbGoodsService {
|
||||
|
||||
private static final DateTimeFormatter DATETIME_FMT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
@Override
|
||||
public Map<String, Object> add(LbGoods entity) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
if (entity.getId() == null) {
|
||||
result.put("success", false);
|
||||
result.put("message", "id不能为空");
|
||||
return result;
|
||||
}
|
||||
if (entity.getTenantId() == null || entity.getTenantId().trim().isEmpty()) {
|
||||
result.put("success", false);
|
||||
result.put("message", "tenantId不能为空");
|
||||
return result;
|
||||
}
|
||||
entity.setTenantId(entity.getTenantId().trim());
|
||||
if (this.getById(entity.getId()) != null) {
|
||||
result.put("success", false);
|
||||
result.put("message", "该商品 id 已存在");
|
||||
return result;
|
||||
}
|
||||
|
||||
applyDefaults(entity);
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
if (entity.getCreatedAt() == null) {
|
||||
entity.setCreatedAt(now);
|
||||
}
|
||||
if (entity.getUpdatedAt() == null) {
|
||||
entity.setUpdatedAt(now);
|
||||
}
|
||||
|
||||
boolean ok = this.save(entity);
|
||||
result.put("success", ok);
|
||||
result.put("message", ok ? "新增成功" : "新增失败");
|
||||
if (ok) {
|
||||
result.put("data", this.getById(entity.getId()));
|
||||
}
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
log.error("货品新增异常", e);
|
||||
result.put("success", false);
|
||||
result.put("message", "新增异常:" + e.getMessage());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> update(LbGoods entity) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
if (entity.getId() == null) {
|
||||
result.put("success", false);
|
||||
result.put("message", "id不能为空");
|
||||
return result;
|
||||
}
|
||||
if (this.getById(entity.getId()) == null) {
|
||||
result.put("success", false);
|
||||
result.put("message", "记录不存在");
|
||||
return result;
|
||||
}
|
||||
if (entity.getTenantId() != null) {
|
||||
entity.setTenantId(entity.getTenantId().trim());
|
||||
}
|
||||
|
||||
entity.setUpdatedAt(LocalDateTime.now());
|
||||
boolean ok = this.updateById(entity);
|
||||
result.put("success", ok);
|
||||
result.put("message", ok ? "编辑成功" : "编辑失败");
|
||||
if (ok) {
|
||||
result.put("data", this.getById(entity.getId()));
|
||||
}
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
log.error("货品编辑异常", e);
|
||||
result.put("success", false);
|
||||
result.put("message", "编辑异常:" + e.getMessage());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> deleteById(Long id) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
if (id == null) {
|
||||
result.put("success", false);
|
||||
result.put("message", "id不能为空");
|
||||
return result;
|
||||
}
|
||||
boolean ok = this.removeById(id);
|
||||
result.put("success", ok);
|
||||
result.put("message", ok ? "删除成功" : "删除失败");
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
log.error("货品删除异常", e);
|
||||
result.put("success", false);
|
||||
result.put("message", "删除异常:" + e.getMessage());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> pageQuery(
|
||||
Integer current,
|
||||
Integer size,
|
||||
String tenantId,
|
||||
Long oldId,
|
||||
Long userId,
|
||||
String title,
|
||||
Long sellerId,
|
||||
Integer isShow,
|
||||
Integer status,
|
||||
String createdAtStart,
|
||||
String createdAtEnd,
|
||||
String updatedAtStart,
|
||||
String updatedAtEnd) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
if (current == null || current < 1) {
|
||||
current = 1;
|
||||
}
|
||||
if (size == null || size < 1) {
|
||||
size = 10;
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<LbGoods> w = new LambdaQueryWrapper<>();
|
||||
if (tenantId != null && !tenantId.trim().isEmpty()) {
|
||||
w.eq(LbGoods::getTenantId, tenantId.trim());
|
||||
}
|
||||
if (oldId != null) {
|
||||
w.eq(LbGoods::getOldId, oldId);
|
||||
}
|
||||
if (userId != null) {
|
||||
w.eq(LbGoods::getUserId, userId);
|
||||
}
|
||||
if (title != null && !title.trim().isEmpty()) {
|
||||
w.like(LbGoods::getTitle, title.trim());
|
||||
}
|
||||
if (sellerId != null) {
|
||||
w.eq(LbGoods::getSellerId, sellerId);
|
||||
}
|
||||
if (isShow != null) {
|
||||
w.eq(LbGoods::getIsShow, isShow);
|
||||
}
|
||||
if (status != null) {
|
||||
w.eq(LbGoods::getStatus, status);
|
||||
}
|
||||
|
||||
LocalDateTime createdStart = parseDateTime(createdAtStart);
|
||||
if (createdAtStart != null && !createdAtStart.trim().isEmpty() && createdStart == null) {
|
||||
result.put("success", false);
|
||||
result.put("message", "createdAtStart 格式错误,请使用 yyyy-MM-dd HH:mm:ss");
|
||||
return result;
|
||||
}
|
||||
LocalDateTime createdEnd = parseDateTime(createdAtEnd);
|
||||
if (createdAtEnd != null && !createdAtEnd.trim().isEmpty() && createdEnd == null) {
|
||||
result.put("success", false);
|
||||
result.put("message", "createdAtEnd 格式错误,请使用 yyyy-MM-dd HH:mm:ss");
|
||||
return result;
|
||||
}
|
||||
if (createdStart != null) {
|
||||
w.ge(LbGoods::getCreatedAt, createdStart);
|
||||
}
|
||||
if (createdEnd != null) {
|
||||
w.le(LbGoods::getCreatedAt, createdEnd);
|
||||
}
|
||||
|
||||
LocalDateTime updatedStart = parseDateTime(updatedAtStart);
|
||||
if (updatedAtStart != null && !updatedAtStart.trim().isEmpty() && updatedStart == null) {
|
||||
result.put("success", false);
|
||||
result.put("message", "updatedAtStart 格式错误,请使用 yyyy-MM-dd HH:mm:ss");
|
||||
return result;
|
||||
}
|
||||
LocalDateTime updatedEnd = parseDateTime(updatedAtEnd);
|
||||
if (updatedAtEnd != null && !updatedAtEnd.trim().isEmpty() && updatedEnd == null) {
|
||||
result.put("success", false);
|
||||
result.put("message", "updatedAtEnd 格式错误,请使用 yyyy-MM-dd HH:mm:ss");
|
||||
return result;
|
||||
}
|
||||
if (updatedStart != null) {
|
||||
w.ge(LbGoods::getUpdatedAt, updatedStart);
|
||||
}
|
||||
if (updatedEnd != null) {
|
||||
w.le(LbGoods::getUpdatedAt, updatedEnd);
|
||||
}
|
||||
|
||||
w.orderByDesc(LbGoods::getUpdatedAt).orderByDesc(LbGoods::getId);
|
||||
|
||||
Page<LbGoods> page = this.page(new Page<>(current, size), w);
|
||||
result.put("success", true);
|
||||
result.put("message", "查询成功");
|
||||
result.put("data", page.getRecords());
|
||||
result.put("total", page.getTotal());
|
||||
result.put("current", page.getCurrent());
|
||||
result.put("size", page.getSize());
|
||||
result.put("pages", page.getPages());
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
log.error("货品分页查询异常", e);
|
||||
result.put("success", false);
|
||||
result.put("message", "查询异常:" + e.getMessage());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
private static void applyDefaults(LbGoods entity) {
|
||||
if (entity.getPrice() == null) {
|
||||
entity.setPrice(BigDecimal.ZERO);
|
||||
}
|
||||
if (entity.getTotalMoney() == null) {
|
||||
entity.setTotalMoney(BigDecimal.ZERO);
|
||||
}
|
||||
if (entity.getIsShow() == null) {
|
||||
entity.setIsShow(1);
|
||||
}
|
||||
if (entity.getStatus() == null) {
|
||||
entity.setStatus(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static LocalDateTime parseDateTime(String text) {
|
||||
if (text == null || text.trim().isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
return LocalDateTime.parse(text.trim(), DATETIME_FMT);
|
||||
} catch (DateTimeParseException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user