From 3ba58dc671e16352e992ebc8ac48459bad668b7d Mon Sep 17 00:00:00 2001 From: "yan.y" Date: Tue, 18 Feb 2025 18:13:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=87=AA=E5=8A=A8=E4=B8=8B?= =?UTF-8?q?=E7=BA=BF=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/config/InitLoadDataService.java | 23 +++- .../orders/controller/CarController.java | 34 ++++++ .../orders/controller/RechargeController.java | 111 ++++++++++++++++++ .../com/linln/admin/orders/domain/Car.java | 15 +++ .../linln/admin/orders/domain/CarConfig.java | 45 +++++++ .../admin/orders/domain/RechargeInfos.java | 59 ++++++++++ .../repository/CarConfigRepository.java | 14 +++ .../repository/RechargeInfosRepository.java | 11 ++ .../admin/orders/service/CarService.java | 5 + .../admin/orders/service/RechargeService.java | 41 +++++++ .../orders/service/impl/CarServiceImpl.java | 44 +++++++ .../service/impl/RechargeServiceImpl.java | 66 +++++++++++ .../admin/orders/validator/RechargeValid.java | 22 ++++ .../resources/templates/orders/car/index.html | 9 ++ .../templates/orders/car/toCarDownInfos.html | 49 ++++++++ .../templates/orders/recharge/add.html | 59 ++++++++++ .../templates/orders/recharge/index.html | 71 +++++++++++ .../component/thymeleaf/utility/DictUtil.java | 8 ++ 18 files changed, 685 insertions(+), 1 deletion(-) create mode 100644 admin/src/main/java/com/linln/admin/orders/controller/RechargeController.java create mode 100644 admin/src/main/java/com/linln/admin/orders/domain/CarConfig.java create mode 100644 admin/src/main/java/com/linln/admin/orders/domain/RechargeInfos.java create mode 100644 admin/src/main/java/com/linln/admin/orders/repository/CarConfigRepository.java create mode 100644 admin/src/main/java/com/linln/admin/orders/repository/RechargeInfosRepository.java create mode 100644 admin/src/main/java/com/linln/admin/orders/service/RechargeService.java create mode 100644 admin/src/main/java/com/linln/admin/orders/service/impl/RechargeServiceImpl.java create mode 100644 admin/src/main/java/com/linln/admin/orders/validator/RechargeValid.java create mode 100644 admin/src/main/resources/templates/orders/car/toCarDownInfos.html create mode 100644 admin/src/main/resources/templates/orders/recharge/add.html create mode 100644 admin/src/main/resources/templates/orders/recharge/index.html diff --git a/admin/src/main/java/com/linln/admin/config/InitLoadDataService.java b/admin/src/main/java/com/linln/admin/config/InitLoadDataService.java index b852d40..2afc20a 100644 --- a/admin/src/main/java/com/linln/admin/config/InitLoadDataService.java +++ b/admin/src/main/java/com/linln/admin/config/InitLoadDataService.java @@ -55,6 +55,9 @@ public class InitLoadDataService extends ApplicationAvailabilityBean { @Resource private CouponsRepository couponsRepository; + @Resource + private CarConfigRepository carConfigRepository; + @Override public void onApplicationEvent(AvailabilityChangeEvent event) { super.onApplicationEvent(event); @@ -116,7 +119,25 @@ public class InitLoadDataService extends ApplicationAvailabilityBean { coupons.setStatus(StatusEnum.DELETE.getCode()); } couponsRepository.saveAllAndFlush(couponsList); + List carConfigs = carConfigRepository.findAll(); + for (CarConfig carConfig : carConfigs) { + if (carConfig.getStartDownTime() == null && carConfig.getEndDownTime() == null + && CAR_MAP.get(carConfig.getCarId()).getCarStatus() == 2) { + Car car = CAR_MAP.get(carConfig.getCarId()); + car.setCarStatus(1); + carRepository.save(car); + } else if (System.currentTimeMillis() >= carConfig.getStartDownTime().getTime() && System.currentTimeMillis() < carConfig.getEndDownTime().getTime() + && CAR_MAP.get(carConfig.getCarId()).getCarStatus() == 1) { + Car car = CAR_MAP.get(carConfig.getCarId()); + car.setCarStatus(2); + carRepository.save(car); + } else if (System.currentTimeMillis() >= carConfig.getEndDownTime().getTime() + && CAR_MAP.get(carConfig.getCarId()).getCarStatus() == 2) { + Car car = CAR_MAP.get(carConfig.getCarId()); + car.setCarStatus(1); + carRepository.save(car); + } + } } - } diff --git a/admin/src/main/java/com/linln/admin/orders/controller/CarController.java b/admin/src/main/java/com/linln/admin/orders/controller/CarController.java index 19bf171..15f2371 100644 --- a/admin/src/main/java/com/linln/admin/orders/controller/CarController.java +++ b/admin/src/main/java/com/linln/admin/orders/controller/CarController.java @@ -1,6 +1,8 @@ package com.linln.admin.orders.controller; +import cn.hutool.core.date.DateUtil; import com.linln.admin.orders.domain.Car; +import com.linln.admin.orders.domain.CarConfig; import com.linln.admin.orders.domain.CarUser; import com.linln.admin.orders.domain.OrderMain; import com.linln.admin.orders.service.CarService; @@ -54,6 +56,12 @@ public class CarController { // 获取数据列表 Example example = Example.of(car, matcher); Page list = carService.getPageList(example); + for (Car car1 : list) { + CarConfig carConfig = carService.getCarConfig(car1.getId()); + if (carConfig != null) { + car1.setInfo(DateUtil.formatDateTime(carConfig.getStartDownTime()) + " ~ " + DateUtil.formatDateTime(carConfig.getEndDownTime()) ); + } + } // 封装数据 model.addAttribute("list", list.getContent()); @@ -91,6 +99,22 @@ public class CarController { return "/orders/car/toAddCarUserInfos"; } + /** + * 跳转添加信息页面 + */ + @GetMapping("/toCarDownInfos/{id}") + @RequiresPermissions("orders:car:edit") + public String toCarDownInfos(@PathVariable("id") Car car, Model model) { + car = carService.getById(car.getId()); + CarConfig carConfig = carService.getCarConfig(car.getId()); + if (carConfig != null) { + car.setStartDownTime(DateUtil.formatDateTime(carConfig.getStartDownTime())); + car.setEndDownTime(DateUtil.formatDateTime(carConfig.getEndDownTime())); + } + model.addAttribute("car", car); + return "/orders/car/toCarDownInfos"; + } + /** * 跳转添加信息页面 */ @@ -137,6 +161,16 @@ public class CarController { carService.saveCarUser(carUser); return ResultVoUtil.SAVE_SUCCESS; } + /** + * 保存添加/修改的数据 + */ + @PostMapping("/saveCarDownInfo") + @RequiresPermissions({"orders:car:add", "orders:car:edit"}) + @ResponseBody + public ResultVo saveCarDownInfo(Car car) { + carService.saveCarDownInfo(car); + return ResultVoUtil.SAVE_SUCCESS; + } /** * 保存添加/修改的数据 diff --git a/admin/src/main/java/com/linln/admin/orders/controller/RechargeController.java b/admin/src/main/java/com/linln/admin/orders/controller/RechargeController.java new file mode 100644 index 0000000..b5c73f1 --- /dev/null +++ b/admin/src/main/java/com/linln/admin/orders/controller/RechargeController.java @@ -0,0 +1,111 @@ +package com.linln.admin.orders.controller; + +import com.linln.admin.orders.domain.RechargeInfos; +import com.linln.admin.orders.service.RechargeService; +import com.linln.admin.orders.validator.RechargeValid; +import com.linln.common.enums.StatusEnum; +import com.linln.common.utils.EntityBeanUtil; +import com.linln.common.utils.ResultVoUtil; +import com.linln.common.utils.StatusUtil; +import com.linln.common.vo.ResultVo; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.data.domain.Example; +import org.springframework.data.domain.ExampleMatcher; +import org.springframework.data.domain.Page; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * @author gion + * @date 2024/08/14 + */ +@Controller +@RequestMapping("/orders/recharge") +public class RechargeController { + + @Resource + private RechargeService rechargeService; + + /** + * 列表页面 + */ + @GetMapping("/index") + @RequiresPermissions("orders:recharge:index") + public String index(Model model, RechargeInfos rechargeInfos) { + + // 创建匹配器,进行动态查询匹配 + ExampleMatcher matcher = ExampleMatcher.matching(); + + // 获取数据列表 + Example example = Example.of(rechargeInfos, matcher); + Page list = rechargeService.getPageList(example); + + // 封装数据 + model.addAttribute("list", list.getContent()); + model.addAttribute("page", list); + return "/orders/recharge/index"; + } + + /** + * 跳转到添加页面 + */ + @GetMapping("/add") + @RequiresPermissions("orders:recharge:add") + public String toAdd() { + return "/orders/recharge/add"; + } + + /** + * 跳转到编辑页面 + */ + @GetMapping("/edit/{id}") + @RequiresPermissions("orders:recharge:edit") + public String toEdit(@PathVariable("id") RechargeInfos rechargeInfos, Model model) { + model.addAttribute("recharge", rechargeInfos); + return "/orders/recharge/add"; + } + + /** + * 保存添加/修改的数据 + * @param valid 验证对象 + */ + @PostMapping("/save") + @RequiresPermissions({"orders:recharge:add", "orders:recharge:edit"}) + @ResponseBody + public ResultVo save(@Validated RechargeValid valid, RechargeInfos rechargeInfos) { + // 复制保留无需修改的数据 + if (rechargeInfos.getId() != null) { + RechargeInfos beRechargeInfos = rechargeService.getById(rechargeInfos.getId()); + EntityBeanUtil.copyProperties(beRechargeInfos, rechargeInfos); + } + rechargeInfos.setCreateTime(new Date()); + rechargeInfos.setUpdateTime(new Date()); + // 保存数据 + rechargeService.save(rechargeInfos); + return ResultVoUtil.SAVE_SUCCESS; + } + + /** + * 设置一条或者多条数据的状态 + */ + @RequestMapping("/status/{param}") + @RequiresPermissions("orders:recharge:status") + @ResponseBody + public ResultVo status( + @PathVariable("param") String param, + @RequestParam(value = "ids", required = false) List ids) { + // 更新状态 + StatusEnum statusEnum = StatusUtil.getStatusEnum(param); + if (rechargeService.updateStatus(statusEnum, ids)) { + return ResultVoUtil.success(statusEnum.getMessage() + "成功"); + } else { + return ResultVoUtil.error(statusEnum.getMessage() + "失败,请重新操作"); + } + } +} \ No newline at end of file diff --git a/admin/src/main/java/com/linln/admin/orders/domain/Car.java b/admin/src/main/java/com/linln/admin/orders/domain/Car.java index 354d67e..ad9f374 100644 --- a/admin/src/main/java/com/linln/admin/orders/domain/Car.java +++ b/admin/src/main/java/com/linln/admin/orders/domain/Car.java @@ -43,6 +43,21 @@ public class Car implements Serializable { // 数据状态 private Byte status = StatusEnum.OK.getCode(); + //车辆状态 1在线 2下线 + private Integer carStatus; + + @Transient + private String info; + + + @Transient + private String startDownTime; + + @Transient + private String endDownTime; + + + //护理人员列表 @Transient private List users; diff --git a/admin/src/main/java/com/linln/admin/orders/domain/CarConfig.java b/admin/src/main/java/com/linln/admin/orders/domain/CarConfig.java new file mode 100644 index 0000000..27c3622 --- /dev/null +++ b/admin/src/main/java/com/linln/admin/orders/domain/CarConfig.java @@ -0,0 +1,45 @@ +package com.linln.admin.orders.domain; + +import com.linln.common.enums.StatusEnum; +import com.linln.common.utils.StatusUtil; +import lombok.Data; +import org.hibernate.annotations.Where; +import org.springframework.data.annotation.CreatedDate; +import org.springframework.data.annotation.LastModifiedDate; +import org.springframework.data.jpa.domain.support.AuditingEntityListener; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * @author gion + * @date 2024/04/29 + */ +@Data +@Entity +@Table(name="car_config") +@EntityListeners(AuditingEntityListener.class) +@Where(clause = StatusUtil.NOT_DELETE) +public class CarConfig implements Serializable { + // 主键ID + @Id + @GeneratedValue(strategy=GenerationType.IDENTITY) + private Long id; + // 车牌号 + private Long carId; + // 开始下线时间 + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date startDownTime; + // 结束下线时间 + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date endDownTime; + @CreatedDate + private Date createDate; + @LastModifiedDate + private Date updateDate; + // 数据状态 + private Byte status = StatusEnum.OK.getCode(); + +} \ No newline at end of file diff --git a/admin/src/main/java/com/linln/admin/orders/domain/RechargeInfos.java b/admin/src/main/java/com/linln/admin/orders/domain/RechargeInfos.java new file mode 100644 index 0000000..f96ffdc --- /dev/null +++ b/admin/src/main/java/com/linln/admin/orders/domain/RechargeInfos.java @@ -0,0 +1,59 @@ +package com.linln.admin.orders.domain; + +import com.linln.common.enums.StatusEnum; +import com.linln.common.utils.StatusUtil; +import lombok.Data; +import org.hibernate.annotations.Where; +import org.springframework.data.annotation.CreatedDate; +import org.springframework.data.annotation.LastModifiedDate; +import org.springframework.data.jpa.domain.support.AuditingEntityListener; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; + +/** + * @author gion + * @date 2024/04/29 + */ +@Data +@Entity +@Table(name="recharge_infos") +@EntityListeners(AuditingEntityListener.class) +@Where(clause = StatusUtil.NOT_DELETE) +public class RechargeInfos implements Serializable { + // 主键ID + @Id + @GeneratedValue(strategy=GenerationType.IDENTITY) + private Long id; + //名称 + private String name; + //描述 + @Column(name = "`desc`") + private String desc; + //支付金额 + private String price; + //赠送金额 + private String givePrice; + //类型 1储值 2押金 + private Integer type; + //赠送描述 + private String give; + //到账金额 + private String rechargePrice; + + // 订单创建时间 + @CreatedDate + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + @CreatedDate + private Date createDate; + @LastModifiedDate + private Date updateDate; + // 数据状态 + private Byte status = StatusEnum.OK.getCode(); + +} \ No newline at end of file diff --git a/admin/src/main/java/com/linln/admin/orders/repository/CarConfigRepository.java b/admin/src/main/java/com/linln/admin/orders/repository/CarConfigRepository.java new file mode 100644 index 0000000..2b4f533 --- /dev/null +++ b/admin/src/main/java/com/linln/admin/orders/repository/CarConfigRepository.java @@ -0,0 +1,14 @@ +package com.linln.admin.orders.repository; + +import com.linln.admin.orders.domain.CarConfig; +import com.linln.modules.system.repository.BaseRepository; + +/** + * @author gion + * @date 2024/04/29 + */ +public interface CarConfigRepository extends BaseRepository { + + CarConfig findFirstByCarId(Long carId); + +} \ No newline at end of file diff --git a/admin/src/main/java/com/linln/admin/orders/repository/RechargeInfosRepository.java b/admin/src/main/java/com/linln/admin/orders/repository/RechargeInfosRepository.java new file mode 100644 index 0000000..80ffcd7 --- /dev/null +++ b/admin/src/main/java/com/linln/admin/orders/repository/RechargeInfosRepository.java @@ -0,0 +1,11 @@ +package com.linln.admin.orders.repository; + +import com.linln.admin.orders.domain.RechargeInfos; +import com.linln.modules.system.repository.BaseRepository; + +/** + * @author gion + * @date 2024/04/29 + */ +public interface RechargeInfosRepository extends BaseRepository { +} \ No newline at end of file diff --git a/admin/src/main/java/com/linln/admin/orders/service/CarService.java b/admin/src/main/java/com/linln/admin/orders/service/CarService.java index 0eba505..2a1f589 100644 --- a/admin/src/main/java/com/linln/admin/orders/service/CarService.java +++ b/admin/src/main/java/com/linln/admin/orders/service/CarService.java @@ -1,6 +1,7 @@ package com.linln.admin.orders.service; import com.linln.admin.orders.domain.Car; +import com.linln.admin.orders.domain.CarConfig; import com.linln.admin.orders.domain.CarUser; import com.linln.admin.users.domain.Users; import com.linln.common.enums.StatusEnum; @@ -46,4 +47,8 @@ public interface CarService { void delCarUser(long carId, long uid); void saveCarUser(CarUser carUser); + + void saveCarDownInfo(Car car); + + CarConfig getCarConfig(Long id); } \ No newline at end of file diff --git a/admin/src/main/java/com/linln/admin/orders/service/RechargeService.java b/admin/src/main/java/com/linln/admin/orders/service/RechargeService.java new file mode 100644 index 0000000..6faa44f --- /dev/null +++ b/admin/src/main/java/com/linln/admin/orders/service/RechargeService.java @@ -0,0 +1,41 @@ +package com.linln.admin.orders.service; + +import com.linln.admin.orders.domain.RechargeInfos; +import com.linln.common.enums.StatusEnum; +import org.springframework.data.domain.Example; +import org.springframework.data.domain.Page; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @author gion + * @date 2024/08/14 + */ +public interface RechargeService { + + /** + * 获取分页列表数据 + * @param example 查询实例 + * @return 返回分页数据 + */ + Page getPageList(Example example); + + /** + * 根据ID查询数据 + * @param id 主键ID + */ + RechargeInfos getById(Long id); + + /** + * 保存数据 + * @param coupons 实体对象 + */ + RechargeInfos save(RechargeInfos coupons); + + /** + * 状态(启用,冻结,删除)/批量状态处理 + */ + @Transactional(rollbackFor = Exception.class) + Boolean updateStatus(StatusEnum statusEnum, List idList); +} \ No newline at end of file diff --git a/admin/src/main/java/com/linln/admin/orders/service/impl/CarServiceImpl.java b/admin/src/main/java/com/linln/admin/orders/service/impl/CarServiceImpl.java index 3b91e99..ad3eafd 100644 --- a/admin/src/main/java/com/linln/admin/orders/service/impl/CarServiceImpl.java +++ b/admin/src/main/java/com/linln/admin/orders/service/impl/CarServiceImpl.java @@ -1,7 +1,11 @@ package com.linln.admin.orders.service.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.linln.admin.orders.domain.Car; +import com.linln.admin.orders.domain.CarConfig; import com.linln.admin.orders.domain.CarUser; +import com.linln.admin.orders.repository.CarConfigRepository; import com.linln.admin.orders.repository.CarRepository; import com.linln.admin.orders.repository.CarUserRepository; import com.linln.admin.orders.service.CarService; @@ -17,6 +21,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Date; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -36,6 +41,9 @@ public class CarServiceImpl implements CarService { @Resource private UsersRepository usersRepository; + @Resource + private CarConfigRepository carConfigRepository; + /** * 根据ID查询数据 * @param id 主键ID @@ -99,4 +107,40 @@ public class CarServiceImpl implements CarService { public void saveCarUser(CarUser carUser) { carUserRepository.save(carUser); } + + @Override + public CarConfig getCarConfig(Long id) { + return carConfigRepository.findFirstByCarId(id); + } + + @Override + public void saveCarDownInfo(Car car) { + CarConfig carConfig = carConfigRepository.findFirstByCarId(car.getId()); + if (carConfig == null) { + carConfig = new CarConfig(); + carConfig.setStatus((byte) 1); + if (StrUtil.isNotBlank(car.getStartDownTime())) { + carConfig.setStartDownTime(DateUtil.parse(car.getStartDownTime())); + } + if (StrUtil.isNotBlank(car.getEndDownTime())) { + carConfig.setEndDownTime(DateUtil.parse(car.getEndDownTime())); + } + carConfig.setCarId(car.getId()); + carConfig.setCreateDate(new Date()); + carConfig.setUpdateDate(new Date()); + } else { + if (StrUtil.isNotBlank(car.getStartDownTime())) { + carConfig.setStartDownTime(DateUtil.parse(car.getStartDownTime())); + } else { + carConfig.setStartDownTime(null); + } + if (StrUtil.isNotBlank(car.getEndDownTime())) { + carConfig.setEndDownTime(DateUtil.parse(car.getEndDownTime())); + } else { + carConfig.setStartDownTime(null); + } + carConfig.setUpdateDate(new Date()); + } + carConfigRepository.save(carConfig); + } } \ No newline at end of file diff --git a/admin/src/main/java/com/linln/admin/orders/service/impl/RechargeServiceImpl.java b/admin/src/main/java/com/linln/admin/orders/service/impl/RechargeServiceImpl.java new file mode 100644 index 0000000..ab95022 --- /dev/null +++ b/admin/src/main/java/com/linln/admin/orders/service/impl/RechargeServiceImpl.java @@ -0,0 +1,66 @@ +package com.linln.admin.orders.service.impl; + +import com.linln.admin.orders.domain.RechargeInfos; +import com.linln.admin.orders.repository.RechargeInfosRepository; +import com.linln.admin.orders.service.RechargeService; +import com.linln.common.data.PageSort; +import com.linln.common.enums.StatusEnum; +import org.springframework.data.domain.Example; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author gion + * @date 2024/08/14 + */ +@Service +public class RechargeServiceImpl implements RechargeService { + + @Resource + private RechargeInfosRepository rechargeInfosRepository; + + /** + * 根据ID查询数据 + * @param id 主键ID + */ + @Override + public RechargeInfos getById(Long id) { + return rechargeInfosRepository.findById(id).orElse(null); + } + + /** + * 获取分页列表数据 + * @param example 查询实例 + * @return 返回分页数据 + */ + @Override + public Page getPageList(Example example) { + // 创建分页对象 + PageRequest page = PageSort.pageRequest("createTime", Sort.Direction.DESC); + return rechargeInfosRepository.findAll(example, page); + } + + /** + * 保存数据 + * @param rechargeInfos 实体对象 + */ + @Override + public RechargeInfos save(RechargeInfos rechargeInfos) { + return rechargeInfosRepository.save(rechargeInfos); + } + + /** + * 状态(启用,冻结,删除)/批量状态处理 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateStatus(StatusEnum statusEnum, List idList) { + return rechargeInfosRepository.updateStatus(statusEnum.getCode(), idList) > 0; + } +} \ No newline at end of file diff --git a/admin/src/main/java/com/linln/admin/orders/validator/RechargeValid.java b/admin/src/main/java/com/linln/admin/orders/validator/RechargeValid.java new file mode 100644 index 0000000..2f07a7b --- /dev/null +++ b/admin/src/main/java/com/linln/admin/orders/validator/RechargeValid.java @@ -0,0 +1,22 @@ +package com.linln.admin.orders.validator; + +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** + * @author gion + * @date 2024/08/14 + */ +@Data +public class RechargeValid implements Serializable { + @NotEmpty(message = "充值活动名称不能为空") + private String name; + @NotEmpty(message = "充值活动描述不能为空") + private String desc; + @NotEmpty(message = "支付金额不能为空") + private String price; + @NotEmpty(message = "到账金额不能为空") + private String rechargePrice; +} \ No newline at end of file diff --git a/admin/src/main/resources/templates/orders/car/index.html b/admin/src/main/resources/templates/orders/car/index.html index 16c908b..d37c6fd 100644 --- a/admin/src/main/resources/templates/orders/car/index.html +++ b/admin/src/main/resources/templates/orders/car/index.html @@ -53,9 +53,12 @@ 主键ID 车牌号 + 车辆状态 + 下线时间段 护理人员信息 车辆排单列表 添加护理人员 + 车辆下线设置 操作 @@ -65,6 +68,9 @@ 主键ID 车牌号 + 上线 + 下线 + 下线时间段 护理人员信息 @@ -75,6 +81,9 @@ 添加护理人员 + 车辆下线管理 + + 编辑 详细 diff --git a/admin/src/main/resources/templates/orders/car/toCarDownInfos.html b/admin/src/main/resources/templates/orders/car/toCarDownInfos.html new file mode 100644 index 0000000..4108da3 --- /dev/null +++ b/admin/src/main/resources/templates/orders/car/toCarDownInfos.html @@ -0,0 +1,49 @@ + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + +
+
+
+ + + + \ No newline at end of file diff --git a/admin/src/main/resources/templates/orders/recharge/add.html b/admin/src/main/resources/templates/orders/recharge/add.html new file mode 100644 index 0000000..ca4f8b6 --- /dev/null +++ b/admin/src/main/resources/templates/orders/recharge/add.html @@ -0,0 +1,59 @@ + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + +
+
+
+ + + \ No newline at end of file diff --git a/admin/src/main/resources/templates/orders/recharge/index.html b/admin/src/main/resources/templates/orders/recharge/index.html new file mode 100644 index 0000000..0e4637e --- /dev/null +++ b/admin/src/main/resources/templates/orders/recharge/index.html @@ -0,0 +1,71 @@ + + + + + +
+
+ 充值管理 + +
+
+
+
+ +
+ +
+
删除
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 充值ID充值名称充值描述金额赠送金额充值到账金额类型赠送描述创建时间操作
充值ID充值名称充值描述金额赠送金额充值到账金额类型赠送描述创建时间 + 编辑 + 删除 +
+
+
+
+
+ + + \ No newline at end of file diff --git a/component/thymeleaf/src/main/java/com/linln/component/thymeleaf/utility/DictUtil.java b/component/thymeleaf/src/main/java/com/linln/component/thymeleaf/utility/DictUtil.java index e15ed53..98b96d9 100644 --- a/component/thymeleaf/src/main/java/com/linln/component/thymeleaf/utility/DictUtil.java +++ b/component/thymeleaf/src/main/java/com/linln/component/thymeleaf/utility/DictUtil.java @@ -250,6 +250,14 @@ public class DictUtil { String label = "PAY_ORDER_STATUS"; return DictUtil.keyValue(label, String.valueOf(status)); } + /** + * 封装数据状态字典 + * @param status 状态 + */ + public static String rechargeType(Byte status){ + String label = "RECHARGE_TYPE"; + return DictUtil.keyValue(label, String.valueOf(status)); + } /** * 清除缓存中指定的数据