From a830a73fd10a21e3793c79a35be4e532de124c6f Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期二, 17 十月 2023 17:25:16 +0800
Subject: [PATCH] 10.17.1
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java | 16 +-
cloud-server-other/src/main/resources/mapper/TGameConfigMapper.xml | 8 +
cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TSiteLockDTO.java | 8
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js | 83 ++++++++++++++++
cloud-server-other/src/main/java/com/dsh/other/service/TGameConfigService.java | 3
cloud-server-other/src/main/java/com/dsh/other/controller/SiteLockController.java | 1
cloud-server-other/src/main/java/com/dsh/other/mapper/TGameConfigMapper.java | 3
cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/TSiteLockDTO.java | 8
cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java | 5
cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameConfigServiceImpl.java | 6 +
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSiteLock.js | 4
cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html | 53 +++++++++-
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js | 95 +++++++++++++++---
13 files changed, 249 insertions(+), 44 deletions(-)
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TSiteLockDTO.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TSiteLockDTO.java
index 3feb72e..7197e80 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TSiteLockDTO.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TSiteLockDTO.java
@@ -21,15 +21,15 @@
/**
* 锁定开始时间
*/
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date startTime;
/**
* 锁定结束时间
*/
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date endTime;
-
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private String ssTime;
-
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private String eeTime;
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
index f31cd13..7b8a5aa 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
@@ -201,13 +201,15 @@
@RequestMapping("/addSiteLock")
@ResponseBody
public Object addSiteLock(@RequestBody TSiteLockDTO dto){
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- try {
- dto.setStartTime(simpleDateFormat.parse(dto.getSsTime()));
- dto.setEndTime(simpleDateFormat.parse(dto.getEeTime()));
- } catch (ParseException e) {
- e.printStackTrace();
- }
+// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+// try {
+// dto.setStartTime(simpleDateFormat.parse(dto.getSsTime()));
+// dto.setEndTime(simpleDateFormat.parse(dto.getEeTime()));
+// } catch (ParseException e) {
+// e.printStackTrace();
+// }
+
+ System.out.println(dto);
Object o = siteLockClient.addSiteLock(dto);
return ResultUtil.success(o);
}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html
index 4423bc2..57a1167 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html
@@ -52,6 +52,8 @@
<div class="form-group" >
<label class="col-sm-3 control-label">*所属运营商:</label>
<div class="col-sm-8">
+
+
<select style="width: 300px" class="form-control" id="yys" name="yys" onchange="TSite.oneChangeYys(this)">
<option style="width: 300px" value="">选择运营商</option>
@for(obj in yysList){
@@ -95,9 +97,9 @@
<label class="col-sm-3 control-label">*可预约时间段:</label>
<!-- <input style="width: 300px" class="form-control" type="time">-->
<div class="col-sm-9" style="display: flex">
- <input style="width: 136px;" value="开始时间" id="start-time" class="form-control" type="time" onchange="updateTime(1)">
+ <input style="width: 136px;" value="开始时间" id="start-time" class="form-control" type="time" >
<span style="margin-top: 7px"> 至 </span>
- <input style="width: 136px;" value="结束时间" id="end-time" class="form-control" type="time" onchange="updateTime(2)">
+ <input style="width: 136px;" value="结束时间" id="end-time" class="form-control" type="time" >
</div>
</div>
@@ -105,7 +107,7 @@
<label class="col-sm-3 control-label">*现金价格:</label>
<div class="col-sm-9" style="display: flex;">
<input style="width: 300px" class="form-control" id="cashPrice" name="playPaiCoin" placeholder="请输入价格" type="text">
- <span style="margin-left: 5px;margin-top: 5px">元/半小时</span>
+ <span style="margin-left: 5px;margin-top: 5px" id="priceLabel3">元/半小时</span>
</div>
</div>
@@ -113,7 +115,7 @@
<label class="col-sm-3 control-label">*玩湃币价格:</label>
<div class="col-sm-9" style="display: flex;">
<input style="width: 300px" class="form-control" id="playPaiCoin" name="playPaiCoin" placeholder="请输入价格" type="text">
- <span style="margin-left: 5px;margin-top: 5px">币/半小时</span>
+ <span style="margin-left: 5px;margin-top: 5px" id="priceLabel4">币/半小时</span>
</div>
</div>
<div class="form-group" id="siteMore" style=" margin-left: 255px;">
@@ -131,7 +133,7 @@
<label class="col-sm-3 control-label">*现金价格:</label>
<div class="col-sm-9" style="display: flex;">
<input style="width: 300px" class="form-control" id="cashPriceOne" name="playPaiCoin" placeholder="请输入价格" type="text">
- <span style="margin-left: 5px;margin-top: 5px">元/半小时</span>
+ <span id="priceLabel" style="margin-left: 5px;margin-top: 5px">元/半小时</span>
</div>
</div>
@@ -139,7 +141,7 @@
<label class="col-sm-3 control-label">*玩湃币价格:</label>
<div class="col-sm-9" style="display: flex;">
<input style="width: 300px" class="form-control" id="playPaiCoinOne" name="playPaiCoin" placeholder="请输入价格" type="text">
- <span style="margin-left: 5px;margin-top: 5px">币/半小时</span>
+ <span id="priceLabel1" style="margin-left: 5px;margin-top: 5px">币/半小时</span>
</div>
</div>
@@ -219,7 +221,21 @@
<script src="${ctxPath}/js/vue/vue.js"></script>
<script src="${ctxPath}/js/elementui/index.js"></script>
<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css">
+<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" rel="stylesheet" />
+<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
<script>
+ $(document).ready(function() {
+ $('#yys').select2({
+ width: '300px',
+ placeholder: '选择运营商',
+ allowClear: true,
+ minimumResultsForSearch: 1 // To disable the search box, set this value to Infinity
+ });
+ });
+
+
+
+
var vue2 = new Vue({
el: '#app1',
props: {
@@ -254,6 +270,10 @@
created() {
},
});
+
+
+
+
laydate.render({
elem: '#start-time', type: "time", format: "HH:mm", ready: formatminutes
});
@@ -352,6 +372,27 @@
}
});
function updateTime1() {
+ var selectedValue = document.getElementById("siteTypeOne").value;
+ var priceLabel = document.getElementById("priceLabel");
+ var priceLabel1 = document.getElementById("priceLabel1");
+ var priceLabel3 = document.getElementById("priceLabel3");
+ var priceLabel4 = document.getElementById("priceLabel4");
+
+ if (selectedValue === "智慧场地") {
+ console.log("=============智慧场地=")
+ priceLabel.innerText = "元/15min";
+ priceLabel1.innerText = "元/15min";
+ priceLabel3.innerText = "元/15min";
+ priceLabel4.innerText = "元/15min";
+ } else {
+ priceLabel.innerText = "元/半小时";
+ priceLabel1.innerText = "元/半小时";
+ priceLabel3.innerText = "元/半小时";
+ priceLabel4.innerText = "元/半小时";
+ }
+
+
+
$("#end-time").val('');
$("#start-time").val('');
}
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
index 14fbd63..8b9c64e 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
@@ -170,7 +170,10 @@
ajax.start();
};
TSite.oneChangeYys = function(e){
- var oneId=$(e).val();
+
+ var oneId= $("input[name='pt']:checked").val()
+
+ console.log("===========oneId=========="+oneId)
var SelectValue="";
var getSelectValueMenbers = $("input[name='pt']:checked").each(function(j) {
if (j >= 0) {
@@ -182,6 +185,12 @@
}
var ajax = new $ax(Feng.ctxPath + "/tSite/getChangeOne", function(data){
if(data!=null){
+ // var content1 = '<option value="0">平台</option>';
+ if (typeof(oneId) != "undefined") {
+ $("#yys").prop('disabled', true);
+ }
+
+
var content='<option value="">选择门店</option>';
$.each(data, function(k,v) {
content += "<option value='"+v.id+"'>"+v.name+"</option>";
@@ -189,8 +198,20 @@
$("#store").empty().append(content);
}
});
+
+ if (typeof(oneId) == "undefined"){
+ console.log("===============")
+
+ var button = document.getElementById("yys");
+ button.removeAttribute("disabled");
+
+ }
+
ajax.set("oneId",oneId);
ajax.start();
+
+
+
};
// 场地管理首页 选择对应的省市
// 传1是场地管理首页 传2是场地管理添加页面
@@ -442,6 +463,66 @@
console.log(data.typeName)
+
+ if (data.typeName === "智慧场地"){
+ console.log("===========这是智慧球场")
+
+ console.log("====="+data.appointmentStartTime)
+
+ var value = data.appointmentStartTime;
+ var lastTwoDigits = value.slice(-2);
+
+ if (lastTwoDigits === "00" || lastTwoDigits === "15" || lastTwoDigits === "30" || lastTwoDigits === "45") {
+ console.log("Last two digits are 00, 15, 30, or 45");
+ } else {
+ Feng.error("智慧场地的可预约时间段是15分钟的倍数")
+ return;
+
+ }
+
+
+ var value1 = data.appointmentEndTime;
+ var lastTwoDigits1 = value1.slice(-2);
+
+ if (lastTwoDigits1 === "00" || lastTwoDigits1 === "15" || lastTwoDigits1 === "30" || lastTwoDigits1 === "45") {
+ console.log("Last two digits are 00, 15, 30, or 45");
+ } else {
+ Feng.error("智慧场地的可预约时间段是15分钟的倍数")
+ return;
+
+ }
+
+
+ }else {
+ console.log("===========这是普通球场")
+
+ console.log("====="+data.appointmentStartTime)
+ var value = data.appointmentStartTime;
+ var lastTwoDigits = value.slice(-2);
+
+ if (lastTwoDigits === "00" || lastTwoDigits === "30" ) {
+ console.log("Last two digits are 00, 15, 30, or 45");
+ } else {
+ Feng.info("普通场地可预约时间段需是30分钟的倍数")
+ return;
+ }
+
+
+ var value1 = data.appointmentEndTime;
+ var lastTwoDigits1 = value1.slice(-2);
+
+ if (lastTwoDigits1 === "00"|| lastTwoDigits1 === "30" ) {
+ console.log("Last two digits are 00, 15, 30, or 45");
+ } else {
+ Feng.info("普通场地可预约时间段需是30分钟的倍数")
+ return;
+
+ }
+
+
+
+ }
+
var SelectValue="";
var getSelectValueMenbers = $("input[name='pt']:checked").each(function(j) {
if (j >= 0) {
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSiteLock.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSiteLock.js
index 5ed6829..837e4e4 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSiteLock.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSiteLock.js
@@ -23,8 +23,8 @@
var endTime = $("#end-time").val().replace("T"," ");
data1 = {
siteId:id,
- ssTime:startTime,
- eeTime:endTime
+ startTime:startTime,
+ endTime:endTime
};
$.ajax({
url: Feng.ctxPath + "/tSite/addSiteLock",
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
index c2a2054..510c926 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
@@ -226,7 +226,64 @@
var eh =data.appointmentEndTime.split(':')[0];
var em =data.appointmentEndTime.split(':')[1];
+ if (data.typeName === "智慧场地"){
+ console.log("===========这是智慧球场")
+ console.log("====="+data.appointmentStartTime)
+
+ var value = data.appointmentStartTime;
+ var lastTwoDigits = value.slice(-2);
+
+ if (lastTwoDigits === "00" || lastTwoDigits === "15" || lastTwoDigits === "30" || lastTwoDigits === "45") {
+ console.log("Last two digits are 00, 15, 30, or 45");
+ } else {
+ Feng.error("智慧场地的可预约时间段是15分钟的倍数")
+ return;
+
+ }
+
+
+ var value1 = data.appointmentEndTime;
+ var lastTwoDigits1 = value1.slice(-2);
+
+ if (lastTwoDigits1 === "00" || lastTwoDigits1 === "15" || lastTwoDigits1 === "30" || lastTwoDigits1 === "45") {
+ console.log("Last two digits are 00, 15, 30, or 45");
+ } else {
+ Feng.error("智慧场地的可预约时间段是15分钟的倍数")
+ return;
+
+ }
+
+
+ }else {
+ console.log("===========这是普通球场")
+
+ console.log("====="+data.appointmentStartTime)
+ var value = data.appointmentStartTime;
+ var lastTwoDigits = value.slice(-2);
+
+ if (lastTwoDigits === "00" || lastTwoDigits === "30" ) {
+ console.log("Last two digits are 00, 15, 30, or 45");
+ } else {
+ Feng.info("普通场地可预约时间段需是30分钟的倍数")
+ return;
+ }
+
+
+ var value1 = data.appointmentEndTime;
+ var lastTwoDigits1 = value1.slice(-2);
+
+ if (lastTwoDigits1 === "00"|| lastTwoDigits1 === "30" ) {
+ console.log("Last two digits are 00, 15, 30, or 45");
+ } else {
+ Feng.info("普通场地可预约时间段需是30分钟的倍数")
+ return;
+
+ }
+
+
+
+ }
var SelectValue="";
@@ -494,25 +551,25 @@
$(function () {
TSiteInfo.editor = UE.getEditor('editor');
// 限制分钟选项为 0 和 30
- var timeInputs = document.querySelectorAll('input[type="time"]');
- timeInputs.forEach(function(input) {
- input.addEventListener('change', function() {
- var selectedTime = input.value;
- var hour = selectedTime.split(':')[0];
- var minute = selectedTime.split(':')[1];
- if (minute < 30 &&minute>0) {
- minute = '30';
- } else if (minute >30) {
- hour++;
- minute = '00';
- if (hour<10){
- hour = '0'+hour;
- }
- }
- input.value = hour + ':' + minute;
-
- });
- });
+ // var timeInputs = document.querySelectorAll('input[type="time"]');
+ // timeInputs.forEach(function(input) {
+ // input.addEventListener('change', function() {
+ // var selectedTime = input.value;
+ // var hour = selectedTime.split(':')[0];
+ // var minute = selectedTime.split(':')[1];
+ // if (minute < 30 &&minute>0) {
+ // minute = '30';
+ // } else if (minute >30) {
+ // hour++;
+ // minute = '00';
+ // if (hour<10){
+ // hour = '0'+hour;
+ // }
+ // }
+ // input.value = hour + ':' + minute;
+ //
+ // });
+ // });
Feng.initValidator("carInfoForm", TSiteInfo.validateFields);
var carPhoto = new $WebUpload("img");
carPhoto.setUploadBarId("progressBar");
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
index e9ff656..38cf153 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
@@ -66,7 +66,10 @@
List<TGame> list = gameService.list(new LambdaQueryWrapper<TGame>().eq(TGame::getSiteId, siteId).eq(TGame::getStoreId, storeId));
if(list.size()>0){
Integer id = list.get(0).getId();
- tGameConfigs = gameConfigService.list(new LambdaQueryWrapper<TGameConfig>().eq(TGameConfig::getOtherId, id));
+// tGameConfigs = gameConfigService.list(new LambdaQueryWrapper<TGameConfig>().eq(TGameConfig::getOtherId, id));
+
+ tGameConfigs = gameConfigService.listJs(id);
+
}
return ResultUtil.success(tGameConfigs);
}catch (Exception e){
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteLockController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteLockController.java
index 5ad9f9d..a59728e 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteLockController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteLockController.java
@@ -71,6 +71,7 @@
@PostMapping("/siteLock/addSiteLock")
public Object addSiteLock(@RequestBody TSiteLockDTO siteLock){
SiteLock siteLock1 = new SiteLock();
+ System.out.println("========siteLock==="+siteLock);
BeanUtils.copyProperties(siteLock,siteLock1);
siteLockService.save(siteLock1);
return siteLock1.getId();
diff --git a/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameConfigMapper.java b/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameConfigMapper.java
index fec77ec..2c4f578 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameConfigMapper.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameConfigMapper.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsh.other.entity.TGameConfig;
+import java.util.List;
+
/**
* <p>
* 游戏配置 Mapper 接口
@@ -14,4 +16,5 @@
*/
public interface TGameConfigMapper extends BaseMapper<TGameConfig> {
+ List<TGameConfig> listJs(Integer id);
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/TSiteLockDTO.java b/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/TSiteLockDTO.java
index e5e67cc..fd28acb 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/TSiteLockDTO.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/TSiteLockDTO.java
@@ -25,15 +25,15 @@
/**
* 锁定开始时间
*/
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date startTime;
/**
* 锁定结束时间
*/
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date endTime;
-
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private String ssTime;
-
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private String eeTime;
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/TGameConfigService.java b/cloud-server-other/src/main/java/com/dsh/other/service/TGameConfigService.java
index a46cc23..59b5da2 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/TGameConfigService.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/TGameConfigService.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.other.entity.TGameConfig;
+import java.util.List;
+
/**
* <p>
* 游戏配置 服务类
@@ -14,4 +16,5 @@
*/
public interface TGameConfigService extends IService<TGameConfig> {
+ List<TGameConfig> listJs(Integer id);
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameConfigServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameConfigServiceImpl.java
index 38cd9ca..7996707 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameConfigServiceImpl.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameConfigServiceImpl.java
@@ -6,6 +6,8 @@
import com.dsh.other.service.TGameConfigService;
import org.springframework.stereotype.Service;
+import java.util.List;
+
/**
* <p>
* 游戏配置 服务实现类
@@ -17,4 +19,8 @@
@Service
public class TGameConfigServiceImpl extends ServiceImpl<TGameConfigMapper, TGameConfig> implements TGameConfigService {
+ @Override
+ public List<TGameConfig> listJs(Integer id) {
+ return this.baseMapper.listJs(id);
+ }
}
diff --git a/cloud-server-other/src/main/resources/mapper/TGameConfigMapper.xml b/cloud-server-other/src/main/resources/mapper/TGameConfigMapper.xml
index 2cdb2f3..e2e8d94 100644
--- a/cloud-server-other/src/main/resources/mapper/TGameConfigMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/TGameConfigMapper.xml
@@ -3,4 +3,12 @@
<mapper namespace="com.dsh.other.mapper.TGameConfigMapper">
+ <select id="listJs" resultType="com.dsh.other.entity.TGameConfig">
+ select gc.* ,js.jieshao,js.vedio
+ from t_game_config gc
+ left join t_js js on gc.gameId = js.id
+ where gc.otherId = #{id}
+
+
+ </select>
</mapper>
--
Gitblit v1.7.1