diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeSysRoperatesetController.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeSysRoperatesetController.java index e9422cc4..4f04c555 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeSysRoperatesetController.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/controller/EbikeSysRoperatesetController.java @@ -1,5 +1,6 @@ package com.cdzy.ebikeoperate.controller; +import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeSysRoperatesetsDto; import com.cdzy.ebikeoperate.model.pojo.EbikeSysRoperateset; import com.cdzy.ebikeoperate.service.EbikeSysRoperatesetService; import org.springframework.beans.factory.annotation.Autowired; @@ -21,12 +22,12 @@ public class EbikeSysRoperatesetController { /** * 添加区域运营信息配置表。 * - * @param ebikeSysRoperateset 区域运营信息配置表 + * @param reqEbikeSysRoperatesetsDto 区域运营信息配置表 * @return {@code true} 添加成功,{@code false} 添加失败 */ @PostMapping("save") - public boolean save(@RequestBody EbikeSysRoperateset ebikeSysRoperateset) { - return ebikeSysRoperatesetService.save(ebikeSysRoperateset); + public boolean save(@RequestBody ReqEbikeSysRoperatesetsDto reqEbikeSysRoperatesetsDto) { + return ebikeSysRoperatesetService.save(reqEbikeSysRoperatesetsDto); } /** diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysLinktelDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysLinktelDto.java new file mode 100644 index 00000000..1476c5ff --- /dev/null +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysLinktelDto.java @@ -0,0 +1,36 @@ +package com.cdzy.ebikeoperate.model.dto.request; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 区域电话客服设置表 实体类。 + * + * @author user + * @since 2025-04-28 + */ +@Data +public class ReqEbikeSysLinktelDto implements Serializable { + + /** + * 区域ID + */ + private String reginId; + + /** + * 电话号码 + */ + private String telnum; + + /** + * 工作时间(起) + */ + private String worktimeStart; + + /** + * 工作时间(止) + */ + private String worktimeEnd; + +} diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRbacksetDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRbacksetDto.java new file mode 100644 index 00000000..cf136a98 --- /dev/null +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRbacksetDto.java @@ -0,0 +1,99 @@ +package com.cdzy.ebikeoperate.model.dto.request; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 区域还车配置表 实体类。 + * + * @author user + * @since 2025-04-28 + */ +@Data +public class ReqEbikeSysRbacksetDto implements Serializable { + + + /** + * 区域ID + */ + private String reginId; + + /** + * 是否站点还车 + */ + private String isSite; + + /** + * 默认还车距离;1是 0否 + */ + private BigDecimal returnDistance; + + /** + * 规范停车强制还车;1是 0否 + */ + private String forceRegular; + + /** + * 是否90度停车;1是 0否 + */ + private String parkNinety; + + /** + * 规范还车智能跳过;1是 0否 + */ + private String ignoreRegular; + + /** + * 还车判断用户坐标;1是 0否 + */ + private String location; + + /** + * 用户与车辆距离 + */ + private BigDecimal distance; + + /** + * 学习免调度费还车;1是 0否 + */ + private String freeDispatchStudy; + + /** + * AI拍照是否在站点内;1是 0否 + */ + private String photoInStation; + + /** + * 站点偏移角度误差 + */ + private Integer angulaOffsetError; + + /** + * 规范还车失败跳过次数 + */ + private Integer ignoreRegularErrorCount; + + /** + * 规范还车跳过类型 + */ + private String ignoreRegularType; + + /** + * 学习免调度费还车类型 + */ + private String freeReturnType; + + /** + * 学习免调度费次数 + */ + private String freeDispatchCount; + +} diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRlocksetDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRlocksetDto.java new file mode 100644 index 00000000..2675cb83 --- /dev/null +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRlocksetDto.java @@ -0,0 +1,56 @@ +package com.cdzy.ebikeoperate.model.dto.request; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 区域锁车配置表 实体类。 + * + * @author user + * @since 2025-04-28 + */ +@Data +public class ReqEbikeSysRlocksetDto implements Serializable { + + /** + * 区域ID + */ + private String reginId; + + /** + * 自动锁车(分钟) + */ + private Integer autoLock; + + /** + * 临时锁车自动还车(分钟) + */ + private Integer autoReturn; + + /** + * 自动还车配置;0自动锁车 1先临时锁车再自动还 + */ + private String autoReturnType; + + /** + * 有单无坐标自动锁车(分钟) + */ + private Integer autoLockNolocation; + + /** + * 开启自动锁车监控;1是 0否 + */ + private String autoLockMonitor; + + /** + * 超区临时锁车限制;1是 0否 + */ + private String limitOverZone; + + /** + * 车辆断电检测频率 + */ + private Integer powerChecking; + +} diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRoperatesetDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRoperatesetDto.java new file mode 100644 index 00000000..afb5a6ec --- /dev/null +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRoperatesetDto.java @@ -0,0 +1,205 @@ +package com.cdzy.ebikeoperate.model.dto.request; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author:Ding + * @ClassName:ReqEbikeSysRoperatesetDto + * @Package:com.cdzy.ebikeoperate.model.pojo.request.ReqEbikeSysRoperatesetDto + * @Description: + * @CreateDate:2025年04月09日 + * @Version:V1.0 + **/ +@Data +public class ReqEbikeSysRoperatesetDto implements Serializable { + + /** + * 区域ID + */ + private String reginId; + + /** + * 是否运营;1运营中 0停止运营 + */ + private String isOperate; + + /** + * 运营类型;0默认 1按时间段运营 2按周运营 + */ + private String operateType; + + /** + * 停运公告;类型为0时,null + */ + private String stopInfo; + + /** + * 访问渠道;每一位表示一种支付,是支持,否不支持 + */ + private String channel; + + /** + * 认证条件;0默认 1实名认证 2学生认证 3无需认证 + */ + private String authCondition; + + /** + * 是否首单免费;1是 0否 + */ + private String firstFree; + + /** + * 是否首单免调度费;1是 0否 + */ + private String firstFreeDispatch; + + /** + * 免费时长不计入计费时长;1是 0否 + */ + private String freeNotRecord; + + /** + * 每日免费次数;0为不限制,大于0为免费次数使用次数 + */ + private Integer freeEveryday; + + /** + * 实名开启人脸识别;1是 0否 + */ + private String faceRecogintion; + + /** + * 是否收取押金;1是 0否 + */ + private String deposit; + + /** + * 违章罚款限制骑行;1是 0否 + */ + private String violationFine; + + /** + * 违章最低限制笔数 + */ + private Integer minVoliation; + + /** + * 地图显示附近车辆;1是 0否 + */ + private String showNearbyBike; + + /** + * 地图显示附近站点;1是 0否 + */ + private String showNearbyStation; + + /** + * 是否开启订单申诉;1是 0否 + */ + private String orderAppeal; + + /** + * 扣款优先使用余额;1是 0否 + */ + private String balancePrefer; + + /** + * 是否开启充值;1是 0否 + */ + private String enableRecharge; + + /** + * 地图车辆显示电量;1是 0否 + */ + private String showElectricity; + + /** + * 开启余额退款;1是 0否 + */ + private String balanceRefund; + + /** + * 开启车辆分账;1是 0否 + */ + private String splitBilling; + + /** + * 开启用户申请开票;1是 0否 + */ + private String userApplyIncoice; + + /** + * 用车前学习;1是 0否 + */ + private String useStudy; + + /** + * 是否显示保险信息;1是 0否 + */ + private String showEnsuracy; + + /** + * 扫码后详情显示;1是 0否 + */ + private String showDetails; + + /** + * 扫码后直接开锁;1是 0否 + */ + private String openLockDirect; + + /** + * 充值规则;默认5,10,20,50,100,200 + */ + private String rechargeRule; + + /** + * 在线客服;1开启 0关闭 + */ + private String onlineService; + + /** + * 首单免费金额 + */ + private BigDecimal firstFreeAmount; + + /** + * 申诉照片必传 + */ + private String appealPicture; + + /** + * 开票开始时间 + */ + private String issueAnInvoiceStartTime; + + /** + * 0公里申诉自动退款 + */ + private String automaticRefund; + + /** + * 余额退款自动通过 + */ + private String balanceAutomaticRefund; + + /** + * 余额退款扣减赠送金 + */ + private String deductionGift; + + /** + * 停运时间起 + */ + private LocalDateTime stopStartTime; + + /** + * 停运时间止 + */ + private LocalDateTime stopEndTime; + +} diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRoperatesetsDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRoperatesetsDto.java new file mode 100644 index 00000000..8d17633b --- /dev/null +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRoperatesetsDto.java @@ -0,0 +1,44 @@ +package com.cdzy.ebikeoperate.model.dto.request; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author:Ding + * @ClassName:ReqEbikeSysRcostsetWeekDto + * @Package:com.cdzy.ebikeoperate.model.pojo.request.ReqEbikeSysRcostsetWeekDto + * @Description:区域费用配置-分时段配置 + * @CreateDate:2025年04月09日 + * @Version:V1.0 + **/ +@Data +public class ReqEbikeSysRoperatesetsDto implements Serializable { + + /** + * 运营区域配置信息 + */ + private ReqEbikeSysRoperatesetDto reqEbikeSysRoperatesetDto; + + /** + * 用车配置 + */ + private ReqEbikeSysRusecondsetDto reqEbikeSysRusecondsetDto; + + /** + * 锁车配置 + */ + private ReqEbikeSysRlocksetDto reqEbikeSysRlocksetDto; + + /** + * 还车配置 + */ + private ReqEbikeSysRbacksetDto reqEbikeSysRbacksetDto; + + /** + * 客服电话配置 + */ + private List reqEbikeSysLinktelDto; + +} diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRusecondsetDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRusecondsetDto.java new file mode 100644 index 00000000..20a7da43 --- /dev/null +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqEbikeSysRusecondsetDto.java @@ -0,0 +1,202 @@ +package com.cdzy.ebikeoperate.model.dto.request; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 区域用车配置表 实体类。 + * + * @author user + * @since 2025-04-28 + */ +@Data +public class ReqEbikeSysRusecondsetDto implements Serializable { + + /** + * 区域ID + */ + private String reginId; + + /** + * 禁止用户借车电量;百分比,默认30 + */ + private BigDecimal minPower; + + /** + * 是否充值后用车;1是 0否 + */ + private String useRecharge; + + /** + * 开启待支付充值;1是 0否 + */ + private String pendingRecharge; + + /** + * 骑行开启人脸识别;1是 0否 + */ + private String ridingFaceRecognition; + + /** + * 还车开启人脸识别;1是 0否 + */ + private String overFaceRecognition; + + /** + * 开启自动扣款;1是 0否 + */ + private String autoDeduction; + + /** + * 开启先付款后还车;1是 0否 + */ + private String payFirst; + + /** + * 车辆无坐标开放骑行;1是 0否 + */ + private String enableNoLocation; + + /** + * 低电骑行断电电量;低电骑行断电电量 + */ + private BigDecimal poweroffCapcity; + + /** + * 购买免押卡用车;1开启 0关闭 + */ + private String nodepositCard; + + /** + * 借车限制距离;0为不限制 + */ + private BigDecimal limitDistance; + + /** + * 是否同步电量里程;1是 0否 + */ + private String synicCapcityMileage; + + /** + * 区域外是否可用车;1是 0否 + */ + private String useOuter; + + /** + * 骑行超区临时通电;1是 0否 + */ + private String outerTempRecharge; + + /** + * 开启智能头盔;1是 0否 + */ + private String smartHelmet; + + /** + * 超区是否允许打开头盔;1是 0否 + */ + private String outerOpenHelmet; + + /** + * 开启自动弹出头盔;1是 0否 + */ + private String autoPopupHelmet; + + /** + * 头盔不在位用车限制;1是 0否 + */ + private String nohelmetLimit; + + /** + * 开启强制归还头盔;1是 0否 + */ + private String forceHelmetReturn; + + /** + * 是否取头盔通电;1是 0否 + */ + private String poweronHelmetTaking; + + /** + * 是否佩戴头盔通电;1是 0否 + */ + private String poweronHelmetPutting; + + /** + * 临时锁车需要归还头盔;1是 0否 + */ + private String returnHelmetTempLock; + + /** + * 桩位外是否可借车;1是 0否 + */ + private String borrowOutside; + + /** + * 调度中禁止骑行;1是 0否 + */ + private String forbidWhileDispatch; + + /** + * 是否关闭还车区域限制;1是 0否 + */ + private String disableReturnLimit; + + /** + * 是否开启道钉断电;1是 0否 + */ + private String spikePoweroff; + + /** + * 禁行区不可借车;1是 0否 + */ + private String forbidZoneNoborrow; + + /** + * 用车最低余额 + */ + private BigDecimal minimumAmount; + + /** + * 人脸验证间隔 + */ + private String verificationInterval; + + /** + * 智能跳过人脸开关 + */ + private String intelligentSkipping; + + /** + * 跳过人脸错误次数 + */ + private Integer skipErrorCount; + + /** + * 跳过人脸时间 + */ + private Integer skipTime; + + /** + * 是否开启低电提醒 + */ + private String lowBatteryReminder; + + /** + * 低电提醒频率 + */ + private Integer lowBatteryReminderFrequency; + + /** + * 区域外可用车时间 + */ + private Integer useOutTime; + + /** + * 区域外临时通电时间 + */ + private Integer outTempPoweredOnTime; + +} diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSysRoperatesetService.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSysRoperatesetService.java index 34dd27a9..ba9a6905 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSysRoperatesetService.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/EbikeSysRoperatesetService.java @@ -1,14 +1,37 @@ package com.cdzy.ebikeoperate.service; -import com.cdzy.ebikeoperate.model.pojo.EbikeSysRoperateset; +import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeSysRoperatesetsDto; import com.mybatisflex.core.service.IService; +import com.cdzy.ebikeoperate.model.pojo.EbikeSysRoperateset; /** - * 区域运营信息配置表 服务层。 + * 区域运营信息配置 服务层。 * - * @author user - * @since 2025-04-28 + * @author dingchao + * @since 2025-04-15 */ public interface EbikeSysRoperatesetService extends IService { + /** + * 根据区域id查询运营信息配置 + * + * @param regionId 区域id + * @return + */ + EbikeSysRoperateset getByRegionId(String regionId); + /** + * 根据区域id删除运营信息配置 + * + * @param regionId 区域id + * @return + */ + Boolean deleteByRegionId(String regionId); + + /** + * 保存运营区域配置信息 + * + * @param reqEbikeSysRoperatesetsDto + * @return + */ + Boolean save(ReqEbikeSysRoperatesetsDto reqEbikeSysRoperatesetsDto); } diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSysRoperatesetServiceImpl.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSysRoperatesetServiceImpl.java index 24672f32..55432084 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSysRoperatesetServiceImpl.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSysRoperatesetServiceImpl.java @@ -1,18 +1,66 @@ package com.cdzy.ebikeoperate.service.impl; -import com.cdzy.ebikeoperate.model.pojo.EbikeSysRoperateset; +import com.cdzy.ebikeoperate.mapper.EbikeSysLinktelMapper; +import com.cdzy.ebikeoperate.mapper.EbikeSysOperateSetMapper; +import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeSysRoperatesetsDto; +import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.cdzy.ebikeoperate.model.pojo.EbikeSysRoperateset; import com.cdzy.ebikeoperate.mapper.EbikeSysRoperatesetMapper; import com.cdzy.ebikeoperate.service.EbikeSysRoperatesetService; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import static com.cdzy.ebikeoperate.model.pojo.table.EbikeSysLinktelTableDef.EBIKE_SYS_LINKTEL; +import static com.cdzy.ebikeoperate.model.pojo.table.EbikeSysRoperatesetTableDef.EBIKE_SYS_ROPERATESET; /** * 区域运营信息配置表 服务层实现。 * - * @author user - * @since 2025-04-28 + * @author dingchao + * @since 2025-04-15 */ +@Slf4j @Service -public class EbikeSysRoperatesetServiceImpl extends ServiceImpl implements EbikeSysRoperatesetService{ +public class EbikeSysRoperatesetServiceImpl extends ServiceImpl implements EbikeSysRoperatesetService { + @Resource + private EbikeSysOperateSetMapper ebikeSysOperateSetMapper; + @Resource + private EbikeSysLinktelMapper ebikeSysLinktelMapper; + + @Override + public EbikeSysRoperateset getByRegionId(String regionId) { + QueryWrapper query = QueryWrapper.create() + .where(EBIKE_SYS_ROPERATESET.REGIN_ID.eq(regionId)); + return getOne(query); + } + + @Transactional + @Override + public Boolean deleteByRegionId(String regionId) { + try { + ebikeSysOperateSetMapper.deleteByCondition(EBIKE_SYS_LINKTEL.REGIN_ID.eq(regionId)); + ebikeSysLinktelMapper.deleteByCondition(EBIKE_SYS_LINKTEL.REGIN_ID.eq(regionId)); + remove(EBIKE_SYS_ROPERATESET.REGIN_ID.eq(regionId)); + return true; + } catch (Exception e) { + log.error("删除区域运营信息配置表失败, regionId:{}", regionId, e); + return false; + } + } + + /** + * 运营区域信息保存 + * + * @param reqEbikeSysRoperatesetsDto + * @return + */ + @Override + public Boolean save(ReqEbikeSysRoperatesetsDto reqEbikeSysRoperatesetsDto) { + + return null; + } }