Browse Source

feat:打车费设置

wrj 8 months ago
parent
commit
fc205fd04d

+ 93 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TFareSettingController.java

@@ -0,0 +1,93 @@
+package com.ylx.web.controller.massage;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.common.core.controller.BaseController;
+import com.ylx.common.core.domain.R;
+import com.ylx.massage.domain.TFareSetting;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import com.ylx.massage.service.TFareSettingService;
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 车费设置表(TFareSetting)表控制层
+ *
+ * @author makejava
+ * @since 2024-08-22 17:41:00
+ */
+@RestController
+@Api(tags = {"车费设置"})
+@RequestMapping("tFareSetting")
+public class TFareSettingController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private TFareSettingService tFareSettingService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param page         分页对象
+     * @param tFareSetting 查询实体
+     * @return 所有数据
+     */
+    @GetMapping("selectAll")
+    @ApiOperation("分页查询数据")
+    public R selectAll(Page<TFareSetting> page, TFareSetting tFareSetting) {
+        return R.ok(this.tFareSettingService.page(page, new QueryWrapper<>(tFareSetting)));
+    }
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping("{id}")
+    @ApiOperation("查询单条数据")
+    public R selectOne(@PathVariable Serializable id) {
+        return R.ok(this.tFareSettingService.getById(id));
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param tFareSetting 实体对象
+     * @return 新增结果
+     */
+    @PostMapping("add")
+    @ApiOperation("新增数据")
+    public R insert(@RequestBody TFareSetting tFareSetting) {
+        return R.ok(this.tFareSettingService.add(tFareSetting));
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param tFareSetting 实体对象
+     * @return 修改结果
+     */
+    @PostMapping("update")
+    @ApiOperation("修改数据")
+    public R update(@RequestBody TFareSetting tFareSetting) {
+        return R.ok(this.tFareSettingService.updateFareSetting(tFareSetting));
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param idList 主键结合
+     * @return 删除结果
+     */
+    @PostMapping("delete")
+    public R delete(@RequestBody List<String> idList) {
+        return R.ok(this.tFareSettingService.removeByIds(idList));
+    }
+}
+

+ 129 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TFareSetting.java

@@ -0,0 +1,129 @@
+package com.ylx.massage.domain;
+
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 车费设置表(TFareSetting)表实体类
+ *
+ * @author makejava
+ * @since 2024-08-22 17:41:00
+ */
+@SuppressWarnings("serial")
+public class TFareSetting extends Model<TFareSetting> {
+    //主键
+    private String id;
+    //起步价
+    private Double baseFare;
+    //起步距离(公里)
+    private Double baseDistance;
+    //超出起步价后每公里费用
+    private Double additionalFarePer;
+    //是否启用0否 1是
+    private Integer enable;
+    //部门id
+    private String deptId;
+    //部门名称
+    private String deptName;
+    //系统创建时间
+    private Date createTime;
+    //系统修改时间
+    private Date updateTime;
+    //是否删除0否1是
+    private Integer isDelete;
+
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Double getBaseFare() {
+        return baseFare;
+    }
+
+    public void setBaseFare(Double baseFare) {
+        this.baseFare = baseFare;
+    }
+
+    public Double getBaseDistance() {
+        return baseDistance;
+    }
+
+    public void setBaseDistance(Double baseDistance) {
+        this.baseDistance = baseDistance;
+    }
+
+    public Double getAdditionalFarePer() {
+        return additionalFarePer;
+    }
+
+    public void setAdditionalFarePer(Double additionalFarePer) {
+        this.additionalFarePer = additionalFarePer;
+    }
+
+    public Integer getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Integer enable) {
+        this.enable = enable;
+    }
+
+    public String getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(String deptId) {
+        this.deptId = deptId;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public Integer getIsDelete() {
+        return isDelete;
+    }
+
+    public void setIsDelete(Integer isDelete) {
+        this.isDelete = isDelete;
+    }
+
+    /**
+     * 获取主键值
+     *
+     * @return 主键值
+     */
+    @Override
+    public Serializable pkVal() {
+        return this.id;
+    }
+}
+

+ 35 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TFareSettingMapper.java

@@ -0,0 +1,35 @@
+package com.ylx.massage.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.ylx.massage.domain.TFareSetting;
+
+/**
+ * 车费设置表(TFareSetting)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-08-22 17:41:00
+ */
+public interface TFareSettingMapper extends BaseMapper<TFareSetting> {
+
+    /**
+     * 批量新增数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TFareSetting> 实例对象列表
+     * @return 影响行数
+     */
+    int insertBatch(@Param("entities") List<TFareSetting> entities);
+
+    /**
+     * 批量新增或按主键更新数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TFareSetting> 实例对象列表
+     * @return 影响行数
+     * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
+     */
+    int insertOrUpdateBatch(@Param("entities") List<TFareSetting> entities);
+
+}
+

+ 18 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TFareSettingService.java

@@ -0,0 +1,18 @@
+package com.ylx.massage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ylx.massage.domain.TFareSetting;
+
+/**
+ * 车费设置表(TFareSetting)表服务接口
+ *
+ * @author makejava
+ * @since 2024-08-22 17:41:00
+ */
+public interface TFareSettingService extends IService<TFareSetting> {
+
+    TFareSetting add(TFareSetting tFareSetting);
+
+    TFareSetting updateFareSetting(TFareSetting tFareSetting);
+}
+

+ 59 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TFareSettingServiceImpl.java

@@ -0,0 +1,59 @@
+package com.ylx.massage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ylx.common.constant.MassageConstants;
+import com.ylx.common.exception.ServiceException;
+import com.ylx.massage.mapper.TFareSettingMapper;
+import com.ylx.massage.domain.TFareSetting;
+import io.jsonwebtoken.lang.Collections;
+import org.springframework.stereotype.Service;
+import com.ylx.massage.service.TFareSettingService;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 车费设置表(TFareSetting)表服务实现类
+ *
+ * @author makejava
+ * @since 2024-08-22 17:41:00
+ */
+@Service("tFareSettingService")
+public class TFareSettingServiceImpl extends ServiceImpl<TFareSettingMapper, TFareSetting> implements TFareSettingService {
+
+    @Override
+    public TFareSetting add(TFareSetting tFareSetting) {
+        //判断部门重复设置
+        if (tFareSetting.getEnable().equals(MassageConstants.INTEGER_ONE)) {
+            LambdaQueryWrapper<TFareSetting> tFareSettingLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            tFareSettingLambdaQueryWrapper.eq(TFareSetting::getDeptId, tFareSetting.getDeptId())
+                    .eq(TFareSetting::getEnable, MassageConstants.INTEGER_ONE);
+            List<TFareSetting> fareSettings = this.list(tFareSettingLambdaQueryWrapper);
+            if (!Collections.isEmpty(fareSettings)) {
+                throw new ServiceException("该部门已有启用的设置");
+            }
+        }
+        this.save(tFareSetting);
+        return tFareSetting;
+    }
+
+    @Override
+    public TFareSetting updateFareSetting(TFareSetting tFareSetting) {
+        if (tFareSetting.getEnable().equals(MassageConstants.INTEGER_ONE)) {
+            LambdaQueryWrapper<TFareSetting> tFareSettingLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            tFareSettingLambdaQueryWrapper.eq(TFareSetting::getDeptId, tFareSetting.getDeptId())
+                    .eq(TFareSetting::getEnable, MassageConstants.INTEGER_ONE);
+            List<TFareSetting> fareSettings = this.list(tFareSettingLambdaQueryWrapper);
+            if (!Collections.isEmpty(fareSettings)) {
+                List<TFareSetting> collect = fareSettings.stream().filter(i -> i.getId().equals(tFareSetting.getId())).collect(Collectors.toList());
+                if (Collections.isEmpty(collect)) {
+                    throw new ServiceException("该部门已有启用的设置");
+                }
+            }
+        }
+        this.updateById(tFareSetting);
+        return tFareSetting;
+    }
+}
+

+ 42 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TFareSettingMapper.xml

@@ -0,0 +1,42 @@
+<?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.ylx.massage.mapper.TFareSettingMapper">
+
+    <resultMap type="com.ylx.massage.domain.TFareSetting" id="TFareSettingMap">
+        <result property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="baseFare" column="base_fare" jdbcType="NUMERIC"/>
+        <result property="baseDistance" column="base_distance" jdbcType="NUMERIC"/>
+        <result property="additionalFarePer" column="additional_fare_per" jdbcType="NUMERIC"/>
+        <result property="enable" column="enable" jdbcType="INTEGER"/>
+        <result property="deptId" column="dept_id" jdbcType="VARCHAR"/>
+        <result property="deptName" column="dept_name" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="isDelete" column="is_delete" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <!-- 批量插入 -->
+    <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into
+        ry-vue.t_fare_setting(base_farebase_distanceadditional_fare_perenabledept_iddept_namecreate_timeupdate_timeis_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.baseFare}#{entity.baseDistance}#{entity.additionalFarePer}#{entity.enable}#{entity.deptId}#{entity.deptName}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+    </insert>
+    <!-- 批量插入或按主键更新 -->
+    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into
+        ry-vue.t_fare_setting(base_farebase_distanceadditional_fare_perenabledept_iddept_namecreate_timeupdate_timeis_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.baseFare}#{entity.baseDistance}#{entity.additionalFarePer}#{entity.enable}#{entity.deptId}#{entity.deptName}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+        on duplicate key update
+        base_fare = values(base_fare) base_distance = values(base_distance) additional_fare_per =
+        values(additional_fare_per) enable = values(enable) dept_id = values(dept_id) dept_name = values(dept_name)
+        create_time = values(create_time) update_time = values(update_time) is_delete = values(is_delete)
+    </insert>
+
+</mapper>
+