Commit 6cf93e68 authored by yangshuxing's avatar yangshuxing

版本开发

parents ddd92fcf cf515407
...@@ -2,7 +2,6 @@ package com.dlbridge.feign; ...@@ -2,7 +2,6 @@ package com.dlbridge.feign;
import com.dlbridge.feign.bean.CmptScoreCheckpoint; import com.dlbridge.feign.bean.CmptScoreCheckpoint;
import com.dlbridge.jadp.config.web.FeignConfig;
import com.dlbridge.jadp.fallback.GeexekScoreFallbackFactory; import com.dlbridge.jadp.fallback.GeexekScoreFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -13,7 +12,7 @@ import java.util.Map; ...@@ -13,7 +12,7 @@ import java.util.Map;
/** /**
* 废弃单独处理成绩工程 * 废弃单独处理成绩工程
*/ */
@FeignClient(name = "geexekscore", configuration = FeignConfig.class, fallbackFactory = GeexekScoreFallbackFactory.class) @FeignClient(name = "geexekscore", fallbackFactory = GeexekScoreFallbackFactory.class)
@RequestMapping("geexekscore/api/v1/cmpt-score-checkpoint") @RequestMapping("geexekscore/api/v1/cmpt-score-checkpoint")
public interface GeexekScoreService { public interface GeexekScoreService {
......
/**
* Copyright (c) 2005-2012 springside.org.cn
*/
package com.dlbridge.jadp.common.beanvalidator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.Validator;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
/**
* JSR303 Validator(Hibernate Validator)工具类.
* <p>
* ConstraintViolation中包含propertyPath, message 和invalidValue等信息.
* 提供了各种convert方法,适合不同的i18n需求:
* 1. List<String>, String内容为message
* 2. List<String>, String内容为propertyPath + separator + message
* 3. Map<propertyPath, message>
* <p>
* 详情见wiki: https://github.com/springside/springside4/wiki/HibernateValidator
*
* @author calvin
* @version 2013-01-15
*/
public class BeanValidators {
/**
* 调用JSR303的validate方法, 验证失败时抛出ConstraintViolationException.
*/
@SuppressWarnings({"unchecked", "rawtypes"})
public static void validateWithException(Validator validator, Object object, Class<?>... groups)
throws ConstraintViolationException {
Set constraintViolations = validator.validate(object, groups);
if (!constraintViolations.isEmpty()) {
throw new ConstraintViolationException(constraintViolations);
}
}
/**
* 辅助方法, 转换ConstraintViolationException中的Set<ConstraintViolations>中为List<message>.
*/
public static List<String> extractMessage(ConstraintViolationException e) {
return extractMessage(e.getConstraintViolations());
}
/**
* 辅助方法, 转换Set<ConstraintViolation>为List<message>
*/
@SuppressWarnings("rawtypes")
public static List<String> extractMessage(Set<? extends ConstraintViolation> constraintViolations) {
List<String> errorMessages = Lists.newArrayList();
for (ConstraintViolation violation : constraintViolations) {
errorMessages.add(violation.getMessage());
}
return errorMessages;
}
/**
* 辅助方法, 转换ConstraintViolationException中的Set<ConstraintViolations>为Map<property, message>.
*/
public static Map<String, String> extractPropertyAndMessage(ConstraintViolationException e) {
return extractPropertyAndMessage(e.getConstraintViolations());
}
/**
* 辅助方法, 转换Set<ConstraintViolation>为Map<property, message>.
*/
@SuppressWarnings("rawtypes")
public static Map<String, String> extractPropertyAndMessage(Set<? extends ConstraintViolation> constraintViolations) {
Map<String, String> errorMessages = Maps.newHashMap();
for (ConstraintViolation violation : constraintViolations) {
errorMessages.put(violation.getPropertyPath().toString(), violation.getMessage());
}
return errorMessages;
}
/**
* 辅助方法, 转换ConstraintViolationException中的Set<ConstraintViolations>为List<propertyPath message>.
*/
public static List<String> extractPropertyAndMessageAsList(ConstraintViolationException e) {
return extractPropertyAndMessageAsList(e.getConstraintViolations(), " ");
}
/**
* 辅助方法, 转换Set<ConstraintViolations>为List<propertyPath message>.
*/
@SuppressWarnings("rawtypes")
public static List<String> extractPropertyAndMessageAsList(Set<? extends ConstraintViolation> constraintViolations) {
return extractPropertyAndMessageAsList(constraintViolations, " ");
}
/**
* 辅助方法, 转换ConstraintViolationException中的Set<ConstraintViolations>为List<propertyPath +separator+ message>.
*/
public static List<String> extractPropertyAndMessageAsList(ConstraintViolationException e, String separator) {
return extractPropertyAndMessageAsList(e.getConstraintViolations(), separator);
}
/**
* 辅助方法, 转换Set<ConstraintViolation>为List<propertyPath +separator+ message>.
*/
@SuppressWarnings("rawtypes")
public static List<String> extractPropertyAndMessageAsList(Set<? extends ConstraintViolation> constraintViolations,
String separator) {
List<String> errorMessages = Lists.newArrayList();
for (ConstraintViolation violation : constraintViolations) {
errorMessages.add(violation.getPropertyPath() + separator + violation.getMessage());
}
return errorMessages;
}
}
\ No newline at end of file
...@@ -46,7 +46,7 @@ public class SecurityInterceptor extends JService implements HandlerInterceptor ...@@ -46,7 +46,7 @@ public class SecurityInterceptor extends JService implements HandlerInterceptor
if(userAgent.indexOf("miniprogram")>-1) {//小程序 if(userAgent.indexOf("miniprogram")>-1) {//小程序
String partnerId = request.getParameter("partnerId"); String partnerId = request.getParameter("partnerId");
if(partnerId == null){ if(partnerId == null){
throw new NoAuthException("未查询到partnerdId,没权限!"); throw new NoAuthException("未查询到partnerdId,没权限!,uri: " + request.getRequestURI());
} }
} }
......
...@@ -3,13 +3,11 @@ ...@@ -3,13 +3,11 @@
*/ */
package com.dlbridge.jadp.common.persistence; package com.dlbridge.jadp.common.persistence;
import java.util.Date; import com.dlbridge.jadp.common.utils.IdGen;
import org.hibernate.validator.constraints.Length;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.dlbridge.jadp.common.utils.IdGen;
import java.util.Date;
/** /**
* 数据Entity类 * 数据Entity类
...@@ -62,7 +60,6 @@ public abstract class JaapRecord<T> extends JRecord<T> { ...@@ -62,7 +60,6 @@ public abstract class JaapRecord<T> extends JRecord<T> {
this.updateDate = new Date(); this.updateDate = new Date();
} }
@Length(min = 0, max = 255)
public String getRemarks() { public String getRemarks() {
return remarks; return remarks;
} }
...@@ -108,7 +105,6 @@ public abstract class JaapRecord<T> extends JRecord<T> { ...@@ -108,7 +105,6 @@ public abstract class JaapRecord<T> extends JRecord<T> {
} }
@JsonIgnore @JsonIgnore
@Length(min = 1, max = 1)
public String getDelFlag() { public String getDelFlag() {
return delFlag; return delFlag;
} }
......
/**
* Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
*/
package com.dlbridge.jadp.common.persistence;
import javax.validation.constraints.NotNull;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.validator.constraints.Length;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.dlbridge.jadp.common.utils.Reflections;
/**
* 数据Entity类
*
* @author ThinkGem
* @version 2014-05-16
*/
public abstract class TreeEntity<T> extends JaapRecord<T> {
private static final long serialVersionUID = 1L;
protected T parent; // 父级编号
protected String parentIds; // 所有父级编号
protected String name; // 机构名称
protected Integer sort; // 排序
public TreeEntity() {
super();
this.sort = 30;
}
public TreeEntity(String id) {
super(id);
}
/**
* 父对象,只能通过子类实现,父类实现mybatis无法读取
*
* @return
*/
@JsonBackReference
@NotNull
public abstract T getParent();
/**
* 父对象,只能通过子类实现,父类实现mybatis无法读取
*
* @return
*/
public abstract void setParent(T parent);
@Length(min = 1, max = 2000)
public String getParentIds() {
return parentIds;
}
public void setParentIds(String parentIds) {
this.parentIds = parentIds;
}
@Length(min = 1, max = 100)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public String getParentId() {
String id = null;
if (parent != null) {
id = (String) Reflections.getFieldValue(parent, "id");
}
return StringUtils.isNotBlank(id) ? id : "0";
}
}
...@@ -5,9 +5,10 @@ import com.dlbridge.jadp.plugins.cmpt.bean.BannerStatistic; ...@@ -5,9 +5,10 @@ import com.dlbridge.jadp.plugins.cmpt.bean.BannerStatistic;
import com.dlbridge.jadp.plugins.cmpt.service.BannerService; import com.dlbridge.jadp.plugins.cmpt.service.BannerService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.commons.collections4.list.TreeList; import org.apache.commons.collections4.list.TreeList;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.redis.connection.jedis.JedisClusterConnection; import org.springframework.data.redis.connection.jedis.JedisClusterConnection;
import org.springframework.data.redis.core.*; import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import redis.clients.jedis.Jedis; import redis.clients.jedis.Jedis;
...@@ -15,7 +16,6 @@ import redis.clients.jedis.JedisPool; ...@@ -15,7 +16,6 @@ import redis.clients.jedis.JedisPool;
import redis.clients.jedis.ScanParams; import redis.clients.jedis.ScanParams;
import redis.clients.jedis.ScanResult; import redis.clients.jedis.ScanResult;
import javax.annotation.PostConstruct;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Collection; import java.util.Collection;
......
package com.dlbridge.jadp.plugins.cmpt;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate;
import com.dlbridge.jadp.plugins.cmpt.service.TemplateService;
import com.neusoft.www.utils.web.Result;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import reactor.core.publisher.Mono;
import javax.annotation.Resource;
import java.util.List;
import java.util.Optional;
@Controller
@RequestMapping("/template")
public class TemplateController {
@Resource
TemplateService templateService;
@RequestMapping("cmpt")
@ResponseBody
public Mono<Result> cmpt(){
List<CmptTemplate> cmptTemplates = templateService.queryAllTemplate();
Result result = Result.fail();
Optional.of(cmptTemplates).ifPresent(r -> {
if(r.size()>0){
result.setCode(200).setContent(cmptTemplates);
}
});
return Mono.just(result);
}
}
...@@ -73,4 +73,12 @@ public interface CmptMapper { ...@@ -73,4 +73,12 @@ public interface CmptMapper {
Partner getParnterByParnterId(String partnerId); Partner getParnterByParnterId(String partnerId);
void updateDayRank(@Param("cmptId") int cmptId,@Param("status") int status); void updateDayRank(@Param("cmptId") int cmptId,@Param("status") int status);
int isUploadProfile(Integer cmptId);
Map<String, String> getPhotoLocation(@Param("cmptId")Integer cmptId,@Param("roadId") Integer roadId);
Map<String, String> getAllStatistic();
Map<String, String> getEnrollUsersByUserMapId(int userMapId);
} }
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
</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 id,user_id userId,cmpt_id cmptId,mark_no enrollId,status select id,user_id userId,cmpt_id cmptId,mark_no enrollId,status,manual_mark_no manualMarkNo
from gk_user_cmpt_map from gk_user_cmpt_map
where cmpt_id = #{cmptId} and user_id=#{userId} and `status`=1 where cmpt_id = #{cmptId} and user_id=#{userId} and `status`=1
limit 1 limit 1
...@@ -81,7 +81,14 @@ ...@@ -81,7 +81,14 @@
<update id="updateUserCmptById"> <update id="updateUserCmptById">
update gk_user_cmpt_map update gk_user_cmpt_map
set mark_no = #{cmpt.enrollId} <set>
<if test="cmpt.enrollId != null">
mark_no = #{cmpt.enrollId},
</if>
<if test="cmpt.manualMarkNo != null">
manual_mark_no = #{cmpt.manualMarkNo}
</if>
</set>
where id=#{cmpt.id} where id=#{cmpt.id}
</update> </update>
...@@ -140,6 +147,9 @@ ...@@ -140,6 +147,9 @@
<if test="param.type == 1"> <if test="param.type == 1">
and now() >= c.openTime and c.deadLine >= now() and now() >= c.openTime and c.deadLine >= now()
</if> </if>
<if test="param.type == 2">
and now() >= c.startTime and c.endTime >= now()
</if>
<if test="param.userId > 0"> <if test="param.userId > 0">
and c.createUserId=#{param.userId} and a.cmpt_status = 2 and c.createUserId=#{param.userId} and a.cmpt_status = 2
</if> </if>
...@@ -237,4 +247,42 @@ ...@@ -237,4 +247,42 @@
update gk_cmpt set is_day_rank=#{status} update gk_cmpt set is_day_rank=#{status}
where cmpt_id = #{cmptId} where cmpt_id = #{cmptId}
</update> </update>
<select id="isUploadProfile" resultType="int">
select ifnull(isCertProfilePhoto,0) isCertProfilePhoto
from geerunner.cmpt_main
where cmpt_id=#{cmptId}
</select>
<select id="getPhotoLocation" resultType="java.util.HashMap">
select x_coordinate xCoordinate,y_coordinate yCoordinate,width,height
from geerunner.certificate a
inner join geerunner.certificatesetinfo b
on a.id=b.certid
where a.cmptid=#{cmptId} and a.roadid=#{roadId} and selectedField ='photo1_val' limit 1
</select>
<select id="getAllStatistic" resultType="java.util.HashMap">
<![CDATA[ select
(SELECT count(1) from gk_cmpt where cmpt_status=2 and del_flag=0) `all`,
(SELECT count(1) from gk_cmpt a
left join common.neucmpt b on a.cmpt_id=b.gtcmptid
left join raceenroll.competition c on b.gcmptid=c.cmptId
where a.cmpt_status=2 and a.del_flag=0 and c.opentime < now() and c.deadline > now()) enroll,
(
SELECT count(1) from gk_cmpt a
left join common.neucmpt b on a.cmpt_id=b.gtcmptid
left join raceenroll.competition c on b.gcmptid=c.cmptId
where a.cmpt_status=2 and a.del_flag=0 and c.startTime < now() and c.endTime > now()) race
from dual
]]>
</select>
<select id="getEnrollUsersByUserMapId" resultType="java.util.HashMap">
select a.callPhone mobileNum,a.gender,a.IDNumber idCardNo,a.userName name,b.timerRoadId roadId,a.registerId
from raceenroll.competitionusermap a
inner join raceenroll.competitionroadmap b on a.roadId=b.roadId
where a.userMapId=#{userMapId}
</select>
</mapper> </mapper>
\ No newline at end of file
package com.dlbridge.jadp.plugins.cmpt.dao.mapper;
import com.dlbridge.jadp.plugins.cmpt.bean.DataVo;
import java.util.List;
public interface DataMapper {
List<DataVo> getAllDoubleUnion();
int existedInMicro(String userId);
String getCompetitionByRegisterId(String[] userIds);
}
<?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.DataMapper">
<select id="getAllDoubleUnion" resultType="com.dlbridge.jadp.plugins.cmpt.bean.DataVo">
<![CDATA[ SELECT count(unionId) count ,unionId,GROUP_CONCAT(userId) userIds
from raceenroll.registerinfo where unionId is not null and
unionId <> '' and isDelete=0 GROUP BY unionId
HAVING count(unionId) > 1
]]>
</select>
<select id="existedInMicro" resultType="int">
select count(1)
from gksite.gk_user_cmpt_map
where user_id=#{userId}
</select>
<select id="getCompetitionByRegisterId" resultType="java.lang.String">
select group_concat(cmptId)
from raceenroll.competitionusermap
where registerId in
<foreach collection="array" open="(" close=")" separator="," item="userId">
#{userId}
</foreach>
</select>
</mapper>
\ No newline at end of file
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
<update id="delete"> <update id="delete">
UPDATE gk_manual SET UPDATE gk_manual SET
del_flag = #{DEL_FLAG_DELETE} del_flag = #{delFlag}
WHERE id = #{id} WHERE id = #{id}
</update> </update>
......
package com.dlbridge.jadp.plugins.cmpt.dao.mapper;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate;
import java.util.List;
public interface TemplateMapper {
List<CmptTemplate> queryAllTemplate();
}
<?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.TemplateMapper">
<select id="queryAllTemplate" resultType="com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate">
select template_id templateId,cmpt_id cmptId,
template_name templateName,
template_bg
from gk_cmpt_template
where del_flag=0
</select>
</mapper>
\ No newline at end of file
...@@ -35,4 +35,9 @@ public class Cmpt extends JaapRecord<Cmpt> { ...@@ -35,4 +35,9 @@ public class Cmpt extends JaapRecord<Cmpt> {
private boolean isDayRank; private boolean isDayRank;
private int cmptType; private int cmptType;
private int view;
private int enroll;
} }
package com.dlbridge.jadp.plugins.cmpt.dao.model; package com.dlbridge.jadp.plugins.cmpt.dao.model;
import com.dlbridge.jadp.common.persistence.JaapRecord; import com.dlbridge.jadp.common.persistence.JaapRecord;
import org.hibernate.validator.constraints.Length;
public class CmptSetting extends JaapRecord<CmptSetting> { public class CmptSetting extends JaapRecord<CmptSetting> {
...@@ -34,7 +33,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> { ...@@ -34,7 +33,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> {
this.id = id; this.id = id;
} }
@Length(min = 1, max = 64)
public String getCmptId() { public String getCmptId() {
return cmptId; return cmptId;
} }
...@@ -43,7 +41,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> { ...@@ -43,7 +41,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> {
this.cmptId = cmptId; this.cmptId = cmptId;
} }
@Length(min = 1, max = 30)
public String getName() { public String getName() {
return name; return name;
} }
...@@ -52,7 +49,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> { ...@@ -52,7 +49,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> {
this.name = name; this.name = name;
} }
@Length(min = 1, max = 9)
public Integer getType() { public Integer getType() {
return type; return type;
} }
...@@ -61,7 +57,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> { ...@@ -61,7 +57,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> {
this.type = type; this.type = type;
} }
@Length(min = 1, max = 9)
public String getVisibility() { public String getVisibility() {
return visibility; return visibility;
} }
...@@ -70,7 +65,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> { ...@@ -70,7 +65,6 @@ public class CmptSetting extends JaapRecord<CmptSetting> {
this.visibility = visibility; this.visibility = visibility;
} }
@Length(min = 1, max = 2)
public String getSeq() { public String getSeq() {
return seq; return seq;
} }
......
package com.dlbridge.jadp.plugins.cmpt.dao.model; package com.dlbridge.jadp.plugins.cmpt.dao.model;
import org.hibernate.validator.constraints.Length;
import com.dlbridge.jadp.common.persistence.JaapRecord; import com.dlbridge.jadp.common.persistence.JaapRecord;
...@@ -29,7 +28,6 @@ public class Manual extends JaapRecord<Manual> { ...@@ -29,7 +28,6 @@ public class Manual extends JaapRecord<Manual> {
this.id = id; this.id = id;
} }
@Length(min = 1, max = 64)
public String getCmptId() { public String getCmptId() {
return cmptId; return cmptId;
} }
...@@ -38,7 +36,6 @@ public class Manual extends JaapRecord<Manual> { ...@@ -38,7 +36,6 @@ public class Manual extends JaapRecord<Manual> {
this.cmptId = cmptId; this.cmptId = cmptId;
} }
@Length(min = 1, max = 30)
public String getName() { public String getName() {
return name; return name;
} }
...@@ -47,7 +44,6 @@ public class Manual extends JaapRecord<Manual> { ...@@ -47,7 +44,6 @@ public class Manual extends JaapRecord<Manual> {
this.name = name; this.name = name;
} }
@Length(min = 1, max = 512)
public String getCatalogPhotoURL() { public String getCatalogPhotoURL() {
return catalogPhotoURL; return catalogPhotoURL;
} }
...@@ -56,7 +52,6 @@ public class Manual extends JaapRecord<Manual> { ...@@ -56,7 +52,6 @@ public class Manual extends JaapRecord<Manual> {
this.catalogPhotoURL = catalogPhotoURL; this.catalogPhotoURL = catalogPhotoURL;
} }
@Length(min = 1, max = 4)
public Integer getSeq() { public Integer getSeq() {
return seq; return seq;
} }
...@@ -65,7 +60,6 @@ public class Manual extends JaapRecord<Manual> { ...@@ -65,7 +60,6 @@ public class Manual extends JaapRecord<Manual> {
this.seq = seq; this.seq = seq;
} }
@Length(min = 1, max = 64)
public String getVisibility() { public String getVisibility() {
return visibility; return visibility;
} }
......
package com.dlbridge.jadp.plugins.cmpt.dao.model; package com.dlbridge.jadp.plugins.cmpt.dao.model;
import java.util.Date;
import org.hibernate.validator.constraints.Length;
import com.dlbridge.jadp.common.persistence.JaapRecord; import com.dlbridge.jadp.common.persistence.JaapRecord;
import com.dlbridge.jadp.common.utils.excel.annotation.ExcelField; import com.dlbridge.jadp.common.utils.excel.annotation.ExcelField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/** /**
* 参赛人员信息表 * 参赛人员信息表
* *
...@@ -52,7 +50,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -52,7 +50,6 @@ public class NameList extends JaapRecord<NameList> {
this.id = id; this.id = id;
} }
@Length(min = 1, max = 64)
public Integer getCmptId() { public Integer getCmptId() {
return cmptId; return cmptId;
} }
...@@ -61,7 +58,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -61,7 +58,6 @@ public class NameList extends JaapRecord<NameList> {
this.cmptId = cmptId; this.cmptId = cmptId;
} }
@Length(min = 1, max = 30)
public String getName() { public String getName() {
return name; return name;
} }
...@@ -70,7 +66,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -70,7 +66,6 @@ public class NameList extends JaapRecord<NameList> {
this.name = name; this.name = name;
} }
@Length(min = 1, max = 64)
public String getIdNo() { public String getIdNo() {
return idNo; return idNo;
} }
...@@ -79,7 +74,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -79,7 +74,6 @@ public class NameList extends JaapRecord<NameList> {
this.idNo = idNo; this.idNo = idNo;
} }
@Length(min = 0, max = 64)
public String getProjectName() { public String getProjectName() {
return projectName; return projectName;
} }
...@@ -88,7 +82,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -88,7 +82,6 @@ public class NameList extends JaapRecord<NameList> {
this.projectName = projectName; this.projectName = projectName;
} }
@Length(min = 0, max = 11)
public String getNumber() { public String getNumber() {
return number; return number;
} }
...@@ -97,7 +90,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -97,7 +90,6 @@ public class NameList extends JaapRecord<NameList> {
this.number = number; this.number = number;
} }
@Length(min = 0, max = 64)
public String getTeamName() { public String getTeamName() {
return teamName; return teamName;
} }
...@@ -106,7 +98,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -106,7 +98,6 @@ public class NameList extends JaapRecord<NameList> {
this.teamName = teamName; this.teamName = teamName;
} }
@Length(min = 1, max = 9)
public String getSex() { public String getSex() {
return sex; return sex;
} }
...@@ -115,7 +106,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -115,7 +106,6 @@ public class NameList extends JaapRecord<NameList> {
this.sex = sex; this.sex = sex;
} }
@Length(min = 0, max = 32)
public String getPhone() { public String getPhone() {
return phone; return phone;
} }
...@@ -124,7 +114,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -124,7 +114,6 @@ public class NameList extends JaapRecord<NameList> {
this.phone = phone; this.phone = phone;
} }
@Length(min = 0, max = 64)
public String getNationality() { public String getNationality() {
return nationality; return nationality;
} }
...@@ -133,7 +122,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -133,7 +122,6 @@ public class NameList extends JaapRecord<NameList> {
this.nationality = nationality; this.nationality = nationality;
} }
@Length(min = 1, max = 9)
public String getRecord() { public String getRecord() {
return record; return record;
} }
...@@ -151,7 +139,6 @@ public class NameList extends JaapRecord<NameList> { ...@@ -151,7 +139,6 @@ public class NameList extends JaapRecord<NameList> {
this.recordTime = recordTime; this.recordTime = recordTime;
} }
@Length(min = 0, max = 10)
public String getSignIn() { public String getSignIn() {
return signIn; return signIn;
} }
......
...@@ -23,4 +23,6 @@ public class UserCmpt { ...@@ -23,4 +23,6 @@ public class UserCmpt {
private String createTime; private String createTime;
private String manualMarkNo;
} }
package com.dlbridge.jadp.plugins.cmpt.dao.model.vo; package com.dlbridge.jadp.plugins.cmpt.dao.model.vo;
import java.util.List;
import org.hibernate.validator.constraints.Length;
import com.dlbridge.jadp.common.persistence.JaapRecord; import com.dlbridge.jadp.common.persistence.JaapRecord;
import com.dlbridge.jadp.plugins.cmpt.dao.model.CmptSetting; import com.dlbridge.jadp.plugins.cmpt.dao.model.CmptSetting;
import java.util.List;
/** /**
* 赛事活动首页实体 * 赛事活动首页实体
* *
...@@ -21,7 +19,6 @@ public class CmptHomePageVo extends JaapRecord<CmptHomePageVo> { ...@@ -21,7 +19,6 @@ public class CmptHomePageVo extends JaapRecord<CmptHomePageVo> {
private String playBill; // 海报图片 private String playBill; // 海报图片
private List<CmptSetting> cmptSettings; // 赛事活动列表 private List<CmptSetting> cmptSettings; // 赛事活动列表
@Length(min = 1, max = 64)
public String getCmptName() { public String getCmptName() {
return cmptName; return cmptName;
} }
...@@ -39,7 +36,6 @@ public class CmptHomePageVo extends JaapRecord<CmptHomePageVo> { ...@@ -39,7 +36,6 @@ public class CmptHomePageVo extends JaapRecord<CmptHomePageVo> {
this.logo = logo; this.logo = logo;
} }
@Length(min = 0, max = 64)
public String getCmptbgColour() { public String getCmptbgColour() {
return cmptbgColour; return cmptbgColour;
} }
...@@ -48,7 +44,6 @@ public class CmptHomePageVo extends JaapRecord<CmptHomePageVo> { ...@@ -48,7 +44,6 @@ public class CmptHomePageVo extends JaapRecord<CmptHomePageVo> {
this.cmptbgColour = cmptbgColour; this.cmptbgColour = cmptbgColour;
} }
@Length(min = 0, max = 255)
public String getPlayBill() { public String getPlayBill() {
return playBill; return playBill;
} }
......
...@@ -9,6 +9,7 @@ import com.dlbridge.jadp.plugins.cmpt.utils.PageFactory; ...@@ -9,6 +9,7 @@ import com.dlbridge.jadp.plugins.cmpt.utils.PageFactory;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -34,12 +35,15 @@ public class CmptService { ...@@ -34,12 +35,15 @@ public class CmptService {
@Resource @Resource
private RemoteService remoteService; private RemoteService remoteService;
@Resource
private ValueOperations valueOperations;
public Cmpt queryCmptBycmptId(Integer cmptId) { public Cmpt queryCmptBycmptId(Integer cmptId) {
try { try {
Cmpt cmpt = remoteService.getCmptByCmptId(cmptId); Cmpt cmpt = remoteService.getCmptByCmptId(cmptId);
if(cmpt == null) { if(cmpt == null) {
logger.error("[not find related cmpt]"); logger.error("not find related cmpt id : " + cmptId);
return new Cmpt().setCmptId(cmptId); return new Cmpt().setCmptId(cmptId);
} }
cmpt.setCmptId(cmptId); cmpt.setCmptId(cmptId);
...@@ -85,15 +89,20 @@ public class CmptService { ...@@ -85,15 +89,20 @@ public class CmptService {
public EnrollInfo bind(Integer userId, String phone, Integer cmptId) { public EnrollInfo bind(Integer userId, String phone, Integer cmptId) {
EnrollInfo info = getUserInfoByPhone(phone, cmptId); EnrollInfo info = getUserInfoByPhone(phone, cmptId);
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); logger.info("已绑定数据,需更新:" + cmpt);
cmpt.setEnrollId(info.getMarkNo()); cmpt.setEnrollId(info.getMarkNo());
cmptMapper.updateUserCmptById(cmpt); 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);
logger.info("插入绑定内容:"+userCmpt); logger.info("插入绑定内容:"+userCmpt);
saveUserCmpt(userCmpt); saveUserCmpt(userCmpt);
return info; return info;
...@@ -122,6 +131,14 @@ public class CmptService { ...@@ -122,6 +131,14 @@ public class CmptService {
public Page<List<Cmpt>> queryCmpt(Pageable page, Map<String,String> param) { public Page<List<Cmpt>> queryCmpt(Pageable page, Map<String,String> param) {
long count = cmptMapper.countCount(param); long count = cmptMapper.countCount(param);
List<Cmpt> list = cmptMapper.queryCmpt(page, param); List<Cmpt> list = cmptMapper.queryCmpt(page, param);
list.forEach(cmpt -> {
Object o = valueOperations.get("gk:view:" + cmpt.getCmptId());
if(o != null){
cmpt.setView((Integer) o);
cmpt.setEnroll(remoteService.getCmptEnrollCount(cmpt.getCmptId()));
}
});
return PageFactory.setContent(list, page, count); return PageFactory.setContent(list, page, count);
} }
...@@ -181,4 +198,45 @@ public class CmptService { ...@@ -181,4 +198,45 @@ public class CmptService {
public void updateDayRank(int cmptId, int status) { public void updateDayRank(int cmptId, int status) {
cmptMapper.updateDayRank(cmptId,status); cmptMapper.updateDayRank(cmptId,status);
} }
public boolean isUploadProfile(Integer cmptId) {
int is = cmptMapper.isUploadProfile(cmptId);
return is>0;
}
public Map<String, String> getPhotoLocation(Integer cmptId, Integer roadId) {
return cmptMapper.getPhotoLocation(cmptId,roadId);
}
public Map<String, String> getAllStatistic() {
return cmptMapper.getAllStatistic();
}
public Map<String, String> getEnrollUsersByUserMapId(int userMapId) {
return cmptMapper.getEnrollUsersByUserMapId(userMapId);
}
public EnrollInfo bindByManual(Integer userId, String markNo, int cmptId) {
EnrollInfo info = remoteService.getUserInfoByMarkNo(markNo, cmptId);
if (info != null) { // 找到报名信息
UserCmpt cmpt = queryUserCmpt(cmptId, userId, info.getMarkNo());
if (cmpt != null && cmpt.getStatus() == 1) { // 已经绑定
logger.info("已绑定数据,需更新:" + cmpt);
cmpt.setManualMarkNo(info.getMarkNo());
cmptMapper.updateUserCmptById(cmpt);
info.setManualMarkNo(markNo);
return info;
} else {
UserCmpt userCmpt = new UserCmpt().setCmptId(cmptId)
.setEnrollId(info.getMarkNo()).setUserId(userId)
.setStatus(1).setManualMarkNo(info.getMarkNo());
logger.info("插入绑定内容:"+userCmpt);
saveUserCmpt(userCmpt);
info.setManualMarkNo(info.getMarkNo());
return info;
}
} else {
return null;
}
}
} }
...@@ -20,6 +20,7 @@ import java.nio.charset.StandardCharsets; ...@@ -20,6 +20,7 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
@Log4j2 @Log4j2
...@@ -117,6 +118,7 @@ public class RemoteService { ...@@ -117,6 +118,7 @@ public class RemoteService {
info.setPhone(content.getString("phone")); info.setPhone(content.getString("phone"));
info.setRemark(content.getString("remark")); info.setRemark(content.getString("remark"));
info.setGender("0".equals(content.getString("gender")) ? "男":"女"); info.setGender("0".equals(content.getString("gender")) ? "男":"女");
info.setIdentityNo(content.getString("identityNo"));
return info; return info;
} else { } else {
return null; return null;
...@@ -250,6 +252,8 @@ public class RemoteService { ...@@ -250,6 +252,8 @@ public class RemoteService {
String userName = o.getString("userName"); String userName = o.getString("userName");
String roadName = o.getString("roadName"); String roadName = o.getString("roadName");
String audiStatus = o.getString("audiStatus"); String audiStatus = o.getString("audiStatus");
user.setUserMapId(o.getIntValue("userMapId"));
user.setIdNumber(o.getString("idNumber"));
user.setMobile(callPhone).setRoadName(roadName).setUserName(userName); user.setMobile(callPhone).setRoadName(roadName).setUserName(userName);
if ("无".equals(audiStatus)) { if ("无".equals(audiStatus)) {
user.setEnrollStatus(payStatus); user.setEnrollStatus(payStatus);
...@@ -577,4 +581,7 @@ public class RemoteService { ...@@ -577,4 +581,7 @@ public class RemoteService {
} }
} }
public Map<String, String> getEnrollUsersByUserMapId(int userMapId) {
return cmptService.getEnrollUsersByUserMapId(userMapId);
}
} }
package com.dlbridge.jadp.plugins.cmpt.service;
import com.dlbridge.jadp.plugins.cmpt.bean.CmptTemplate;
import com.dlbridge.jadp.plugins.cmpt.dao.mapper.TemplateMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class TemplateService {
@Resource
private TemplateMapper templateMapper;
public List<CmptTemplate> queryAllTemplate() {
return templateMapper.queryAllTemplate();
}
}
package com.dlbridge.jadp.plugins.cmpt.utils; package com.dlbridge.jadp.plugins.cmpt.utils;
import lombok.extern.log4j.Log4j; import lombok.extern.log4j.Log4j2;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.crypto.BadPaddingException; import javax.crypto.BadPaddingException;
import javax.crypto.Cipher; import javax.crypto.Cipher;
...@@ -17,12 +15,10 @@ import java.security.*; ...@@ -17,12 +15,10 @@ import java.security.*;
import java.security.spec.AlgorithmParameterSpec; import java.security.spec.AlgorithmParameterSpec;
import java.security.spec.InvalidParameterSpecException; import java.security.spec.InvalidParameterSpecException;
@Log4j @Log4j2
public class AesUtil { public class AesUtil {
private static final Logger logger = LoggerFactory.getLogger(AesUtil.class);
static { static {
//BouncyCastle是一个开源的加解密解决方案,主页在http://www.bouncycastle.org/ //BouncyCastle是一个开源的加解密解决方案,主页在http://www.bouncycastle.org/
Security.addProvider(new BouncyCastleProvider()); Security.addProvider(new BouncyCastleProvider());
...@@ -59,26 +55,28 @@ public class AesUtil { ...@@ -59,26 +55,28 @@ public class AesUtil {
byte[] resultByte = cipher.doFinal(dataByte); byte[] resultByte = cipher.doFinal(dataByte);
if (null != resultByte && resultByte.length > 0) { if (null != resultByte && resultByte.length > 0) {
String result = new String(resultByte, encodingFormat); String result = new String(resultByte, encodingFormat);
logger.info(result); log.info(result);
return result; return result;
}else{
log.info("解析失败----");
} }
return null; return null;
} catch (NoSuchAlgorithmException e) { } catch (NoSuchAlgorithmException e) {
e.printStackTrace(); log.info(e.getMessage(),e);
} catch (NoSuchPaddingException e) { } catch (NoSuchPaddingException e) {
e.printStackTrace(); log.info(e.getMessage(),e);
} catch (InvalidParameterSpecException e) { } catch (InvalidParameterSpecException e) {
e.printStackTrace(); log.info(e.getMessage(),e);
} catch (InvalidKeyException e) { } catch (InvalidKeyException e) {
e.printStackTrace(); log.info(e.getMessage(),e);
} catch (InvalidAlgorithmParameterException e) { } catch (InvalidAlgorithmParameterException e) {
e.printStackTrace(); log.info(e.getMessage(),e);
} catch (IllegalBlockSizeException e) { } catch (IllegalBlockSizeException e) {
e.printStackTrace(); log.info(e.getMessage(),e);
} catch (BadPaddingException e) { } catch (BadPaddingException e) {
e.printStackTrace(); log.info(e.getMessage(),e);
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); log.info(e.getMessage(),e);
} }
return null; return null;
} }
......
...@@ -177,7 +177,7 @@ public class CmptSettingController { ...@@ -177,7 +177,7 @@ public class CmptSettingController {
count = remoteService.getCmptEnrollCount(cmptId); count = remoteService.getCmptEnrollCount(cmptId);
}else if (type == 15 || type == 16) { // 自动打卡,扫描打卡 }else if (type == 15 || type == 16) { // 自动打卡,扫描打卡
count = geexekScoreService.hasCheckPoint(cmptId); count = geexekScoreService.hasCheckPoint(cmptId);
if(count < 3){ if(count < 2){
return Result.fail().setContent(count); return Result.fail().setContent(count);
} }
} else { } else {
......
package com.dlbridge.jadp.plugins.cmpt.web; package com.dlbridge.jadp.plugins.cmpt.web;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.dlbridge.jadp.common.interceptor.PageView; import com.dlbridge.jadp.common.interceptor.PageView;
import com.google.gson.Gson;
import com.neusoft.www.utils.web.Result;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt; import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.dlbridge.jadp.plugins.cmpt.dao.model.CmptSetting;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Manual; import com.dlbridge.jadp.plugins.cmpt.dao.model.Manual;
import com.dlbridge.jadp.plugins.cmpt.service.CmptService; import com.dlbridge.jadp.plugins.cmpt.service.CmptService;
import com.dlbridge.jadp.plugins.cmpt.service.CmptSettingService; import com.dlbridge.jadp.plugins.cmpt.service.CmptSettingService;
import com.dlbridge.jadp.plugins.cmpt.service.ManualService; import com.dlbridge.jadp.plugins.cmpt.service.ManualService;
import com.github.pagehelper.util.StringUtil; import com.github.pagehelper.util.StringUtil;
import com.neusoft.www.utils.web.Result;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import sun.misc.BASE64Decoder; import sun.misc.BASE64Decoder;
import sun.rmi.runtime.Log;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Log4j2 @Log4j2
@Controller @Controller
...@@ -88,10 +82,6 @@ public class ManualController { ...@@ -88,10 +82,6 @@ public class ManualController {
} }
model.addAttribute("manuals", manuals); model.addAttribute("manuals", manuals);
for (Manual manual :
manuals) {
log.info("manual id: " + manual.getId() + " CmptId:" + manual.getCmptId() + " name:" + manual.getName() + " seq:" + manual.getSeq());
}
model.addAttribute("cmptId", cmptId); model.addAttribute("cmptId", cmptId);
model.addAttribute("pagecount", manuals.size()); model.addAttribute("pagecount", manuals.size());
...@@ -196,17 +186,19 @@ public class ManualController { ...@@ -196,17 +186,19 @@ public class ManualController {
* *
* @param id * @param id
*/ */
@ResponseBody
@RequestMapping(value = "delManual") @RequestMapping(value = "delManual")
@ResponseBody
public Map<String, Object> delManual(String id) { public Map<String, Object> delManual(String id) {
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
String result = "删除成功"; String result = "删除成功";
String code = "200"; String code = "200";
Manual manual = new Manual(); Manual manual = new Manual();
manual.setId(id); manual.setId(id);
manual.setDelFlag("1");
try { try {
manualService.delete(manual); manualService.delete(manual);
} catch (Exception e) { } catch (Exception e) {
log.info(e.getMessage(),e);
result = "删除失败"; result = "删除失败";
code = "201"; code = "201";
} }
......
...@@ -81,6 +81,11 @@ public class MicroApiController { ...@@ -81,6 +81,11 @@ public class MicroApiController {
@Resource @Resource
RemoteService remoteService; RemoteService remoteService;
@Resource
private ValueOperations valueOperations;
@Value("${geexek.cmpt.url}")
private String timerURL;
@Resource @Resource
private CmptScoreFieldValueService cmptScoreFieldValueService; private CmptScoreFieldValueService cmptScoreFieldValueService;
...@@ -91,10 +96,9 @@ public class MicroApiController { ...@@ -91,10 +96,9 @@ public class MicroApiController {
@Value("${geexek.user.url}") @Value("${geexek.user.url}")
private String geexekURL; private String geexekURL;
@Value("${geexek.cmpt.url}")
private String timerURL;
@Value("${server.url.https}") @Value("${server.url.https}")
private String serverURL; private String serverURL;
@Value("${geexek.shamus.url}") @Value("${geexek.shamus.url}")
private String shamusURL; private String shamusURL;
...@@ -102,8 +106,7 @@ public class MicroApiController { ...@@ -102,8 +106,7 @@ public class MicroApiController {
@Resource @Resource
private ManualService manualService; private ManualService manualService;
@Resource
private ValueOperations valueOperations;
@Resource @Resource
private HashOperations hashOperations; private HashOperations hashOperations;
...@@ -132,7 +135,8 @@ public class MicroApiController { ...@@ -132,7 +135,8 @@ public class MicroApiController {
@ApiResponse(code = 200, message = "成功", response = Result.class)}) @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "绑定赛事", notes = "用户与赛事绑定功能", tags = "赛事页面") @ApiOperation(value = "绑定赛事", notes = "用户与赛事绑定功能", tags = "赛事页面")
public Result<EnrollInfo> bind(@RequestParam("userId") Integer userId, public Result<EnrollInfo> bind(@RequestParam("userId") Integer userId,
@RequestParam("phone") String phone, @RequestParam("cmptId") Integer cmptId) { @RequestParam("phone") String phone,
@RequestParam("cmptId") Integer cmptId) {
log.info("userId:" + userId + ",phone:" + phone + ",cmptId:" + cmptId); log.info("userId:" + userId + ",phone:" + phone + ",cmptId:" + cmptId);
EnrollInfo info = cmptService.bind(userId, phone, cmptId); EnrollInfo info = cmptService.bind(userId, phone, cmptId);
if (info == null) { if (info == null) {
...@@ -143,6 +147,9 @@ public class MicroApiController { ...@@ -143,6 +147,9 @@ public class MicroApiController {
return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!"); return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!");
} }
} }
List<RoadUser> enrollUsers = remoteService.getEnrollUsers(cmptId, userId);
Optional<RoadUser> first = enrollUsers.stream().filter(user -> phone.equals(user.getMobile())).findFirst();
info.setUserMapId(first.get().getUserMapId());
return Result.success().setMsg("绑定成功!").setContent(info); return Result.success().setMsg("绑定成功!").setContent(info);
} }
...@@ -201,6 +208,9 @@ public class MicroApiController { ...@@ -201,6 +208,9 @@ public class MicroApiController {
return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!"); return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!");
} }
} }
List<RoadUser> enrollUsers = remoteService.getEnrollUsers(cmptId, userId);
Optional<RoadUser> first = enrollUsers.stream().filter(user -> purePhoneNumber.equals(user.getMobile())).findFirst();
info.setUserMapId(first.get().getUserMapId());
return Result.success().setMsg("绑定成功!").setContent(info); return Result.success().setMsg("绑定成功!").setContent(info);
} catch (Exception e) { } catch (Exception e) {
...@@ -441,15 +451,19 @@ public class MicroApiController { ...@@ -441,15 +451,19 @@ public class MicroApiController {
log.info("openId:" + openid + ", session_key:" + session_key); log.info("openId:" + openid + ", session_key:" + session_key);
} }
} else { } else {
log.info("获取授权失败");
return Result.fail().setMsg("获取授权失败"); return Result.fail().setMsg("获取授权失败");
} }
//////////////// 2、对encryptedData加密数据进行AES解密 //////////////// //////////////// 2、对encryptedData加密数据进行AES解密 ////////////////
try { try {
String result = AesUtil.decrypt(encryptedData, session_key, iv, "UTF-8"); String result = AesUtil.decrypt(encryptedData, session_key, iv, "UTF-8");
log.info(result); log.info("解密结果:"+result);
if (null != result && result.length() > 0) { if (null != result && result.length() > 0) {
JSONObject jsoninfo = JSONObject.parseObject(result); JSONObject jsoninfo = JSONObject.parseObject(result);
String name = jsoninfo.getString("nickName"); String name = jsoninfo.getString("nickName");
if(StringUtils.isNotBlank(name)){
name = name.replaceAll("\\{","").replaceAll("\\}","");
}
String imgUrl = jsoninfo.getString("avatarUrl"); String imgUrl = jsoninfo.getString("avatarUrl");
String url = null; String url = null;
if(jsoninfo.getString("unionId") != null && if(jsoninfo.getString("unionId") != null &&
...@@ -472,7 +486,8 @@ public class MicroApiController { ...@@ -472,7 +486,8 @@ public class MicroApiController {
log.info("返回数据:" + user); log.info("返回数据:" + user);
return Result.success().setContent(user); return Result.success().setContent(user);
} else { } else {
return Result.fail().setMsg("请求出错!"); log.info("请求平台数据出错!");
return Result.fail().setMsg("请求平台数据出错!");
} }
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -1143,4 +1158,126 @@ public class MicroApiController { ...@@ -1143,4 +1158,126 @@ public class MicroApiController {
List<Road> list = roadService.queryRoads(cmptId); List<Road> list = roadService.queryRoads(cmptId);
return Result.success().setContent(list); return Result.success().setContent(list);
} }
/**
* 根据赛事Id获取项目列表
* @param cmptId
* @return
*/
@GetMapping(value = "/isUploadPortrait")
public Result isUploadProfile(@RequestParam("cmptId") Integer cmptId,@RequestParam("roadId") Integer roadId) {
boolean is = cmptService.isUploadProfile(cmptId);
Map param = new HashMap();
if(is){
Map<String,String> location = cmptService.getPhotoLocation(cmptId,roadId);
if(location == null || location.size() == 0){
location = new HashMap<>();
location.put("xCoordinate","0");
location.put("yCoordinate","0");
location.put("width","0");
location.put("height","0");
}
param.putAll(location);
}
param.put("isUploadPortrait",is);
return Result.success().setContent(param);
}
/**
* @param cmptId
* @return
*/
@GetMapping(value = "/view/{cmptId}")
@ResponseBody
public Result view(@PathVariable("cmptId") Integer cmptId) {
Long increment = valueOperations.increment("gk:view:" + cmptId, 1);
return Result.success().setContent(increment);
}
/**
* @param
* @return
*/
@GetMapping(value = "/cmpt/statistic")
@ResponseBody
public Result statistic() {
Map<String,String> param = cmptService.getAllStatistic();
return Result.success().setContent(param);
}
/**
* @param
* @return
*/
@GetMapping(value = "/manualMarkNO")
@ResponseBody
public Result manualMarkNO(@RequestParam("cmptId") int cmptId,@RequestParam("userMapId") int userMapId,
@RequestParam("markNo") String markNo,@RequestParam("manualMarkNo") String manualMarkNo) {
Object o = hashOperations.get("manual:markno:" + cmptId, manualMarkNo);
if(o != null){
return Result.fail().setMsg("该号码牌已经被分配!");
}
EnrollInfo userInfo = null;
if(StringUtils.isNotBlank(markNo)){
userInfo = remoteService.getUserInfoByMarkNo(markNo, cmptId); // 获取原计时信息
}
if(userInfo == null){ // 根据号码牌判断是否已经存储
Map<String,String> param = remoteService.getEnrollUsersByUserMapId(userMapId);
param.put("cmptId",cmptId+"");
param.put("markNo",manualMarkNo);
param.put("deviceId",manualMarkNo);
param.put("enrollId","-1");
if(param.get("roadId") == null){
return Result.fail().setMsg("未找到赛事项目!");
}
String json = new Gson().toJson(param);
ResponseEntity<String> responseEntity = restTemplate.getForEntity(timerURL+"/mergePersonEnroll.do?org-id=1-3&personEnroll={json}", String.class,json);
log.info("返回结果:"+responseEntity.getBody());
JSONObject jsonObject = JSONObject.parseObject(responseEntity.getBody());
int status = jsonObject.getIntValue("status");
if(status == 0){
Object registerId = param.get("registerId");
EnrollInfo info = cmptService.bindByManual(Integer.valueOf(registerId.toString()), manualMarkNo, cmptId);
hashOperations.put("manual:markno:" + cmptId, manualMarkNo,"1");
return Result.success().setContent(info);
}else{
return Result.fail().setMsg(jsonObject.getString("message"));
}
}else{
Map<String,String> param = remoteService.getEnrollUsersByUserMapId(userMapId);
param.put("cmptId",cmptId+"");
param.put("markNo",manualMarkNo);
param.put("deviceId",manualMarkNo);
param.put("roadId",userInfo.getRoadId()+"");
param.put("name",userInfo.getUserName());
param.put("gender",userInfo.getGender());
param.put("mobileNum",userInfo.getPhone());
param.put("idCardNo",userInfo.getIdentityNo());
param.put("enrollId",userInfo.getEnrollId());
String json = new Gson().toJson(param);
ResponseEntity<String> responseEntity = restTemplate.getForEntity(timerURL+"/mergePersonEnroll.do?org-id=1-3&personEnroll={json}", String.class,json);
log.info("返回结果:"+responseEntity.getBody());
JSONObject jsonObject = JSONObject.parseObject(responseEntity.getBody());
int status = jsonObject.getIntValue("status");
if(status == 0){
Object registerId = param.get("registerId");
EnrollInfo info = cmptService.bindByManual(Integer.valueOf(registerId.toString()), manualMarkNo, cmptId);
hashOperations.put("manual:markno:" + cmptId, manualMarkNo,"1");
return Result.success().setContent(info);
}else{
return Result.fail().setMsg(jsonObject.getString("message"));
}
}
}
} }
...@@ -83,7 +83,7 @@ swagger.enable=false ...@@ -83,7 +83,7 @@ swagger.enable=false
base.url=https://zs.geexek.com/ base.url=https://zs.geexek.com/
spring.cloud.nacos.server-addr=https://nacos.geexek.com spring.cloud.nacos.server-addr=http://172.16.214.237:9848,http://172.16.214.241:9848,http://172.16.214.242:9848
spring.cloud.nacos.discovery.group=production spring.cloud.nacos.discovery.group=production
#spring.cloud.sentinel.servlet.blockPage=test #spring.cloud.sentinel.servlet.blockPage=test
......
--- ---
spring:
profiles: default
cloud:
nacos:
config:
server-addr: http://192.168.1.2:8848
file-extension: properties
group: dev
namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1
server-addr: http://192.168.1.2:8848
discovery:
group: dev
namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1
---
spring: spring:
profiles: dev profiles: dev
cloud: cloud:
nacos: nacos:
config: config:
server-addr: http://192.168.1.115:8848 server-addr: http://192.168.1.2:8848
file-extension: properties file-extension: properties
group: dev group: dev
namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1 namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1
server-addr: http://192.168.1.115:8848 server-addr: http://192.168.1.2:8848
discovery: discovery:
group: dev group: dev
namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1 namespace: 187c2f4d-80c2-4a67-b4e5-319d5c9151d1
...@@ -36,7 +50,7 @@ spring: ...@@ -36,7 +50,7 @@ spring:
file-extension: properties file-extension: properties
group: production group: production
namespace: 1bc7c9a2-3cd3-4223-bf3d-17c10a8a501b namespace: 1bc7c9a2-3cd3-4223-bf3d-17c10a8a501b
server-addr: https://nacos.geexek.com server-addr: http://172.16.214.237:9848,http://172.16.214.241:9848,http://172.16.214.242:9848
discovery: discovery:
group: production group: production
namespace: 1bc7c9a2-3cd3-4223-bf3d-17c10a8a501b namespace: 1bc7c9a2-3cd3-4223-bf3d-17c10a8a501b
\ No newline at end of file
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<link rel="shortcut icon" href="img/favicon.ico"> <link rel="shortcut icon" href="img/favicon.ico">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css?v=<%=System.currentTimeMillis()%>"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css"> <link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet.css?v=<%=System.currentTimeMillis()%>"/> <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}/leaflet/css/leaflet_label.css"/>
<link rel="stylesheet" href="${ctxStatic}/cmpt/road.css?v=<%=System.currentTimeMillis()%>"/> <link rel="stylesheet" href="${ctxStatic}/cmpt/road.css?v=<%=System.currentTimeMillis()%>"/>
......
...@@ -189,7 +189,7 @@ ...@@ -189,7 +189,7 @@
<script src="${ctxStatic}/newdermon/vendor/jquery.cookie/jquery.cookie.js"></script> <script src="${ctxStatic}/newdermon/vendor/jquery.cookie/jquery.cookie.js"></script>
<script src="${ctxStatic}/newdermon/vendor/jquery-validation/jquery.validate.min.js"></script> <script src="${ctxStatic}/newdermon/vendor/jquery-validation/jquery.validate.min.js"></script>
<script src="${ctxStatic}/newdermon/js/jquery-ui.js"></script> <script src="${ctxStatic}/newdermon/js/jquery-ui.js"></script>
<script src="${ctxStatic}/js/cmptManual.js"></script> <script src="${ctxStatic}/js/cmptManual.js?v=<%=System.currentTimeMillis()%>"></script>
<script src="${ctxStatic}/js/qikoo.js"></script> <script src="${ctxStatic}/js/qikoo.js"></script>
<!-- Main File--> <!-- Main File-->
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<script src="${ctxStatic}/newdermon/js/jquery-ui.js"></script> <script src="${ctxStatic}/newdermon/js/jquery-ui.js"></script>
<script type="text/javascript" charset="utf-8" src="${ctxStatic}/layer/layer.js"></script> <script type="text/javascript" charset="utf-8" src="${ctxStatic}/layer/layer.js"></script>
<link rel="stylesheet" href="${ctxStatic}/layer/skin/layer.css"> <link rel="stylesheet" href="${ctxStatic}/layer/skin/layer.css">
<script src="${ctxStatic}/js/cmptSetting.js"></script> <script src="${ctxStatic}/js/cmptSetting.js?<%=System.currentTimeMillis()%>"></script>
<style> <style>
.tip-one { .tip-one {
width: 21px; width: 21px;
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<!-- Google fonts - Poppins --> <!-- Google fonts - Poppins -->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/font-css.css"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/font-css.css">
<!-- theme stylesheet--> <!-- theme stylesheet-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/style.default.css" id="theme-stylesheet"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/style.default.css?v=<%=System.currentTimeMillis()%>" id="theme-stylesheet">
<!-- Custom stylesheet - for your changes--> <!-- Custom stylesheet - for your changes-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/juery-ui-1.12.css"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/juery-ui-1.12.css">
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<link rel="shortcut icon" href="img/favicon.ico"> <link rel="shortcut icon" href="img/favicon.ico">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css">
<link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css"> <link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet.css?v=<%=System.currentTimeMillis()%>"/> <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}/leaflet/css/leaflet_label.css"/>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<link rel="shortcut icon" href="img/favicon.ico"> <link rel="shortcut icon" href="img/favicon.ico">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css?v=<%=System.currentTimeMillis()%>"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css"> <link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet.css?v=<%=System.currentTimeMillis()%>"/> <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}/leaflet/css/leaflet_label.css"/>
......
...@@ -179,6 +179,14 @@ ...@@ -179,6 +179,14 @@
} }
}, },
save : function () { save : function () {
if(customerV.$data.letter.nameWeb.length == 0){
layer.msg("功能名称不能为空!",{icon:5,duration:1500});
return ;
}
if(customerV.$data.letter.appId.length == 0){
layer.msg("AppId不能为空!",{icon:5,duration:1500});
return ;
}
$.ajax({ $.ajax({
url : '/gk/sure-letter/updateName', url : '/gk/sure-letter/updateName',
data : customerV.$data.letter, data : customerV.$data.letter,
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<link rel="shortcut icon" href="img/favicon.ico"> <link rel="shortcut icon" href="img/favicon.ico">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css">
<link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css"> <link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet.css?v=<%=System.currentTimeMillis()%>"/> <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}/leaflet/css/leaflet_label.css"/>
<link rel="stylesheet" href="${ctxStatic}/cmpt/road.css?v=<%=System.currentTimeMillis()%>"/> <link rel="stylesheet" href="${ctxStatic}/cmpt/road.css?v=<%=System.currentTimeMillis()%>"/>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<link rel="shortcut icon" href="img/favicon.ico"> <link rel="shortcut icon" href="img/favicon.ico">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css?v=<%=System.currentTimeMillis()%>"> <link rel="stylesheet" href="${ctxStatic}/newdermon/css/main.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css"> <link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet.css?v=<%=System.currentTimeMillis()%>"/> <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}/leaflet/css/leaflet_label.css"/>
<link rel="stylesheet" href="${ctxStatic}/cmpt/road.css?v=<%=System.currentTimeMillis()%>"/> <link rel="stylesheet" href="${ctxStatic}/cmpt/road.css?v=<%=System.currentTimeMillis()%>"/>
...@@ -121,6 +121,7 @@ ...@@ -121,6 +121,7 @@
<select name="" id="" class="select"> <select name="" id="" class="select">
<option value="1" ${item.fieldType == 1?'selected':''}>照片</option> <option value="1" ${item.fieldType == 1?'selected':''}>照片</option>
<option value="2" ${item.fieldType == 2?'selected':''}>视频</option> <option value="2" ${item.fieldType == 2?'selected':''}>视频</option>
<option value="4" ${item.fieldType == 4?'selected':''}>照片/视频</option>
</select> </select>
<span class="down-arrow"></span> <span class="down-arrow"></span>
</div> </div>
......
...@@ -148,6 +148,10 @@ ...@@ -148,6 +148,10 @@
} }
}, },
save : function () { save : function () {
if(customerV.$data.letter.nameWeb.length == 0){
layer.msg("功能名称不能为空!",{icon:5,duration:1500});
return ;
}
$.ajax({ $.ajax({
url : '/gk/sure-letter/updateName', url : '/gk/sure-letter/updateName',
data : customerV.$data.letter, data : customerV.$data.letter,
......
...@@ -15,12 +15,11 @@ ...@@ -15,12 +15,11 @@
.menu-item.active{ .menu-item.active{
color: #ce3939; color: #ce3939;
opacity: 0.9; opacity: 0.9;
box-shadow: 0px 0px 8px #ffdcdc;
border-radius: 4px;
} }
.menu-sub-item.active { .menu-sub-item.active {
border-left: #ce3939;
border-left-width: 4px;
border-left-style: solid;
background: rgba(206, 57, 57, 0.1);
} }
.active span.menu-txt { .active span.menu-txt {
...@@ -28,21 +27,26 @@ ...@@ -28,21 +27,26 @@
font-weight: bold; font-weight: bold;
} }
.menu-hidden{
display: none;
}
.left-arrow { .left-arrow {
background: url(/static/images/left_arrow.png) no-repeat; background: url(/static/images/left_arrow.png) no-repeat;
width: 8px; width: 30px;
display: none; display: none;
height: 13px; height: 30px;
background-size: contain; background-size: contain;
position: absolute; position: absolute;
left: 62px; left: 26px;
top: 20px; top: 10px;
background-color: #ffffff!Important;
z-index: 99999;
} }
.active .left-arrow{ .active .left-arrow{
display: inline-block; display: inline-block;
background: url(/static/images/left_arrow_select.png) no-repeat; background: url(/static/images/left_arrow_select.png) no-repeat;
background-size: contain; background-size: 25%;
background-position: center;
} }
.flex { .flex {
display: flex; display: flex;
...@@ -62,7 +66,7 @@ ...@@ -62,7 +66,7 @@
background: url(/static/images/manage/iconset_grey.png) no-repeat center; background: url(/static/images/manage/iconset_grey.png) no-repeat center;
background-size: 50%; background-size: 50%;
position: absolute; position: absolute;
left: 45px; left: 25px;
top: 6px; top: 6px;
} }
.active .icon-xingxiang{ .active .icon-xingxiang{
...@@ -73,10 +77,10 @@ ...@@ -73,10 +77,10 @@
width: 32px; width: 32px;
height: 32px; height: 32px;
display: inline-block; display: inline-block;
background: url('/static/images/manage/func_white.png') no-repeat center; background: url(/static/images/manage/func_white.png) no-repeat center;
background-size: 50%; background-size: 50%;
position: absolute; position: absolute;
left: 45px; left: 25px;
top: 6px; top: 6px;
} }
.active .icon-function{ .active .icon-function{
...@@ -90,7 +94,7 @@ ...@@ -90,7 +94,7 @@
background: url('/static/images/manage/base-setting.png') no-repeat center; background: url('/static/images/manage/base-setting.png') no-repeat center;
background-size: 50%; background-size: 50%;
position: absolute; position: absolute;
left: 45px; left: 25px;
top: 6px; top: 6px;
} }
.menu-sub-item{ .menu-sub-item{
...@@ -111,6 +115,33 @@ ...@@ -111,6 +115,33 @@
font-size:16px; font-size:16px;
color: #999; color: #999;
} }
.menu-sub-item:first-child::after{
content: "";
height: 29px;
width: 1px;
background: #ce3939;
position: absolute;
left: 43px;
top: 20px;
}
.menu-sub-item:last-child::after{
content: "";
height: 29px;
width: 1px;
background: #ce3939;
position: absolute;
left: 43px;
top: 0px;
}
.menu-sub-item::after{
content: "";
height: 49px;
width: 1px;
background: #ce3939;
position: absolute;
left: 43px;
top: 0px;
}
</style> </style>
<input type="hidden" value="${cmpt.cmptId}" id="cmpt"> <input type="hidden" value="${cmpt.cmptId}" id="cmpt">
<input type="hidden" value="${uId}" id="uId"> <input type="hidden" value="${uId}" id="uId">
...@@ -125,8 +156,8 @@ ...@@ -125,8 +156,8 @@
<span class="menu-txt">形象管理</span> <span class="menu-txt">形象管理</span>
</a> </a>
</li> </li>
<ul style="padding: 0px"> <ul style="padding: 0px;margin: 15px 0px;">
<li class="cmptSetting menu-item"> <li id="cmptSetting" class="cmptSetting menu-item">
<a href="/gk/cmpt/cmptSetting/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}"> <a href="/gk/cmpt/cmptSetting/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="icon-function"></span> <span class="icon-function"></span>
<span class="menu-txt">功能管理</span> <span class="menu-txt">功能管理</span>
...@@ -141,7 +172,7 @@ ...@@ -141,7 +172,7 @@
</a> </a>
</li> </li>
<li class="news menu-item menu-sub-item "> <li class="news menu-sub-item ">
<a href="/gk/news/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}"> <a href="/gk/news/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="left-arrow"></span> <span class="left-arrow"></span>
<span class="menu-txt">赛事公告</span> <span class="menu-txt">赛事公告</span>
...@@ -215,9 +246,9 @@ ...@@ -215,9 +246,9 @@
</ul> </ul>
</li> </li>
</ul> </ul>
<ul> <ul style="padding: 0px 0;">
<li class="base menu-item"> <li id="base" class="base menu-item" style="cursor: pointer">
<a href="#"> <a>
<span class="icon-base-setting"></span> <span class="icon-base-setting"></span>
<span class="menu-txt">基础设置</span> <span class="menu-txt">基础设置</span>
<span class="arrow"></span> <span class="arrow"></span>
...@@ -273,15 +304,32 @@ ...@@ -273,15 +304,32 @@
if (url.indexOf(classes[i]) > -1) { if (url.indexOf(classes[i]) > -1) {
document.getElementsByClassName(classes[i])[0].classList.add('active'); document.getElementsByClassName(classes[i])[0].classList.add('active');
if(classes[i] != 'cmptSetting'){ if(classes[i] != 'cmptSetting'){
let classesStr = document.getElementsByClassName(classes[i])[0].parentNode.parentNode.firstElementChild.classList;
document.getElementsByClassName(classes[i])[0].parentNode.parentNode.firstElementChild.classList.add('active'); document.getElementsByClassName(classes[i])[0].parentNode.parentNode.firstElementChild.classList.add('active');
if(classesStr.contains('cmptSetting')){
document.getElementById('base').nextSibling.nextSibling.classList.add('menu-hidden');
}else{
document.getElementById('cmptSetting').nextSibling.nextSibling.classList.add('menu-hidden');
}
}else{
document.getElementById('cmptSetting').nextSibling.nextSibling.classList.remove('menu-hidden');
document.getElementById('base').nextSibling.nextSibling.classList.add('menu-hidden');
} }
done = true; done = true;
break; break;
} }
} }
document.getElementById('base').addEventListener('click',function () {
document.getElementById('base').nextSibling.nextSibling.classList.remove('menu-hidden');
document.getElementById('cmptSetting').nextSibling.nextSibling.classList.add('menu-hidden');
window.scrollTo(0,0);
});
if (!done) { if (!done) {
var classList = document.getElementsByClassName('main')[0].classList; var classList = document.getElementsByClassName('main')[0].classList;
classList.add('active'); classList.add('active');
document.getElementById('base').nextSibling.nextSibling.classList.add('menu-hidden');
document.getElementById('cmptSetting').nextSibling.nextSibling.classList.add('menu-hidden');
} }
function getCmptId() { function getCmptId() {
......
...@@ -94,33 +94,65 @@ input[type=checkbox] { ...@@ -94,33 +94,65 @@ input[type=checkbox] {
color:rgba(206,57,57,1); color:rgba(206,57,57,1);
border-bottom: none; border-bottom: none;
} }
input.score-input{
width: 110px;
height: 40px;
background: whitesmoke;
}
input.score-input-bigger{
width: 120px;
height: 40px;
background: whitesmoke;
}
.icon-score-edit{
width: 16px;
height: 18px;
background: url(/static/images/manage/score-edit.png) no-repeat center;
background-size: contain;
background-position: center;
}
.icon-score-save{
width: 20px;
height: 16px;
background: url(/static/images/manage/icon-score-save.png) no-repeat center;
background-size: contain;
background-position: center;
}
.score-edit{
color: #ce3939!important;
font-size: 14px;
}
.tab .review-status:last-child{ .tab .review-status:last-child{
border-right: 1px solid rgba(229,229,229,1); border-right: 1px solid rgba(229,229,229,1);
} }
.data-cloumn{ .data-cloumn{
padding: 0px 20px; padding: 0px 0px;
display: flex;
} }
.data-cloumn span,.score-info span{ .data-cloumn>span,.score-info>span{
display: inline-block; display: inline-block;
width: 120px; width: 117px;
height: 45px; height: 45px;
line-height: 45px; line-height: 45px;
font-size:16px; font-size:16px;
color:rgba(153,153,153,1); color:rgba(153,153,153,1);
} }
.data-cloumn span:last-child,.score-info span:last-child{ .data-cloumn>span:last-child,.score-info>span:last-child{
width: 50px; width: 62px;
text-align: center; text-align: center;
} }
.score-item{ .score-item{
background:rgba(250,250,250,1); background:rgba(250,250,250,1);
border-radius:4px; border-radius:4px;
padding: 0px 20px; padding: 0px 0px;
margin-bottom: 20px; margin-bottom: 10px;
} }
.score-info{ .score-info{
border-bottom: 1px solid rgba(221,221,221,1); border-bottom: 1px solid rgba(221,221,221,1);
height: 45px;
line-height: 45px;
display: flex;
} }
.score-info span{ .score-info span{
color:rgba(51,51,51,1); color:rgba(51,51,51,1);
...@@ -180,13 +212,22 @@ input[type=checkbox] { ...@@ -180,13 +212,22 @@ input[type=checkbox] {
border:1px solid rgba(229,229,229,1); border:1px solid rgba(229,229,229,1);
} }
.preview{ .preview{
max-width: 80%; max-width: 800px;
height: 80%; height: 100%;
margin: auto; margin: auto;
position: relative; position: relative;
padding: 20px; padding: 20px;
background: white; background: white;
z-index: 9999; z-index: 9999;
overflow: scroll;
overflow-x: hidden;
width: 100%;
text-align: center;
}
.preview::-webkit-scrollbar {
width: 4px;
height: 4px;
background-color: #f1f1f1;
} }
#dialog{ #dialog{
display: none; display: none;
...@@ -196,7 +237,22 @@ input[type=checkbox] { ...@@ -196,7 +237,22 @@ input[type=checkbox] {
position: fixed; position: fixed;
width: 100%; width: 100%;
height: 100%; height: 100%;
top: 0px;left: 0px;background: rgba(0,0,0,0.4);z-index: 99 top: 0px;
left: 0px;
background: rgba(0,0,0,0.4);
z-index: 99;
}
.dialog-content{
position: relative;
justify-content: center;
align-items: center;
display: flex;
width: 80%;
height: 80%;
top: 0px;
left: 0px;
max-width: 800px;
z-index: 99;
} }
.select{ .select{
text-transform: none; text-transform: none;
...@@ -266,9 +322,9 @@ input[type=checkbox] { ...@@ -266,9 +322,9 @@ input[type=checkbox] {
background-image: url(/static/images/close-red.png); background-image: url(/static/images/close-red.png);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
right: -10px; right: -17px;
z-index: 100; z-index: 100000;
top: -10px; top: -15px;
border-radius: 50%; border-radius: 50%;
background-color: white; background-color: white;
cursor: pointer; cursor: pointer;
...@@ -301,7 +357,7 @@ input[type=checkbox] { ...@@ -301,7 +357,7 @@ input[type=checkbox] {
} }
.search-btn-text{ .search-btn-text{
display: inline-block; display: inline-block;
width: 80px; width: 100px;
text-align: center; text-align: center;
color: #333; color: #333;
cursor: pointer; cursor: pointer;
...@@ -312,17 +368,68 @@ input[type=checkbox] { ...@@ -312,17 +368,68 @@ input[type=checkbox] {
} }
.search-ipt{ .search-ipt{
border: 0px; border: 0px;
width: 140px; width: 300px;
height: 46px; height: 46px;
} }
.export-btn{ .export-btn{
width: 110px; width:145px;
height: 50px; height:40px;
background: rgba(206,57,57,1); background: rgba(206,57,57,1);
border-radius: 4px; border-radius: 4px;
font-size: 16px; font-size: 16px;
color: white; color: white;
line-height: 50px; line-height: 40px;
text-align: center; text-align: center;
cursor: pointer; cursor: pointer;
} }
.pass-icon{
background: url("/static/images/manage/score_pass.png") center no-repeat;
background-size: contain;
background-position: center;
width: 18px;
height: 18px;
display: inline-block;
}
.forbidden-icon{
background: url("/static/images/manage/score_forbidden.png") center no-repeat;
background-size: contain;
background-position: center;
width: 18px;
height: 18px;
display: inline-block;
}
.del-icon{
background: url("/static/images/manage/score_del.png") center no-repeat;
background-size: contain;
background-position: center;
width: 18px;
height: 18px;
display: inline-block;
}
.icon-sec{
width: 125px;
height: 60px;
line-height: 60px;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
cursor: pointer;
position: relative;
}
.icon-sec::after{
content: '';
width:1px;
height:31px;
background:rgba(216,216,216,1);
position: absolute;
right: 0px;
}
.icon-sec:last-child::after{
content: '';
display: none;
}
.icon-sec span:nth-child(2n){
width: 60px;
text-align: center;
}
\ No newline at end of file
...@@ -63,6 +63,7 @@ input[type=checkbox]::before { ...@@ -63,6 +63,7 @@ input[type=checkbox]::before {
.disabled input[type=checkbox]::before { .disabled input[type=checkbox]::before {
background-color: #d8d8d8 !important; background-color: #d8d8d8 !important;
border: 2px solid #d8d8d8!important;
} }
input[type=checkbox]:checked::before { input[type=checkbox]:checked::before {
...@@ -326,12 +327,13 @@ input[type=checkbox]:checked::before { ...@@ -326,12 +327,13 @@ input[type=checkbox]:checked::before {
.mod-dialog { .mod-dialog {
background-color: #fff; background-color: #fff;
border-top: none; border-top: none;
width: 580px; width: 480px;
height: 256px; height: 226px;
*padding-top: 27px; padding-top: 27px;
position: absolute; position: absolute;
z-index: 1001; z-index: 1001;
margin-top: -20px; margin-top: -20px;
border-radius: 4px;
} }
.mod-inputdialog { .mod-inputdialog {
...@@ -393,7 +395,7 @@ input[type=checkbox]:checked::before { ...@@ -393,7 +395,7 @@ input[type=checkbox]:checked::before {
.mod-dialog .dialog-main { .mod-dialog .dialog-main {
font-size: 14px; font-size: 14px;
padding: 45px; padding: 35px;
/*text-align: center;*/ /*text-align: center;*/
} }
...@@ -495,25 +497,29 @@ input[type=checkbox]:checked::before { ...@@ -495,25 +497,29 @@ input[type=checkbox]:checked::before {
.mod-dialog .dialog-console .console-btn-confirm { .mod-dialog .dialog-console .console-btn-confirm {
background: #ce3939 repeat-x; background: #ce3939 repeat-x;
width: 146px; width: 120px;
height: 42px; height: 42px;
color: #fff; color: #fff;
text-align: center; text-align: center;
font-size: 20px; font-size: 18px;
margin-top: -6px; margin-top: -6px;
line-height: 42px; line-height: 42px;
margin-left: 12px; margin-left: 12px;
border-radius: 4px;
letter-spacing: 4px;
} }
.mod-dialog .dialog-console .console-btn-cancel { .mod-dialog .dialog-console .console-btn-cancel {
background: #949494 repeat-x; background: #949494 repeat-x;
width: 146px; width: 116px;
height: 42px; height: 42px;
color: #fff; color: #fff;
text-align: center; text-align: center;
font-size: 20px; font-size: 18px;
margin-top: -6px; margin-top: -6px;
line-height: 42px; line-height: 42px;
border-radius: 4px;
letter-spacing: 4px;
} }
.mod-pop .pop-close:hover { .mod-pop .pop-close:hover {
......
...@@ -59,9 +59,6 @@ $(function () { ...@@ -59,9 +59,6 @@ $(function () {
//确认 //确认
$.ajax({ $.ajax({
url: '/gk/cmpt/manual/delManual?id=' + id, /*接口域名地址*/ url: '/gk/cmpt/manual/delManual?id=' + id, /*接口域名地址*/
type: 'post',
contentType: 'application/json',
processData: false,
success: function (res) { success: function (res) {
parent.remove(); parent.remove();
console.log(res); console.log(res);
......
...@@ -70,12 +70,12 @@ $(function () { ...@@ -70,12 +70,12 @@ $(function () {
} else if (type == 12){ } else if (type == 12){
layer.alert("要启用此功能,请先在计时管理页面完成名单导入"); layer.alert("要启用此功能,请先在计时管理页面完成名单导入");
}else if (type == 15){ }else if (type == 15){
layer.alert("要启用此功能,请先导入路线,且路线上至少有3个标注点"); layer.alert("要启用此功能,请先导入路线,且路线上至少有2个标注点");
setTimeout(function () { setTimeout(function () {
window.location.href="/gk/road/index/"+getCmptId()+"?"+window.location.search; window.location.href="/gk/road/index/"+getCmptId()+"?"+window.location.search;
},3000) },3000)
} else if (type == 16){ } else if (type == 16){
layer.alert("要启用此功能,请先导入路线,且路线上至少有3个标注点"); layer.alert("要启用此功能,请先导入路线,且路线上至少有2个标注点");
setTimeout(function () { setTimeout(function () {
window.location.href="/gk/road/index/"+getCmptId()+"?"+window.location.search; window.location.href="/gk/road/index/"+getCmptId()+"?"+window.location.search;
},3000) },3000)
......
...@@ -120,6 +120,7 @@ $(document).ready(function () { ...@@ -120,6 +120,7 @@ $(document).ready(function () {
' <select name="" id="" class="select">\n' + ' <select name="" id="" class="select">\n' +
' <option value="1" selected>照片</option>\n' + ' <option value="1" selected>照片</option>\n' +
' <option value="2" >视频</option>\n' + ' <option value="2" >视频</option>\n' +
' <option value="4" >照片/视频</option>\n' +
' </select>\n' + ' </select>\n' +
' <span class="down-arrow"></span>\n' + ' <span class="down-arrow"></span>\n' +
' </td>'+ ' </td>'+
......
...@@ -32,14 +32,18 @@ var score = new Vue({ ...@@ -32,14 +32,18 @@ var score = new Vue({
}, },
filters: { filters: {
substr:function(value,length){ substr:function(value,length){
console.log(value+","+length)
if(!value || value.length < 18) return ""; if(!value || value.length < 18) return "";
return value.substr(5,5)+" "+value.substr(11,5); return value.substr(5,5)+" "+value.substr(11,5);
}, },
substrYear:function(value){ substrYear:function(value){
if(!value) return ""; if(!value) return "";
var date = new Date(value); let date = new Date(value);
return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds(); let month = (date.getMonth()+1) < 10 ? "0"+(date.getMonth()+1) : (date.getMonth()+1);
let day = (date.getDate()) < 10 ? "0"+(date.getDate()) : date.getDate();
let hour = date.getHours() < 10 ? "0"+(date.getHours()) : date.getHours();
let min = date.getMinutes() < 10 ? "0"+(date.getMinutes()) : date.getMinutes();
let sec = date.getSeconds() < 10 ? "0"+(date.getSeconds()) : date.getSeconds();
return month+"-"+day+" "+hour+":"+min+":"+sec;
}, },
substrDate:function(value,length){ substrDate:function(value,length){
if(!value || value.length < 18) return ""; if(!value || value.length < 18) return "";
...@@ -60,10 +64,18 @@ var score = new Vue({ ...@@ -60,10 +64,18 @@ var score = new Vue({
if(!duration || !distance || distance == 0 || duration == 0){return ""} if(!duration || !distance || distance == 0 || duration == 0){return ""}
var mins = parseFloat(duration/60)/distance; var mins = parseFloat(duration/60)/distance;
var res = Math.floor((mins - parseInt(mins)) * 60); var res = Math.floor((mins - parseInt(mins)) * 60);
if(res<10) res = "0"+res;
return parseInt(mins)+"'"+ res +"''"; return parseInt(mins)+"'"+ res +"''";
} }
}, },
methods:{ methods:{
calculateMile:function(event,score){
let miles = $(event.target).val() * 1000;
score.subsectionMileage = miles;
},
changeScoreStatus:function(score){
score.save = !score.save;
},
closeDialog:function(){ closeDialog:function(){
score.$data.dialog = false; score.$data.dialog = false;
}, },
...@@ -82,7 +94,6 @@ var score = new Vue({ ...@@ -82,7 +94,6 @@ var score = new Vue({
score.$data.checked = !score.$data.checked score.$data.checked = !score.$data.checked
}, },
changeRoad:function () { changeRoad:function () {
console.log(score.$data.selectedRoadId);
score.$data.jumpToPage = 1; score.$data.jumpToPage = 1;
score.$data.param.page = 0; score.$data.param.page = 0;
reviewPage.reloadPage(); reviewPage.reloadPage();
...@@ -93,7 +104,6 @@ var score = new Vue({ ...@@ -93,7 +104,6 @@ var score = new Vue({
reviewPage.reloadPage(); reviewPage.reloadPage();
}, },
changeOrigin:function () { changeOrigin:function () {
console.log(score.$data.selectedOrigin);
reviewPage.reloadPage(); reviewPage.reloadPage();
}, },
next:function () { next:function () {
...@@ -126,13 +136,61 @@ var score = new Vue({ ...@@ -126,13 +136,61 @@ var score = new Vue({
}); });
return obj; return obj;
}, },
showDetail:function(id,event){ saveScoreDetail:function(scoreObj,event){
scoreObj.save = !scoreObj.save;
let parent = $(event.target).parents('.score-info');
let doneTime = parent.find('.doneTime').val();
let miles = parent.find('.miles').val();
let duration = parent.find('.duration').val();
let time = Number(duration.split(':')[0]*3600)+Number(duration.split(':')[1]*60)+Number(duration.split(':')[2]);
let param = {};
param.cmptId = scoreObj.cmptId;
param.roadId= score.$data.selectedRoadId;
param.markNo= scoreObj.markNo;
param.scoreId = scoreObj.cmptScoreRuleScoreinfoId;
param.duration = time;
param.doneTime = doneTime+" 00:00:00";
param.miles = miles*1000;
console.log(JSON.stringify(param));
if(score.$data.selectedOrigin != 1){
let details = parent.siblings('.score-detail');
let trs = details.find('tbody tr');
param.details = [];
$.each(trs,function (i,e) {
let detail = {};
let checkPointId= $(e).attr('check-point-id');
let checkpointTimeId = $(e).attr('checkpointtimeid');
let time = $(e).find('input').val();
detail.checkPointId = checkPointId;
detail.checkpointTimeId = checkpointTimeId;
if(time){
detail.time = new Date().getFullYear() + "-"+ time;
param.details.push(detail)
}
})
}
$.ajax({
url: "/geexekscore/api/v1/cmpt-score-rule-scoreinfo/updateScore",
contentType :'application/json',
data: JSON.stringify(param),
type:"post",
success:function (data) {
if(data.code == 200){
console.log(data);
}
}
});
},
showDetail:function(id,event,markno){
if(score.$data.selectedOrigin == 1) return;
if($(event.currentTarget).find('.score-detail-item').length > 0){ if($(event.currentTarget).find('.score-detail-item').length > 0){
score.getScoreById(id).scoreDetails = []; score.getScoreById(id).scoreDetails = [];
return ; return ;
} }
$.ajax({ $.ajax({
url:baseURL+"geexekscore/api/v1/cmpt-score-rule-scoreinfo/getCmptScoreRuleScoreDetails?scoreId="+id, url: "/geexekscore/api/v1/cmpt-score-rule-scoreinfo/getCmptScoreRuleScoreDetails?" +
"scoreId="+id+"&roadId="+score.$data.selectedRoadId+"&markNo="+markno,
success:function (data) { success:function (data) {
if(data.code == 200){ if(data.code == 200){
if(data.data.length == 0){ if(data.data.length == 0){
...@@ -167,8 +225,9 @@ var score = new Vue({ ...@@ -167,8 +225,9 @@ var score = new Vue({
layer.msg("请选择行进行删除!",{icon:5}) layer.msg("请选择行进行删除!",{icon:5})
return; return;
} }
qikoo.dialog.confirm('确认要删除?',function () {
$.ajax({ $.ajax({
url : baseURL+'geexekscore/api/v1/cmpt-score-rule-scoreinfo/deleteScoreInfos', url : '/geexekscore/api/v1/cmpt-score-rule-scoreinfo/deleteScoreInfos',
data:{ids:delIds.join(",")}, data:{ids:delIds.join(",")},
type: 'post', type: 'post',
success:function (data) { success:function (data) {
...@@ -178,6 +237,9 @@ var score = new Vue({ ...@@ -178,6 +237,9 @@ var score = new Vue({
} }
} }
}) })
},function () {
});
} }
} }
...@@ -212,7 +274,7 @@ var reviewPage = { ...@@ -212,7 +274,7 @@ var reviewPage = {
score.$data.param.origin = score.$data.selectedOrigin; score.$data.param.origin = score.$data.selectedOrigin;
score.$data.param.keyword = score.$data.searchWord; score.$data.param.keyword = score.$data.searchWord;
$.ajax({ $.ajax({
url : baseURL+'geexekscore/api/v1/cmpt-score-rule-scoreinfo/getCmptScoreRuleScoreInfo', url : '/geexekscore/api/v1/cmpt-score-rule-scoreinfo/getCmptScoreRuleScoreInfo',
data:score.$data.param, data:score.$data.param,
type:'post', type:'post',
beforeSend:function(){ beforeSend:function(){
...@@ -222,6 +284,7 @@ var reviewPage = { ...@@ -222,6 +284,7 @@ var reviewPage = {
if(data.code == 200){ if(data.code == 200){
$.each( data.data.records,function (i,e) { $.each( data.data.records,function (i,e) {
e.scoreDetails = []; e.scoreDetails = [];
e.save = true;
}); });
score.$data.scores = data.data.records; score.$data.scores = data.data.records;
score.$data.totalPage = data.data.total; score.$data.totalPage = data.data.total;
...@@ -247,7 +310,7 @@ var reviewPage = { ...@@ -247,7 +310,7 @@ var reviewPage = {
}, },
getStatistic:function(){ getStatistic:function(){
$.ajax({ $.ajax({
url : baseURL+'geexekscore/api/v1/cmpt-score-rule-scoreinfo/getCmptScoreRuleScoreInfoStatistics?cmptId='+getCId()+'&roadId='+ url : '/geexekscore/api/v1/cmpt-score-rule-scoreinfo/getCmptScoreRuleScoreInfoStatistics?cmptId='+getCId()+'&roadId='+
score.$data.selectedRoadId score.$data.selectedRoadId
+'&origin='+ score.$data.selectedOrigin+"&keyword="+score.$data.searchWord, +'&origin='+ score.$data.selectedOrigin+"&keyword="+score.$data.searchWord,
type:'post', type:'post',
...@@ -283,7 +346,7 @@ var reviewPage = { ...@@ -283,7 +346,7 @@ var reviewPage = {
var param = {cmptId : getCId(),'checkstatus':score.$data.param.checkstatus, var param = {cmptId : getCId(),'checkstatus':score.$data.param.checkstatus,
roadId: score.$data.selectedRoadId,passedIds:passedIds.join(','),noPassedIds:noPassedIds.join(',')}; roadId: score.$data.selectedRoadId,passedIds:passedIds.join(','),noPassedIds:noPassedIds.join(',')};
$.ajax({ $.ajax({
url : baseURL+'geexekscore/api/v1/cmpt-score-rule-scoreinfo/uploadCmptScoreRuleScoreInfo', url : '/geexekscore/api/v1/cmpt-score-rule-scoreinfo/uploadCmptScoreRuleScoreInfo',
data: param, data: param,
beforeSend:function(){ beforeSend:function(){
layer.load(); layer.load();
...@@ -321,7 +384,52 @@ $(document).ready(function () { ...@@ -321,7 +384,52 @@ $(document).ready(function () {
}); });
}) })
$('.export-btn').click(function () { $('.export-btn').click(function () {
window.open(baseURL+"geexekscore/api/v1/cmpt-score-rank/export/"+getCId()) window.open("/geexekscore/api/v1/cmpt-score-rank/export/"+getCId())
}) })
reviewPage.getRoads(); reviewPage.getRoads();
}); });
function calculateScore(){
var scoreId = $($dp.el).parents('.score-detail').attr('scoreId')
var scoreObj = score.getScoreById(scoreId);
var inputs = $($dp.el).parents('tbody').find('input');
var index = $(inputs).index($($dp.el));
var inputArr = [];
$.each(inputs,function (i,e) {
if($(e).val()){
inputArr.push(new Date().getFullYear()+"-"+$(e).val())
}
});
console.log(inputArr);
if(inputArr.length>2){
var duration = (Date.parse(inputArr[inputArr.length-1]) -Date.parse(inputArr[0]))/1000;
if(duration <=0){
layer.msg('输入时间不合法!');
return ;
}
scoreObj.subsectionscore = duration;
}
scoreObj.scoreDetails[index].checkpointTime = Date.parse(new Date().getFullYear()+"-"+$($dp.el).val());
}
function calculateDuration() {
let duration = $($dp.el).val();
var scoreId = $($dp.el).attr('scoreId');
var scoreObj = score.getScoreById(scoreId);
var hour = duration.split(':')[0]*3600;
var min = duration.split(':')[1]*60;
var sec = duration.split(':')[2];
scoreObj.subsectionscore = Number(hour)+Number(min)+Number(sec);
}
function calculateDate() {
let date = $($dp.el).val();
var scoreId = $($dp.el).attr('scoreId');
var scoreObj = score.getScoreById(scoreId);
var dateStr = date+" 00:00:00";
scoreObj.subsectionTime = dateStr;
}
function del () {
}
\ No newline at end of file
...@@ -470,6 +470,8 @@ nav.side-navbar ul { ...@@ -470,6 +470,8 @@ nav.side-navbar ul {
nav.side-navbar ul li { nav.side-navbar ul li {
height: 49px; height: 49px;
margin: auto;
width: 200px;
list-style: none; list-style: none;
} }
...@@ -489,94 +491,94 @@ nav.side-navbar ul li a { ...@@ -489,94 +491,94 @@ nav.side-navbar ul li a {
} }
nav.side-navbar ul li a:hover { nav.side-navbar ul li a:hover {
background: rgba(196, 196, 196, 0.3); /*background: rgba(196, 196, 196, 0.3);*/
color: #fff; color: #fff;
} }
nav.side-navbar ul li li a { nav.side-navbar ul li li a {
padding-left: 50px; padding-left: 50px;
background: #f6f6f6; background: #f6f6f6;
} }
nav.side-navbar ul li.menu-sub-item.active > a { nav.side-navbar ul li.menu-sub-item.active > a {
color: rgba(206, 57, 57, 1); color: rgba(206, 57, 57, 1);
} }
nav.side-navbar ul li.active > a:hover { nav.side-navbar ul li.active > a:hover {
background: rgba(196, 196, 196, 0.3); /*background: rgba(196, 196, 196, 0.3);*/
} }
nav.side-navbar ul li li.active > a { nav.side-navbar ul li li.active > a {
background: rgba(196, 196, 196, 0.3); background: rgba(196, 196, 196, 0.3);
} }
nav.side-navbar ul li ul { nav.side-navbar ul li ul {
padding: 0; padding: 0;
} }
nav.side-navbar.shrinked { nav.side-navbar.shrinked {
min-width: 90px; min-width: 90px;
max-width: 90px; max-width: 90px;
text-align: center; text-align: center;
} }
nav.side-navbar.shrinked span.heading { nav.side-navbar.shrinked span.heading {
margin: 0; margin: 0;
} }
nav.side-navbar.shrinked ul li a { nav.side-navbar.shrinked ul li a {
padding: 15px 2px; padding: 15px 2px;
border: none; border: none;
font-size: 0.8em; font-size: 0.8em;
color: #aaa; color: #aaa;
-webkit-transition: color 0.3s, background 0.3s; -webkit-transition: color 0.3s, background 0.3s;
transition: color 0.3s, background 0.3s; transition: color 0.3s, background 0.3s;
} }
nav.side-navbar.shrinked ul li a[data-toggle="collapse"]::before { nav.side-navbar.shrinked ul li a[data-toggle="collapse"]::before {
content: '\f107'; content: '\f107';
-webkit-transform: translateX(50%); -webkit-transform: translateX(50%);
transform: translateX(50%); transform: translateX(50%);
position: absolute; position: absolute;
top: auto; top: auto;
right: 50%; right: 50%;
bottom: 0; bottom: 0;
left: auto; left: auto;
} }
nav.side-navbar.shrinked ul li a[data-toggle="collapse"][aria-expanded="true"]::before { nav.side-navbar.shrinked ul li a[data-toggle="collapse"][aria-expanded="true"]::before {
content: '\f106'; content: '\f106';
} }
nav.side-navbar.shrinked ul li a:hover { nav.side-navbar.shrinked ul li a:hover {
color: #fff; color: #fff;
border: none; border: none;
} }
nav.side-navbar.shrinked ul li a:hover i { nav.side-navbar.shrinked ul li a:hover i {
color: #fff; color: #fff;
} }
nav.side-navbar.shrinked ul li a i { nav.side-navbar.shrinked ul li a i {
margin-right: 0; margin-right: 0;
margin-bottom: 2px; margin-bottom: 2px;
display: block; display: block;
font-size: 1rem; font-size: 1rem;
color: #333; color: #333;
-webkit-transition: color 0.3s; -webkit-transition: color 0.3s;
transition: color 0.3s; transition: color 0.3s;
} }
nav.side-navbar.shrinked ul li.active > a { nav.side-navbar.shrinked ul li.active > a {
color: #fff; color: #fff;
} }
nav.side-navbar.shrinked ul li.active > a i { nav.side-navbar.shrinked ul li.active > a i {
color: #fff; color: #fff;
} }
nav.side-navbar.shrinked .sidebar-header .title { nav.side-navbar.shrinked .sidebar-header .title {
display: none; display: none;
} }
/* SIDEBAR MEDIAQUERIES ----------------------------------- */ /* SIDEBAR MEDIAQUERIES ----------------------------------- */
...@@ -2844,7 +2846,6 @@ a { ...@@ -2844,7 +2846,6 @@ a {
a:focus, a:hover { a:focus, a:hover {
color: #3b25e6; color: #3b25e6;
text-decoration: underline;
} }
h1, h1,
......
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