套餐
This commit is contained in:
parent
97e5a2e782
commit
6746af7265
|
@ -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;
|
||||
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package com.ruoyi.bst.suit.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SuitQuery extends SuitVO {
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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<SuitVO> selectSuitList(@Param("query")SuitQuery query);
|
||||
|
||||
/**
|
||||
* 新增套餐
|
||||
*
|
||||
* @param suit 套餐
|
||||
* @return 结果
|
||||
*/
|
||||
int insertSuit(Suit suit);
|
||||
|
||||
/**
|
||||
* 批量新增套餐
|
||||
*/
|
||||
int batchInsert(@Param("list") List<? extends Suit> list);
|
||||
|
||||
/**
|
||||
* 批量修改套餐
|
||||
*/
|
||||
int batchUpdate(@Param("list") List<? extends Suit> 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);
|
||||
}
|
|
@ -0,0 +1,119 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.bst.suit.mapper.SuitMapper">
|
||||
|
||||
<resultMap type="SuitVO" id="SuitResult" autoMapping="true"/>
|
||||
|
||||
<sql id="selectSuitVo">
|
||||
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
|
||||
</sql>
|
||||
|
||||
<sql id="searchCondition">
|
||||
<if test="query.id != null "> and bs.id = #{query.id}</if>
|
||||
<if test="query.userId != null "> and bs.user_id = #{query.userId}</if>
|
||||
<if test="query.name != null and query.name != ''"> and bs.name like concat('%', #{query.name}, '%')</if>
|
||||
<if test="query.status != null and query.status != ''"> and bs.status = #{query.status}</if>
|
||||
<if test="query.rentalUnit != null and query.rentalUnit != ''"> and bs.rental_unit = #{query.rentalUnit}</if>
|
||||
<if test="query.ridingRule != null and query.ridingRule != ''"> and bs.riding_rule = #{query.ridingRule}</if>
|
||||
<if test="query.deleted != null "> and bs.deleted = #{query.deleted}</if>
|
||||
<if test="query.deleted == null "> and bs.deleted = false</if>
|
||||
<if test="query.userName != null and query.userName != ''"> and su.nick_name like concat('%', #{query.userName}, '%')</if>
|
||||
${query.params.dataScope}
|
||||
</sql>
|
||||
|
||||
<select id="selectSuitList" parameterType="SuitQuery" resultMap="SuitResult">
|
||||
<include refid="selectSuitVo"/>
|
||||
<where>
|
||||
<include refid="searchCondition"/>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectSuitById" parameterType="Long" resultMap="SuitResult">
|
||||
<include refid="selectSuitVo"/>
|
||||
where bs.id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertSuit" parameterType="Suit" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into bst_suit
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="userId != null">user_id,</if>
|
||||
<if test="name != null and name != ''">name,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="freeRideTime != null">free_ride_time,</if>
|
||||
<if test="rentalUnit != null and rentalUnit != ''">rental_unit,</if>
|
||||
<if test="ridingRule != null and ridingRule != ''">riding_rule,</if>
|
||||
<if test="ridingRuleJson != null">riding_rule_json,</if>
|
||||
<if test="instructions != null">instructions,</if>
|
||||
<if test="deleted != null">deleted,</if>
|
||||
<if test="orderNum != null">order_num,</if>
|
||||
<if test="depositAmount != null">deposit_amount,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="userId != null">#{userId},</if>
|
||||
<if test="name != null and name != ''">#{name},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="freeRideTime != null">#{freeRideTime},</if>
|
||||
<if test="rentalUnit != null and rentalUnit != ''">#{rentalUnit},</if>
|
||||
<if test="ridingRule != null and ridingRule != ''">#{ridingRule},</if>
|
||||
<if test="ridingRuleJson != null">#{ridingRuleJson},</if>
|
||||
<if test="instructions != null">#{instructions},</if>
|
||||
<if test="deleted != null">#{deleted},</if>
|
||||
<if test="orderNum != null">#{orderNum},</if>
|
||||
<if test="depositAmount != null">#{depositAmount},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateSuit" parameterType="Suit">
|
||||
update bst_suit
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<include refid="updateColumns"/>
|
||||
</trim>
|
||||
where id = #{data.id}
|
||||
</update>
|
||||
|
||||
<sql id="updateColumns">
|
||||
<if test="data.userId != null">user_id = #{data.userId},</if>
|
||||
<if test="data.name != null and data.name != ''">name = #{data.name},</if>
|
||||
<if test="data.status != null and data.status != ''">status = #{data.status},</if>
|
||||
<if test="data.createTime != null">create_time = #{data.createTime},</if>
|
||||
<if test="data.freeRideTime != null">free_ride_time = #{data.freeRideTime},</if>
|
||||
<if test="data.rentalUnit != null and data.rentalUnit != ''">rental_unit = #{data.rentalUnit},</if>
|
||||
<if test="data.ridingRule != null and data.ridingRule != ''">riding_rule = #{data.ridingRule},</if>
|
||||
<if test="data.ridingRuleJson != null">riding_rule_json = #{data.ridingRuleJson},</if>
|
||||
<if test="data.instructions != null">instructions = #{data.instructions},</if>
|
||||
<if test="data.deleted != null">deleted = #{data.deleted},</if>
|
||||
<if test="data.orderNum != null">order_num = #{data.orderNum},</if>
|
||||
<if test="data.depositAmount != null">deposit_amount = #{data.depositAmount},</if>
|
||||
</sql>
|
||||
|
||||
<delete id="deleteSuitById" parameterType="Long">
|
||||
delete from bst_suit where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteSuitByIds" parameterType="String">
|
||||
delete from bst_suit where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
|
@ -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<SuitVO> 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);
|
||||
}
|
|
@ -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<SuitVO> 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);
|
||||
}
|
||||
}
|
110
ruoyi-web/src/main/java/com/ruoyi/web/bst/SuitController.java
Normal file
110
ruoyi-web/src/main/java/com/ruoyi/web/bst/SuitController.java
Normal file
|
@ -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<SuitVO> 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<SuitVO> list = suitService.selectSuitList(query);
|
||||
ExcelUtil<SuitVO> util = new ExcelUtil<SuitVO>(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));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user