Commit d37e1db2 authored by yangshuxing's avatar yangshuxing

成绩审核js交互

parent 21a557b1
package com.dlbridge.jadp.plugins.cmpt.bean;
import lombok.Data;
@Data
public class Customer {
private int id;
private String mobile;
private int cmptId;
}
...@@ -42,9 +42,9 @@ public interface CmptMapper { ...@@ -42,9 +42,9 @@ public interface CmptMapper {
List<CmptVo> queryUserCmptList(Integer userId); List<CmptVo> queryUserCmptList(Integer userId);
long countCount(@Param("keyword") String keyword); long countCount(@Param("keyword") String keyword,@Param("type") int type);
List<Cmpt> queryCmpt(@Param("page") Pageable page, @Param("keyword") String keyword); List<Cmpt> queryCmpt(@Param("page") Pageable page, @Param("keyword") String keyword,@Param("type") int type);
void updateCmpt(Cmpt cmpt); void updateCmpt(Cmpt cmpt);
...@@ -63,4 +63,6 @@ public interface CmptMapper { ...@@ -63,4 +63,6 @@ public interface CmptMapper {
void insertNeuUser(@Param("user") NeuUser user); void insertNeuUser(@Param("user") NeuUser user);
Cmpt getCmptFromEnroll(Integer cmptId); Cmpt getCmptFromEnroll(Integer cmptId);
void updateUserCmptById(@Param("cmpt") UserCmpt cmpt);
} }
...@@ -71,12 +71,17 @@ ...@@ -71,12 +71,17 @@
</select> </select>
<select id="queryUserCmpt" resultType="com.dlbridge.jadp.plugins.cmpt.dao.model.UserCmpt"> <select id="queryUserCmpt" resultType="com.dlbridge.jadp.plugins.cmpt.dao.model.UserCmpt">
select user_id userId,cmpt_id cmptId,mark_no enrollId,status select id,user_id userId,cmpt_id cmptId,mark_no enrollId,status
from gk_user_cmpt_map from gk_user_cmpt_map
where cmpt_id = #{cmptId} and mark_no=#{enrollId} and user_id=#{userId} and `status`=1 where cmpt_id = #{cmptId} and user_id=#{userId} and `status`=1
limit 1 limit 1
</select> </select>
<update id="updateUserCmptById">
update gk_user_cmpt_map
set mark_no = #{cmpt.enrollId}
where id=#{cmpt.id}
</update>
<insert id="saveUserCmpt"> <insert id="saveUserCmpt">
insert gk_user_cmpt_map(user_id ,cmpt_id ,mark_no,status,create_time) insert gk_user_cmpt_map(user_id ,cmpt_id ,mark_no,status,create_time)
...@@ -97,36 +102,45 @@ ...@@ -97,36 +102,45 @@
<select id="countCount" resultType="long"> <select id="countCount" resultType="long">
select count(1) select count(1)
from gk_cmpt from gk_cmpt a left join common.neucmpt b on a.cmpt_id=b.gtCmptId
where del_flag=0 left join raceenroll.competition c on b.gcmptid=c.cmptid
where a.del_flag=0
<include refid="cmpt-where-sql"/> <include refid="cmpt-where-sql"/>
</select> </select>
<select id="queryCmpt" resultType="com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt"> <select id="queryCmpt" resultType="com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt">
select cmpt_id, select a.cmpt_id,
cmpt_name as cmptName, a.cmpt_name as cmptName,
logo, a.logo,
date_format(start_time,'%Y-%m-%d') startTime, date_format(start_time,'%Y-%m-%d') startTime,
bg_color as cmptbgColor, a.bg_color as cmptbgColor,
create_by AS "createBy", a.create_by AS "createBy",
create_date AS "createDate", a.create_date AS "createDate",
update_by AS "updateBy", a.update_by AS "updateBy",
update_date AS "updateDate", a.update_date AS "updateDate",
del_flag AS "delFlag" a.del_flag AS "delFlag"
from gk_cmpt from gk_cmpt a left join common.neucmpt b on a.cmpt_id=b.gtCmptId
where del_flag=0 left join raceenroll.competition c on b.gcmptid=c.cmptid
where a.del_flag=0
<include refid="cmpt-where-sql"/> <include refid="cmpt-where-sql"/>
order by create_date desc order by a.create_date desc
limit #{page.offset},#{page.size} limit #{page.offset},#{page.size}
</select> </select>
<sql id="cmpt-where-sql"> <sql id="cmpt-where-sql">
<if test="@org.apache.commons.lang3.StringUtils@isNotBlank(keyword)"> <if test="@org.apache.commons.lang3.StringUtils@isNotBlank(keyword)">
and cmpt_name like concat('%',#{keyword},'%') and a.cmpt_name like concat('%',#{keyword},'%')
</if> </if>
<if test="true"> <if test="true">
and cmpt_status = 2 and a.cmpt_status = 2
</if> </if>
<if test="type == 1">
and now() >= c.openTime and c.deadLine >= now()
</if>
</sql> </sql>
<update id="updateCmpt"> <update id="updateCmpt">
...@@ -177,7 +191,8 @@ ...@@ -177,7 +191,8 @@
</update> </update>
<select id="getCmptFromEnroll" resultType="com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt"> <select id="getCmptFromEnroll" resultType="com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt">
select cmptName,date_format(startTime,'%Y-%m-%d %H:%s:%i') startTime from select cmptName,date_format(startTime,'%Y-%m-%d %H:%i:%s') startTime,
date_format(ifnull(endTime,now()),'%Y-%m-%d %H:%i:%s') endTime from
common.neucmpt a inner join raceenroll.competition b on a.gcmptid = b.cmptid common.neucmpt a inner join raceenroll.competition b on a.gcmptid = b.cmptid
where a.gtcmptid=#{cmptid} where a.gtcmptid=#{cmptid}
</select> </select>
......
...@@ -80,7 +80,8 @@ ...@@ -80,7 +80,8 @@
select count(1) select count(1)
from gksite.gk_cmpt_score_rule rule from gksite.gk_cmpt_score_rule rule
inner join gk_cmpt_score_rule_scoreinfo score on rule.id = score.rule_id inner join gk_cmpt_score_rule_scoreinfo score on rule.id = score.rule_id
inner join geerunner.cmpt_enroll enroll on rule.cmpt_id=enroll.cmpt_id and rulemap.mark_no=enroll.nick_id and enroll.del_flg=0 inner join geerunner.cmpt_enroll enroll on rule.cmpt_id=enroll.cmpt_id
and score.mark_no=enroll.nick_id and enroll.del_flg=0
where rule.cmpt_id=#{cmptId} and rule.id=#{ruleId} where rule.cmpt_id=#{cmptId} and rule.id=#{ruleId}
and enroll.cmpt_item=#{roadId} and enroll.cmpt_item=#{roadId}
</select> </select>
......
package com.dlbridge.jadp.plugins.cmpt.dao.mapper;
import com.dlbridge.jadp.plugins.cmpt.bean.Customer;
import org.apache.ibatis.annotations.Param;
public interface CustomerMapper {
Customer getCustomerServiceInfo(Integer cmptId);
void updateCustomer(@Param("item") Customer customer);
void saveCustomer(@Param("item") Customer customer);
}
<?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.dlbridge.jadp.plugins.cmpt.dao.mapper.CustomerMapper">
<select id="getCustomerServiceInfo" resultType="com.dlbridge.jadp.plugins.cmpt.bean.Customer">
select id,mobile,cmpt_id cmptId from gk_customer where cmpt_id=#{cmptId}
</select>
<update id="updateCustomer">
update gk_customer set mobile = #{item.mobile} where id = #{item.id}
</update>
<insert id="saveCustomer" useGeneratedKeys="true" keyColumn="id" keyProperty="item.id">
insert into gk_customer (mobile,cmpt_id,create_time) values (#{item.mobile},#{item.cmptId},now())
</insert>
</mapper>
\ No newline at end of file
...@@ -33,5 +33,6 @@ public class Cmpt extends JaapRecord<Cmpt> { ...@@ -33,5 +33,6 @@ public class Cmpt extends JaapRecord<Cmpt> {
private String cmptbgColor; // 赛事背景颜色 private String cmptbgColor; // 赛事背景颜色
@ApiModelProperty(value = "赛事开始时间", notes = "赛事开始时间") @ApiModelProperty(value = "赛事开始时间", notes = "赛事开始时间")
private String startTime; private String startTime;
@ApiModelProperty(value = "赛事结束时间", notes = "赛事结束时间")
private String endTime;
} }
...@@ -63,6 +63,8 @@ public class CmptService { ...@@ -63,6 +63,8 @@ public class CmptService {
localCmpt.setStartTime(cmpt.getStartTime()); localCmpt.setStartTime(cmpt.getStartTime());
update(localCmpt); update(localCmpt);
} }
localCmpt.setEndTime(cmpt.getEndTime());
return localCmpt; return localCmpt;
} }
}catch (Exception ex){ }catch (Exception ex){
...@@ -95,6 +97,9 @@ public class CmptService { ...@@ -95,6 +97,9 @@ public class CmptService {
if (info != null) { // 找到报名信息 if (info != null) { // 找到报名信息
UserCmpt cmpt = queryUserCmpt(cmptId, userId, info.getMarkNo()); UserCmpt cmpt = queryUserCmpt(cmptId, userId, info.getMarkNo());
if (cmpt != null && cmpt.getStatus() == 1) { //已经绑定 if (cmpt != null && cmpt.getStatus() == 1) { //已经绑定
logger.info("已绑定数据,需更新:" + cmpt);
cmpt.setEnrollId(info.getMarkNo());
cmptMapper.updateUserCmptById(cmpt);
return info; return info;
} else { } else {
UserCmpt userCmpt = new UserCmpt().setCmptId(cmptId).setEnrollId(info.getMarkNo()).setUserId(userId).setStatus(1); UserCmpt userCmpt = new UserCmpt().setCmptId(cmptId).setEnrollId(info.getMarkNo()).setUserId(userId).setStatus(1);
...@@ -123,9 +128,9 @@ public class CmptService { ...@@ -123,9 +128,9 @@ public class CmptService {
return cmptMapper.queryUserCmptList(userId); return cmptMapper.queryUserCmptList(userId);
} }
public Page<List<Cmpt>> queryCmpt(Pageable page, String keyword) { public Page<List<Cmpt>> queryCmpt(Pageable page, String keyword, int type) {
long count = cmptMapper.countCount(keyword); long count = cmptMapper.countCount(keyword,type);
List<Cmpt> list = cmptMapper.queryCmpt(page, keyword); List<Cmpt> list = cmptMapper.queryCmpt(page, keyword,type);
return PageFactory.setContent(list, page, count); return PageFactory.setContent(list, page, count);
} }
......
package com.dlbridge.jadp.plugins.cmpt.service;
import com.dlbridge.jadp.plugins.cmpt.bean.Customer;
import com.dlbridge.jadp.plugins.cmpt.dao.mapper.CustomerMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class CustomerService {
@Resource
CustomerMapper customerMapper;
public void updateCustomer(Customer customer){
customerMapper.updateCustomer(customer);
}
public Customer getCusomerServiceInfo(Integer cmptId) {
return customerMapper.getCustomerServiceInfo(cmptId);
}
public void saveOrUpdate(Customer customer) {
if(customer.getId() > 0){
customerMapper.updateCustomer(customer);
}else{
customerMapper.saveCustomer(customer);
}
}
}
package com.dlbridge.jadp.plugins.cmpt.web;
import com.dlbridge.jadp.plugins.cmpt.bean.Customer;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.dlbridge.jadp.plugins.cmpt.service.CmptService;
import com.dlbridge.jadp.plugins.cmpt.service.CustomerService;
import com.neusoft.www.utils.web.Result;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
@Controller
@RequestMapping("gk/customer")
public class CustomerController {
@Resource
private CmptService cmptService;
@Resource
CustomerService customerService;
@RequestMapping("index/{cmptId}")
public ModelAndView saveOrUpdate(@PathVariable("cmptId") Integer cmptId, ModelAndView mv){
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
mv.addObject("cmpt", cmpt);
mv.setViewName("cmpt/customer");
return mv;
}
@RequestMapping("{cmptId}")
@ResponseBody
public Result getCusomerServiceInfo(@PathVariable("cmptId") Integer cmptId){
Customer customer = customerService.getCusomerServiceInfo(cmptId);
return Result.success().setContent(customer);
}
@RequestMapping("saveOrUpdate")
@ResponseBody
public Result saveOrUpdate(Customer customer){
customerService.saveOrUpdate(customer);
return Result.success().setContent(customer);
}
}
...@@ -20,6 +20,7 @@ import io.swagger.annotations.*; ...@@ -20,6 +20,7 @@ import io.swagger.annotations.*;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.HashOperations;
...@@ -118,6 +119,8 @@ public class MicroApiController { ...@@ -118,6 +119,8 @@ public class MicroApiController {
@Resource @Resource
private CmptScoreRuleScoreInfoService cmptScoreRuleScoreInfoService; private CmptScoreRuleScoreInfoService cmptScoreRuleScoreInfoService;
@Resource
CustomerService customerService;
/** /**
* @return * @return
*/ */
...@@ -230,6 +233,19 @@ public class MicroApiController { ...@@ -230,6 +233,19 @@ public class MicroApiController {
return Result.success().setContent(cmpt); return Result.success().setContent(cmpt);
} }
@GetMapping(value = "/customer/{cmptId}")
@ApiResponses({@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
public Result getCustomer(@PathVariable("cmptId") Integer cmptId) {
Customer customer = customerService.getCusomerServiceInfo(cmptId);
Map<String,String> result = new HashMap<>();
result.put("mobile",customer.getMobile());
return Result.success().setContent(result);
}
@PostMapping(value = "/cmpt") @PostMapping(value = "/cmpt")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = 200, message = "成功"),
...@@ -240,8 +256,9 @@ public class MicroApiController { ...@@ -240,8 +256,9 @@ public class MicroApiController {
@ApiImplicitParam(value = "条数", name = "size", required = false, paramType = "query"), @ApiImplicitParam(value = "条数", name = "size", required = false, paramType = "query"),
@ApiImplicitParam(value = "关键字", name = "keyword", required = false)}) @ApiImplicitParam(value = "关键字", name = "keyword", required = false)})
@ApiOperation(value = "赛事列表", notes = "赛事列表,与查询接口一致", tags = "首页接口") @ApiOperation(value = "赛事列表", notes = "赛事列表,与查询接口一致", tags = "首页接口")
public Page<List<Cmpt>> cmpt(@ApiIgnore Pageable page, String keyword) { public Page<List<Cmpt>> cmpt(@ApiIgnore Pageable page, String keyword,HttpServletRequest request) {
Page<List<Cmpt>> result = cmptService.queryCmpt(page, keyword); int type = NumberUtils.toInt(request.getParameter("type"), 0);
Page<List<Cmpt>> result = cmptService.queryCmpt(page, keyword,type);
result.setCode(200); result.setCode(200);
return result; return result;
} }
......
spring.profiles.active=test spring.profiles.active=dev
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!doctype html>
<html>
<head>
<title>赛客客服</title>
<!-- Bootstrap CSS-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/vendor/bootstrap/css/bootstrap.min.css">
<!-- Font Awesome CSS-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/vendor/font-awesome/css/font-awesome.min.css">
<!-- Fontastic Custom icon font-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/fontastic.css">
<!-- Google fonts - Poppins -->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/font-css.css">
<!-- theme stylesheet-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/style.default.css" id="theme-stylesheet">
<!-- Custom stylesheet - for your changes-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/juery-ui-1.12.css">
<!-- Favicon-->
<link rel="shortcut icon" href="img/favicon.ico">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css">
<link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css">
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet.css?v=<%=System.currentTimeMillis()%>"/>
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet_label.css"/>
<link rel="stylesheet" href="${ctxStatic}/cmpt/road.css"/>
<link rel="stylesheet" href="${ctxStatic}/cmpt/road-new.css"/>
<script src="${ctxStatic}/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<script src="${ctxStatic}/newdermon/vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="${ctxStatic}/layer/layer.js"></script>
<link rel="stylesheet" href="${ctxStatic}/layer/skin/layer.css">
<style>
.submit{
display: inline-block;
width: 120px;
height: 45px;
text-align: center;
line-height: 45px;
color: white;
background: #ce3939;
border-radius: 4px;
letter-spacing: 1px;
cursor: pointer;
font-size: 20px;
}
.input{
height: 50px;
width: 420px;
line-height: 50px;
border: 2px solid #F4F4F4;
border-left: 0px !important;
border-radius:4px;
margin-right: 30px;
margin-left: 0px;
padding-left: 12px;
}
.title-new{
font-size: 24px;
color: #333333;
}
</style>
</head>
<body>
<jsp:include page="../common/header.jsp"></jsp:include>
<div class="page-content d-flex align-items-stretch main-body">
<jsp:include page="../common/menu.jsp"></jsp:include>
<div class="rght" id="customer">
<div class="title-new">
<span class="title">赛事客服</span>
</div>
<div style="display: flex;margin: auto;justify-content: center;margin: 30px 0px; align-items: center;">
<input class="input" type="text" v-model="customer.mobile" placeholder="请输入客服电话">
<span v-on:click="save" class="submit">保存</span>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var customerV = new Vue({
el : '#customer',
data : {
customer : {id:-1,mobile:'',cmptId:getCId()}
},
methods:{
save : function () {
var telNo = $.trim(customerV.$data.customer.mobile);
var telphone = /^(0|86|17951)?(13[0-9]|15[012356789]|17[01678]|18[0-9]|14[57])[0-9]{8}$/;
var fixedTel = /^(0[0-9]{2,3}\-)([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
if(!telphone.test(telNo)&&!fixedTel.test(telNo)){
layer.alert('联系电话格式不正确,请输入正确的固定电话或手机号');
return false;
}
$.ajax({
url : '/gk/customer/saveOrUpdate',
data : customerV.$data.customer,
type:'post',
beforeSend:function(){
layer.load()
},
success:function (data) {
customerV.$data.customer = data.content;
layer.msg('保存成功!')
},
complete:function () {
layer.closeAll();
}
})
}
}
});
function getCustomer(){
$.ajax({
url : '/gk/customer/'+getCId(),
success:function (data) {
if(data.content){
customerV.$data.customer = data.content;
}
}
});
}
getCustomer();
</script>
</body>
</html>
...@@ -166,13 +166,19 @@ ...@@ -166,13 +166,19 @@
<span class="menu-txt">成绩审核</span> <span class="menu-txt">成绩审核</span>
</a> </a>
</li> </li>
<li class="customer menu-item">
<a href="/gk/customer/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="menuico left-arrow"></span>
<span class="menu-txt">赛事客服</span>
</a>
</li>
</ul> </ul>
</ul> </ul>
</nav> </nav>
<script> <script>
var classes = ['cmptSetting', 'nameList', 'manual', 'contact', var classes = ['cmptSetting', 'nameList', 'manual', 'contact',
'route', 'road', 'equip', 'photo', 'news', 'route', 'road', 'equip', 'photo', 'news',
'banner','score','auto','scan','review']; 'banner','score','auto','scan','review','customer'];
let url = document.location.href; let url = document.location.href;
var done = false; var done = false;
for (var i in classes) { for (var i in classes) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment