From 6746af72653a2f650cc6649d4b88a08543c552b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Mon, 17 Mar 2025 18:08:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A5=97=E9=A4=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/bst/suit/domain/Suit.java | 64 ++++++++++ .../com/ruoyi/bst/suit/domain/SuitQuery.java | 8 ++ .../com/ruoyi/bst/suit/domain/SuitVO.java | 11 ++ .../com/ruoyi/bst/suit/mapper/SuitMapper.java | 74 +++++++++++ .../com/ruoyi/bst/suit/mapper/SuitMapper.xml | 119 ++++++++++++++++++ .../ruoyi/bst/suit/service/SuitService.java | 64 ++++++++++ .../suit/service/impl/SuitServiceImpl.java | 99 +++++++++++++++ .../com/ruoyi/web/bst/SuitController.java | 110 ++++++++++++++++ 8 files changed, 549 insertions(+) create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/Suit.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/SuitQuery.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/SuitVO.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/suit/mapper/SuitMapper.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/suit/mapper/SuitMapper.xml create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/suit/service/SuitService.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/suit/service/impl/SuitServiceImpl.java create mode 100644 ruoyi-web/src/main/java/com/ruoyi/web/bst/SuitController.java diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/Suit.java b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/Suit.java new file mode 100644 index 0000000..af0f9ad --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/Suit.java @@ -0,0 +1,64 @@ +package com.ruoyi.bst.suit.domain; + +import java.math.BigDecimal; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 套餐对象 bst_suit + * + * @author ruoyi + * @date 2025-03-17 + */ +@Data +public class Suit extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + private Long id; + + @Excel(name = "运营商id") + @ApiModelProperty("运营商id") + private Long userId; + + @Excel(name = "套餐名称") + @ApiModelProperty("套餐名称") + private String name; + + @Excel(name = "状态", readConverterExp = "0=正常,1=停用") + @ApiModelProperty("状态") + private String status; + + @Excel(name = "免费骑行时长(分钟)") + @ApiModelProperty("免费骑行时长(分钟)") + private Integer freeRideTime; + + @Excel(name = "租赁单位", readConverterExp = "m=inutes分钟,h=ours小时,d=ay天") + @ApiModelProperty("租赁单位") + private String rentalUnit; + + @Excel(name = "计费规则", readConverterExp = "1=起步价计费,2=区间计费") + @ApiModelProperty("计费规则") + private String ridingRule; + + @Excel(name = "计费规则json") + @ApiModelProperty("计费规则json") + private String ridingRuleJson; + + @Excel(name = "骑行价格说明") + @ApiModelProperty("骑行价格说明") + private String instructions; + + @Excel(name = "显示顺序") + @ApiModelProperty("显示顺序") + private Integer orderNum; + + @Excel(name = "预存款") + @ApiModelProperty("预存款") + private BigDecimal depositAmount; + +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/SuitQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/SuitQuery.java new file mode 100644 index 0000000..2bcb6eb --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/SuitQuery.java @@ -0,0 +1,8 @@ +package com.ruoyi.bst.suit.domain; + +import lombok.Data; + +@Data +public class SuitQuery extends SuitVO { + +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/SuitVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/SuitVO.java new file mode 100644 index 0000000..6f92c11 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/domain/SuitVO.java @@ -0,0 +1,11 @@ +package com.ruoyi.bst.suit.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class SuitVO extends Suit{ + + @ApiModelProperty("用户名称") + private String userName; +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/suit/mapper/SuitMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/mapper/SuitMapper.java new file mode 100644 index 0000000..126bbf0 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/mapper/SuitMapper.java @@ -0,0 +1,74 @@ +package com.ruoyi.bst.suit.mapper; + +import java.util.List; +import com.ruoyi.bst.suit.domain.Suit; +import com.ruoyi.bst.suit.domain.SuitVO; +import com.ruoyi.bst.suit.domain.SuitQuery; +import org.apache.ibatis.annotations.Param; + +/** + * 套餐Mapper接口 + * + * @author ruoyi + * @date 2025-03-17 + */ +public interface SuitMapper +{ + /** + * 查询套餐 + * + * @param id 套餐主键 + * @return 套餐 + */ + SuitVO selectSuitById(Long id); + + /** + * 查询套餐列表 + * + * @param query 套餐 + * @return 套餐集合 + */ + List selectSuitList(@Param("query")SuitQuery query); + + /** + * 新增套餐 + * + * @param suit 套餐 + * @return 结果 + */ + int insertSuit(Suit suit); + + /** + * 批量新增套餐 + */ + int batchInsert(@Param("list") List list); + + /** + * 批量修改套餐 + */ + int batchUpdate(@Param("list") List list); + + /** + * 修改套餐 + * + * @param suit 套餐 + * @return 结果 + */ + public int updateSuit(@Param("data") Suit suit); + + /** + * 删除套餐 + * + * @param id 套餐主键 + * @return 结果 + */ + int deleteSuitById(Long id); + + /** + * 批量删除套餐 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSuitByIds(Long[] ids); +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/suit/mapper/SuitMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/mapper/SuitMapper.xml new file mode 100644 index 0000000..fddbd23 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/mapper/SuitMapper.xml @@ -0,0 +1,119 @@ + + + + + + + + select + bs.id, + bs.user_id, + bs.name, + bs.status, + bs.create_time, + bs.free_ride_time, + bs.rental_unit, + bs.riding_rule, + bs.riding_rule_json, + bs.instructions, + bs.deleted, + bs.order_num, + bs.deposit_amount, + su.nick_name as user_name + from bst_suit bs + left join sys_user su on su.user_id = bs.user_id + + + + and bs.id = #{query.id} + and bs.user_id = #{query.userId} + and bs.name like concat('%', #{query.name}, '%') + and bs.status = #{query.status} + and bs.rental_unit = #{query.rentalUnit} + and bs.riding_rule = #{query.ridingRule} + and bs.deleted = #{query.deleted} + and bs.deleted = false + and su.nick_name like concat('%', #{query.userName}, '%') + ${query.params.dataScope} + + + + + + + + insert into bst_suit + + user_id, + name, + status, + create_time, + free_ride_time, + rental_unit, + riding_rule, + riding_rule_json, + instructions, + deleted, + order_num, + deposit_amount, + + + #{userId}, + #{name}, + #{status}, + #{createTime}, + #{freeRideTime}, + #{rentalUnit}, + #{ridingRule}, + #{ridingRuleJson}, + #{instructions}, + #{deleted}, + #{orderNum}, + #{depositAmount}, + + + + + update bst_suit + + + + where id = #{data.id} + + + + user_id = #{data.userId}, + name = #{data.name}, + status = #{data.status}, + create_time = #{data.createTime}, + free_ride_time = #{data.freeRideTime}, + rental_unit = #{data.rentalUnit}, + riding_rule = #{data.ridingRule}, + riding_rule_json = #{data.ridingRuleJson}, + instructions = #{data.instructions}, + deleted = #{data.deleted}, + order_num = #{data.orderNum}, + deposit_amount = #{data.depositAmount}, + + + + delete from bst_suit where id = #{id} + + + + delete from bst_suit where id in + + #{id} + + + diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/suit/service/SuitService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/service/SuitService.java new file mode 100644 index 0000000..0bb3bbf --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/service/SuitService.java @@ -0,0 +1,64 @@ +package com.ruoyi.bst.suit.service; + +import java.util.List; + +import com.ruoyi.bst.suit.domain.Suit; +import com.ruoyi.bst.suit.domain.SuitQuery; +import com.ruoyi.bst.suit.domain.SuitVO; + +/** + * 套餐Service接口 + * + * @author ruoyi + * @date 2025-03-17 + */ +public interface SuitService +{ + /** + * 查询套餐 + * + * @param id 套餐主键 + * @return 套餐 + */ + public SuitVO selectSuitById(Long id); + + /** + * 查询套餐列表 + * + * @param suit 套餐 + * @return 套餐集合 + */ + public List selectSuitList(SuitQuery suit); + + /** + * 新增套餐 + * + * @param suit 套餐 + * @return 结果 + */ + public int insertSuit(Suit suit); + + /** + * 修改套餐 + * + * @param suit 套餐 + * @return 结果 + */ + public int updateSuit(Suit suit); + + /** + * 批量删除套餐 + * + * @param ids 需要删除的套餐主键集合 + * @return 结果 + */ + public int deleteSuitByIds(Long[] ids); + + /** + * 删除套餐信息 + * + * @param id 套餐主键 + * @return 结果 + */ + public int deleteSuitById(Long id); +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/suit/service/impl/SuitServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/service/impl/SuitServiceImpl.java new file mode 100644 index 0000000..0f2d456 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/suit/service/impl/SuitServiceImpl.java @@ -0,0 +1,99 @@ +package com.ruoyi.bst.suit.service.impl; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.ruoyi.bst.suit.domain.Suit; +import com.ruoyi.bst.suit.domain.SuitQuery; +import com.ruoyi.bst.suit.domain.SuitVO; +import com.ruoyi.bst.suit.mapper.SuitMapper; +import com.ruoyi.bst.suit.service.SuitService; +import com.ruoyi.common.utils.DateUtils; + +/** + * 套餐Service业务层处理 + * + * @author ruoyi + * @date 2025-03-17 + */ +@Service +public class SuitServiceImpl implements SuitService +{ + @Autowired + private SuitMapper suitMapper; + + /** + * 查询套餐 + * + * @param id 套餐主键 + * @return 套餐 + */ + @Override + public SuitVO selectSuitById(Long id) + { + return suitMapper.selectSuitById(id); + } + + /** + * 查询套餐列表 + * + * @param suit 套餐 + * @return 套餐 + */ + @Override + public List selectSuitList(SuitQuery suit) + { + return suitMapper.selectSuitList(suit); + } + + /** + * 新增套餐 + * + * @param suit 套餐 + * @return 结果 + */ + @Override + public int insertSuit(Suit suit) + { + suit.setCreateTime(DateUtils.getNowDate()); + return suitMapper.insertSuit(suit); + } + + /** + * 修改套餐 + * + * @param suit 套餐 + * @return 结果 + */ + @Override + public int updateSuit(Suit suit) + { + return suitMapper.updateSuit(suit); + } + + /** + * 批量删除套餐 + * + * @param ids 需要删除的套餐主键 + * @return 结果 + */ + @Override + public int deleteSuitByIds(Long[] ids) + { + return suitMapper.deleteSuitByIds(ids); + } + + /** + * 删除套餐信息 + * + * @param id 套餐主键 + * @return 结果 + */ + @Override + public int deleteSuitById(Long id) + { + return suitMapper.deleteSuitById(id); + } +} diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/bst/SuitController.java b/ruoyi-web/src/main/java/com/ruoyi/web/bst/SuitController.java new file mode 100644 index 0000000..16e791c --- /dev/null +++ b/ruoyi-web/src/main/java/com/ruoyi/web/bst/SuitController.java @@ -0,0 +1,110 @@ +package com.ruoyi.web.bst; + +import java.util.List; + +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +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.RestController; + +import com.ruoyi.bst.suit.domain.Suit; +import com.ruoyi.bst.suit.domain.SuitQuery; +import com.ruoyi.bst.suit.domain.SuitVO; +import com.ruoyi.bst.suit.service.SuitService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; + +/** + * 套餐Controller + * + * @author ruoyi + * @date 2025-03-17 + */ +@RestController +@RequestMapping("/bst/suit") +public class SuitController extends BaseController +{ + @Autowired + private SuitService suitService; + + /** + * 查询套餐列表 + */ + @PreAuthorize("@ss.hasPermi('bst:suit:list')") + @GetMapping("/list") + public TableDataInfo list(SuitQuery query) + { + startPage(); + startOrderBy(); + List list = suitService.selectSuitList(query); + return getDataTable(list); + } + + /** + * 导出套餐列表 + */ + @PreAuthorize("@ss.hasPermi('bst:suit:export')") + @Log(title = "套餐", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SuitQuery query) + { + List list = suitService.selectSuitList(query); + ExcelUtil util = new ExcelUtil(SuitVO.class); + util.exportExcel(response, list, "套餐数据"); + } + + /** + * 获取套餐详细信息 + */ + @PreAuthorize("@ss.hasPermi('bst:suit:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(suitService.selectSuitById(id)); + } + + /** + * 新增套餐 + */ + @PreAuthorize("@ss.hasPermi('bst:suit:add')") + @Log(title = "套餐", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody Suit suit) + { + return toAjax(suitService.insertSuit(suit)); + } + + /** + * 修改套餐 + */ + @PreAuthorize("@ss.hasPermi('bst:suit:edit')") + @Log(title = "套餐", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody Suit suit) + { + return toAjax(suitService.updateSuit(suit)); + } + + /** + * 删除套餐 + */ + @PreAuthorize("@ss.hasPermi('bst:suit:remove')") + @Log(title = "套餐", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(suitService.deleteSuitByIds(ids)); + } +}