Commit b913b05e authored by daniel's avatar daniel

feat(cmpt): 模块时间展示处理

parent 6c9f0477
......@@ -38,7 +38,6 @@ import java.net.HttpURLConnection;
import java.net.URL;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@Log4j2
......@@ -137,109 +136,116 @@ public class MicroApiController {
private WeatherService weatherService;
@PostMapping(value = "/bindCmpt")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "绑定赛事", notes = "用户与赛事绑定功能", tags = "赛事页面")
public Result<EnrollInfo> bind(@RequestParam("phone") String phone,
@RequestParam("cmptId") Integer cmptId,
@RequestParam(name = "userMapId", defaultValue = "-1", required = false) Integer userMapId,
HttpServletRequest request) {
int userId = org.apache.commons.lang.math.NumberUtils.toInt(request.getParameter("userId"),-1);
if(userId == -1){
return Result.fail().setMsg("入参错误");
public Result<EnrollInfo> bind(@RequestParam("phone") String phone, @RequestParam("cmptId") Integer cmptId, @RequestParam(name = "userMapId", defaultValue = "-1", required = false) Integer userMapId, HttpServletRequest request) {
int userId = org.apache.commons.lang.math.NumberUtils.toInt(request.getParameter("userId"), -1);
if (userId == -1) {
return Result.fail()
.setMsg("入参错误");
}
log.info("===== /api/bindCmpt方法, userId:" + userId + ",userMapId:" + userMapId + ",cmptId:" + cmptId);
EnrollInfo info = cmptService.bind(userId, phone, cmptId, userMapId);
// // 根据手机号+姓名,没有查到计时系统的名单
// if (info == null) {
// return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!");
// }else {
// // 查到名单但是计时系统没有号码牌
// if(StringUtils.isBlank(info.getMarkNo())){
// return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!");
// }
// }
// // 根据手机号+姓名,没有查到计时系统的名单
// if (info == null) {
// return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!");
// }else {
// // 查到名单但是计时系统没有号码牌
// if(StringUtils.isBlank(info.getMarkNo())){
// return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!");
// }
// }
if (info == null) {
int count = cmptService.getEnrollInfoCount(cmptId,phone);
if(count == 0){
return Result.fail().setMsg("请完成报名,再绑定!");
}else{
return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!");
int count = cmptService.getEnrollInfoCount(cmptId, phone);
if (count == 0) {
return Result.fail()
.setMsg("请完成报名,再绑定!");
} else {
return Result.fail()
.setMsg("报名成功,未查询到组委会分配的号码牌!");
}
}
RoadUser user = remoteService.getEnrollUsersByPhone(cmptId, phone);
if(user != null){
if (user != null) {
info.setUserMapId(user.getUserMapId());
}
info.setUserMapId(userMapId);
return Result.success().setMsg("绑定成功!").setContent(info);
return Result.success()
.setMsg("绑定成功!")
.setContent(info);
}
/**
* 微信手机信息绑定赛事
*
* @return
*/
@PostMapping(value = "/bindCmptV2")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "返回本机手机号码", notes = "返回本机手机号码", tags = "赛事页面")
public Result<EnrollInfo> bind(HttpServletRequest request,
Integer userId, Integer cmptId,
String encryptedData, String iv, String code) {
public Result<EnrollInfo> bind(HttpServletRequest request, Integer userId, Integer cmptId, String encryptedData, String iv, String code) {
try {
Object session_key = valueOperations.get(KEY + userId);
if (session_key == null) {
log.info("session_key:" + session_key);
if (StringUtils.isNotBlank(code)) {
String partnerId = request.getParameter("partnerId");
JSONObject json = weixinInfoService.getOpenIdAndSessionKey(code,partnerId);
JSONObject json = weixinInfoService.getOpenIdAndSessionKey(code, partnerId);
if (null != json) {
if (json.containsKey("errcode")) { //是否有错误
return Result.fail().setMsg(json.getString("errcode") + " == " + json.getString("errmsg"));
} else { //用户的唯一标识(openid)
//获取会话密钥(session_key)
if (json.containsKey("errcode")) { // 是否有错误
return Result.fail()
.setMsg(json.getString("errcode") + " == " + json.getString("errmsg"));
} else { // 用户的唯一标识(openid)
// 获取会话密钥(session_key)
session_key = json.getString("session_key");
log.info("session_key:" + session_key);
valueOperations.set(KEY + userId, session_key);
}
} else {
return Result.fail().setMsg("获取授权失败");
return Result.fail()
.setMsg("获取授权失败");
}
} else {
valueOperations.getOperations().delete(KEY + userId);
return Result.fail().setMsg("session失效请重新登录").setCode(301);
valueOperations.getOperations()
.delete(KEY + userId);
return Result.fail()
.setMsg("session失效请重新登录")
.setCode(301);
}
}
String result = AesUtil.decrypt(encryptedData, (String) session_key, iv, "UTF-8");
log.info("result:" + result);
if (result == null) {
valueOperations.getOperations().delete(KEY + userId);
return Result.fail().setMsg("session失效请重新登录").setCode(301);
valueOperations.getOperations()
.delete(KEY + userId);
return Result.fail()
.setMsg("session失效请重新登录")
.setCode(301);
}
JSONObject json = JSONObject.parseObject(result);
String purePhoneNumber = json.getString("purePhoneNumber");
log.info("获取的手机是:" + purePhoneNumber);
EnrollInfo info = cmptService.bind(userId, purePhoneNumber, cmptId, -1);
if (info == null) {
int count = cmptService.getEnrollInfoCount(cmptId,purePhoneNumber);
if(count == 0){
return Result.fail().setMsg("请完成报名,再绑定!");
}else{
return Result.fail().setMsg("报名成功,未查询到组委会分配的号码牌!");
int count = cmptService.getEnrollInfoCount(cmptId, purePhoneNumber);
if (count == 0) {
return Result.fail()
.setMsg("请完成报名,再绑定!");
} else {
return Result.fail()
.setMsg("报名成功,未查询到组委会分配的号码牌!");
}
}
RoadUser user = remoteService.getEnrollUsersByPhone(cmptId, purePhoneNumber);
if(user != null){
if (user != null) {
info.setUserMapId(user.getUserMapId());
}
return Result.success().setMsg("绑定成功!").setContent(info);
return Result.success()
.setMsg("绑定成功!")
.setContent(info);
} catch (Exception e) {
log.info(e.getMessage(), e);
......@@ -251,50 +257,57 @@ public class MicroApiController {
/**
* 获取本机手机号方法
* by Linc 2022/08/01
*
* @return
*/
@PostMapping(value = "/localPhone")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "返回本机手机号码", notes = "返回本机手机号码", tags = "赛事页面")
public Result<EnrollInfo> localPhone(HttpServletRequest request,
Integer userId, String encryptedData, String iv, String code) {
public Result<EnrollInfo> localPhone(HttpServletRequest request, Integer userId, String encryptedData, String iv, String code) {
try {
Object session_key = valueOperations.get(KEY + userId);
if (session_key == null) {
log.info("session_key:" + session_key);
if (StringUtils.isNotBlank(code)) {
String partnerId = request.getParameter("partnerId");
JSONObject json = weixinInfoService.getOpenIdAndSessionKey(code,partnerId);
JSONObject json = weixinInfoService.getOpenIdAndSessionKey(code, partnerId);
if (null != json) {
if (json.containsKey("errcode")) { //是否有错误
return Result.fail().setMsg(json.getString("errcode") + " == " + json.getString("errmsg"));
} else { //用户的唯一标识(openid)
//获取会话密钥(session_key)
if (json.containsKey("errcode")) { // 是否有错误
return Result.fail()
.setMsg(json.getString("errcode") + " == " + json.getString("errmsg"));
} else { // 用户的唯一标识(openid)
// 获取会话密钥(session_key)
session_key = json.getString("session_key");
log.info("session_key:" + session_key);
valueOperations.set(KEY + userId, session_key);
}
} else {
return Result.fail().setMsg("获取授权失败");
return Result.fail()
.setMsg("获取授权失败");
}
} else {
valueOperations.getOperations().delete(KEY + userId);
return Result.fail().setMsg("session失效请重新登录").setCode(301);
valueOperations.getOperations()
.delete(KEY + userId);
return Result.fail()
.setMsg("session失效请重新登录")
.setCode(301);
}
}
String result = AesUtil.decrypt(encryptedData, (String) session_key, iv, "UTF-8");
log.info("result:" + result);
if (result == null) {
valueOperations.getOperations().delete(KEY + userId);
return Result.fail().setMsg("session失效请重新登录").setCode(301);
valueOperations.getOperations()
.delete(KEY + userId);
return Result.fail()
.setMsg("session失效请重新登录")
.setCode(301);
}
JSONObject json = JSONObject.parseObject(result);
String purePhoneNumber = json.getString("purePhoneNumber");
log.info("获取的手机是:" + purePhoneNumber);
return Result.success().setMsg("绑定成功!").setContent(purePhoneNumber);
return Result.success()
.setMsg("绑定成功!")
.setContent(purePhoneNumber);
} catch (Exception e) {
log.info(e.getMessage(), e);
}
......@@ -302,149 +315,152 @@ public class MicroApiController {
}
@RequestMapping("bindPhone")
public Result bindPhone(HttpServletRequest request,
int userId,
String encryptedData, String iv, String code){
public Result bindPhone(HttpServletRequest request, int userId, String encryptedData, String iv, String code) {
try {
String session_key = null;
if (StringUtils.isNotBlank(code)) {
String partnerId = request.getParameter("partnerId");
JSONObject json = weixinInfoService.getOpenIdAndSessionKey(code,partnerId);
JSONObject json = weixinInfoService.getOpenIdAndSessionKey(code, partnerId);
if (null != json) {
if (json.containsKey("errcode")) { //是否有错误
return Result.fail().setMsg(json.getString("errcode") + " == " + json.getString("errmsg"));
} else { //用户的唯一标识(openid)
//获取会话密钥(session_key)
if (json.containsKey("errcode")) { // 是否有错误
return Result.fail()
.setMsg(json.getString("errcode") + " == " + json.getString("errmsg"));
} else { // 用户的唯一标识(openid)
// 获取会话密钥(session_key)
session_key = json.getString("session_key");
log.info("session_key:" + session_key);
valueOperations.set(KEY + userId, session_key);
}
} else {
return Result.fail().setMsg("获取授权失败");
return Result.fail()
.setMsg("获取授权失败");
}
} else {
valueOperations.getOperations().delete(KEY + userId);
return Result.fail().setMsg("session失效请重新登录").setCode(301);
valueOperations.getOperations()
.delete(KEY + userId);
return Result.fail()
.setMsg("session失效请重新登录")
.setCode(301);
}
String result = AesUtil.decrypt(encryptedData, (String) session_key, iv, "UTF-8");
log.info("result:" + result);
if (result == null) {
valueOperations.getOperations().delete(KEY + userId);
return Result.fail().setMsg("session失效请重新登录").setCode(301);
valueOperations.getOperations()
.delete(KEY + userId);
return Result.fail()
.setMsg("session失效请重新登录")
.setCode(301);
}
JSONObject json = JSONObject.parseObject(result);
String purePhoneNumber = json.getString("purePhoneNumber");
json.put("phone",purePhoneNumber);
json.put("phone", purePhoneNumber);
json.remove("purePhoneNumber");
log.info("获取的手机是:" + purePhoneNumber);
GeexekUser user = cmptService.getGeexekUser(userId);
log.info("获取用户信息:"+user+",userId:"+user);
if(user == null){
return Result.fail().setMsg("未找到用户信息");
}else{
if(StringUtils.isBlank(user.getCallPhone()) || !user.getCallPhone().equals(purePhoneNumber)){
log.info("手机号不一致"+user.getCallPhone()+","+purePhoneNumber);
log.info("获取用户信息:" + user + ",userId:" + user);
if (user == null) {
return Result.fail()
.setMsg("未找到用户信息");
} else {
if (StringUtils.isBlank(user.getCallPhone()) || !user.getCallPhone()
.equals(purePhoneNumber)) {
log.info("手机号不一致" + user.getCallPhone() + "," + purePhoneNumber);
}
if(StringUtils.isBlank(user.getCallPhone())) {
if (StringUtils.isBlank(user.getCallPhone())) {
user.setCallPhone(purePhoneNumber);
int i = cmptService.updateGeexekUser(user);
if(i > 0){
if (i > 0) {
log.info("补齐手机号成功");
}
}
return Result.success().setMsg("获取成功").setContent(json);
return Result.success()
.setMsg("获取成功")
.setContent(json);
}
} catch (Exception e) {
log.info(e.getMessage(), e);
return Result.fail().setMsg(e.getMessage());
return Result.fail()
.setMsg(e.getMessage());
}
}
@PostMapping(value = "/unbindCmpt")
@ApiResponses({
@ApiResponse(code = 200, message = "成功", response = Result.class),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功", response = Result.class), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class)})
@ApiOperation(value = "解除赛事绑定", notes = "解除用户与赛事绑定功能", tags = "赛事页面")
public Result unbind(@RequestParam("userId") Integer userId,
@RequestParam("enrollId") String enrollId, @RequestParam("cmptId") Integer cmptId) {
public Result unbind(@RequestParam("userId") Integer userId, @RequestParam("enrollId") String enrollId, @RequestParam("cmptId") Integer cmptId) {
int code = cmptService.unbind(userId, enrollId, cmptId);
if (code < 0) {
return Result.fail().setMsg("解绑失败");
return Result.fail()
.setMsg("解绑失败");
}
return Result.success().setMsg("解绑成功!");
return Result.success()
.setMsg("解绑成功!");
}
@GetMapping(value = "/cmpt/{userId}")
@ApiResponses({@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "我的赛事", notes = "我的赛事", tags = {"首页接口"})
public Result<List<CmptVo>> myCmpt(@PathVariable("userId") Integer userId) {
List<CmptVo> list = cmptService.queryUserCmptList(userId);
return Result.success().setContent(list);
return Result.success()
.setContent(list);
}
@GetMapping(value = "/cmpt/getCmpt/{cmptId}")
@ApiResponses({@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "赛事", notes = "赛事", tags = {"首页接口"})
public Result getCmpt(@PathVariable("cmptId") Integer cmptId) {
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
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")})
@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) {
// 新增耗时计算
long startTime = System.currentTimeMillis();
Customer customer = customerService.getCusomerServiceInfo(cmptId);
FuncSetting setting = funcSettingService.getSettingByCmptId(cmptId);
Map<String,String> result = new HashMap<>();
if(setting == null || setting.getCustomer() == null || setting.getCustomer() != 1){
result.put("mobile","");
}else{
result.put("mobile",customer == null ? "" : customer.getMobile());
Map<String, String> result = new HashMap<>();
if (setting == null || setting.getCustomer() == null || setting.getCustomer() != 1) {
result.put("mobile", "");
} else {
result.put("mobile", customer == null ? "" : customer.getMobile());
}
// 新增耗时计算
long endTime = System.currentTimeMillis();
long duration = endTime - startTime;
// log.info("获取合作信息耗时:" + duration + "毫秒");
return Result.success().setContent(result);
return Result.success()
.setContent(result);
}
/**
* 小程序赛事列表接口
*
* @return 赛事列表
*/
@PostMapping(value = "/cmpt")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Page.class, responseContainer = "List")})
@ApiImplicitParams({
@ApiImplicitParam(value = "页码", name = "page", required = false, paramType = "query"),
@ApiImplicitParam(value = "条数", name = "size", required = false, paramType = "query"),
@ApiImplicitParam(value = "关键字", name = "keyword", required = false)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Page.class, responseContainer = "List")})
@ApiImplicitParams({@ApiImplicitParam(value = "页码", name = "page", required = false, paramType = "query"), @ApiImplicitParam(value = "条数", name = "size", required = false, paramType = "query"), @ApiImplicitParam(value = "关键字", name = "keyword", required = false)})
@ApiOperation(value = "赛事列表", notes = "赛事列表,与查询接口一致", tags = "首页接口")
public Page<List<Cmpt>> cmpt(@ApiIgnore Pageable page, String keyword,HttpServletRequest request) {
public Page<List<Cmpt>> cmpt(@ApiIgnore Pageable page, String keyword, HttpServletRequest request) {
int type = NumberUtils.toInt(request.getParameter("type"), 0);
String partnerId = request.getParameter("partnerId");
String creator = request.getParameter("userId");
Partner partner = cmptService.getPartnerById(partnerId);
// log.info("partner:"+partner);
Map<String,String> param = new HashMap<>();
param.put("userId",partner.getUserId()+"");
param.put("creator",creator);
param.put("type",type+"");
param.put("keyword",keyword);
param.put("partnerId",partnerId);
// log.info("partner:"+partner);
Map<String, String> param = new HashMap<>();
param.put("userId", partner.getUserId() + "");
param.put("creator", creator);
param.put("type", type + "");
param.put("keyword", keyword);
param.put("partnerId", partnerId);
Page<List<Cmpt>> result = cmptService.queryCmpt(page, param);
result.setCode(200);
return result;
......@@ -452,49 +468,48 @@ public class MicroApiController {
@GetMapping(value = "/queryMyCmpt")
public Result<List<Cmpt>> queryMyCmpt(@ApiIgnore Pageable page, String keyword,HttpServletRequest request) {
int userId = NumberUtils.toInt(request.getParameter("userId"),-1);
public Result<List<Cmpt>> queryMyCmpt(@ApiIgnore Pageable page, String keyword, HttpServletRequest request) {
int userId = NumberUtils.toInt(request.getParameter("userId"), -1);
if (userId == -1) {
return Result.fail().setMsg("参数不正常!");
return Result.fail()
.setMsg("参数不正常!");
}
List<Cmpt> result = cmptService.queryMyCmpt(userId);
result.forEach(cmpt -> {
if(StringUtils.isBlank(cmpt.getLogo())){
if (StringUtils.isBlank(cmpt.getLogo())) {
cmpt.setLogo("https://imgoss.geexek.com/micro_defailt.jpg");
}
});
return Result.success().setContent(result);
return Result.success()
.setContent(result);
}
@GetMapping(value = "/func/{cmptId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiImplicitParam(name = "enrollId", value = "赛事用户标识", required = false, paramType = "query")
@ApiOperation(value = "赛事功能模块列表", notes = "赛事功能模块列表", tags = "赛事页面")
public Result<List<Func>> func(@PathVariable("cmptId") int cmpId,
HttpServletRequest request) {
public Result<List<Func>> func(@PathVariable("cmptId") int cmpId, HttpServletRequest request) {
// String enrollId = request.getParameter("enrollId");
List<Func> list = cmptSetting.queryFuncs(cmpId);
list=list
.stream()
.filter(v -> {
if (v.getNeedTime() == null || v.getNeedTime() != 1) {
return true; // 不需要时间校验的直接保留
}
Date now = new Date();
// 检查开始时间条件(如果有)
boolean startValid = v.getStartTime() == null || !now.before(v.getStartTime());
// 检查结束时间条件(如果有)
boolean endValid = v.getDeadTime() == null || now.before(v.getDeadTime());
// 必须同时满足开始和结束时间条件
return startValid && endValid;
})
.collect(Collectors.toList());
// list=list
// .stream()
// .filter(v -> {
// if (v.getNeedTime() == null || v.getNeedTime() != 1) {
// return true; // 不需要时间校验的直接保留
// }
// Date now = new Date();
// // 检查开始时间条件(如果有)
// boolean startValid = v.getStartTime() == null || !now.before(v.getStartTime());
// // 检查结束时间条件(如果有)
// boolean endValid = v.getDeadTime() == null || now.before(v.getDeadTime());
//
// // 必须同时满足开始和结束时间条件
// return startValid && endValid;
// })
// .collect(Collectors.toList());
list.forEach(v -> {
if(v.getOpenType().equals(0)){
if (v.getOpenType()
.equals(0)) {
v.setUrl(serverURL + "gk/cmpt/cmptSetting/page/" + v.getId());
}
});
......@@ -503,31 +518,28 @@ public class MicroApiController {
} else { // 绑定后
list = cmptSetting.queryFuncs(cmpId); // 仅公开
}*/
return Result.success().setContent(list);
return Result.success()
.setContent(list);
}
@GetMapping(value = "/info/{cmptId}/{markNo}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "个人赛事信息", notes = "个人赛事信息", tags = "赛事页面")
public Result<EnrollInfo> userInfo(@PathVariable("cmptId") Integer cmpId, @PathVariable("markNo") String markNo) {
EnrollInfo enrollInfo = nameListService.getUserInfo(markNo, cmpId);
return Result.success().setContent(enrollInfo);
return Result.success()
.setContent(enrollInfo);
}
@GetMapping(value = "/route/{cmptId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "下载gps,kml", notes = "下载gps,kml", tags = "路线下载")
public Result<List<Road>> route(@PathVariable("cmptId") int cmptId, @RequestParam(value = "userId", required = false) Integer userId) {
// 判断功能是否开放
// 开放 返回全部 、未开发仅返回当前组别的赛事
List<Road> roads = roadService.queryRoads(cmptId);
return Result.success().setContent(roads);
return Result.success()
.setContent(roads);
}
/**
......@@ -536,32 +548,26 @@ public class MicroApiController {
* @return
*/
@GetMapping(value = "/route/gps/{roadId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "获取路线坐标点", notes = "获取路线坐标点", tags = "路线导入")
public Result<RoadGpsPoint> route_gps(@PathVariable("roadId") Integer roadId,
@RequestParam(name = "pathId", required = false, defaultValue = "-1") int pathId) {
public Result<RoadGpsPoint> route_gps(@PathVariable("roadId") Integer roadId, @RequestParam(name = "pathId", required = false, defaultValue = "-1") int pathId) {
RoadGpsPoint gps = roadService.getGps(roadId, pathId);
return Result.success().setContent(gps);
return Result.success()
.setContent(gps);
}
@PostMapping(value = "/gps/upload")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "上传坐标", notes = "上传坐标", tags = "联系救援")
public Result<ObjectUtils.Null> gps(@RequestParam("lat") double lat,
@RequestParam("lng") double lng,
@RequestParam("enrollId") String markNo,
@RequestParam("cmptId") Integer cmptId) {
Aid aid = new Aid().setCmptId(cmptId).setLat(lat)
.setLng(lng).setMarkNo(markNo)
public Result<ObjectUtils.Null> gps(@RequestParam("lat") double lat, @RequestParam("lng") double lng, @RequestParam("enrollId") String markNo, @RequestParam("cmptId") Integer cmptId) {
Aid aid = new Aid().setCmptId(cmptId)
.setLat(lat)
.setLng(lng)
.setMarkNo(markNo)
.setStatus(0);
gpsService.save(aid);
return Result.success().setContent(null);
return Result.success()
.setContent(null);
}
......@@ -572,14 +578,12 @@ public class MicroApiController {
* @return
*/
@GetMapping(value = "/concat/{cmptId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "获取联系救助方式", notes = "获取联系救助方式", tags = "联系救援")
public Result<List<Contact>> concat(@PathVariable("cmptId") Integer cmptId) {
List<Contact> list = concatService.queryConcat(cmptId);
return Result.success().setContent(list);
return Result.success()
.setContent(list);
}
......@@ -590,14 +594,12 @@ public class MicroApiController {
* @return
*/
@GetMapping(value = "/equipment/{cmptId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "获取强制装备", notes = "获取强制装备", tags = "强制装备")
public Result<List<Equipment>> equipment(@PathVariable("cmptId") Integer cmptId) {
List<Equipment> list = equipmentService.queryEquipments(cmptId);
return Result.success().setContent(list);
return Result.success()
.setContent(list);
}
......@@ -607,86 +609,91 @@ public class MicroApiController {
* @return
*/
@PostMapping(value = "/bindWx")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "微信登录/注册", notes = "微信登录/注册", tags = "用户信息")
public Result<User> bindWx(HttpServletRequest request, String encryptedData, String iv, String code) {
//////////////// 1、向微信服务器 使用登录凭证 code 获取 session_key 和 openid ////////////////
// log.info("=====bindWx方法,code:" + code + ",encryptedData:" + encryptedData + ",code:" + code);
// log.info("=====bindWx方法,code:" + code + ",encryptedData:" + encryptedData + ",code:" + code);
String partnerId = request.getParameter("partnerId");
// log.info("=====/bindWx 请求参数:"+request.getQueryString());
// log.info("=====/bindWx 请求参数:"+request.getQueryString());
JSONObject json = weixinInfoService.getOpenIdAndSessionKey(code, partnerId);
String openid = null;
String session_key;
String unionId = null;
if (null != json) {
if (json.containsKey("errcode")) { //是否有错误
return Result.fail().setMsg(json.getString("errcode") + " == " + json.getString("errmsg"));
} else { //用户的唯一标识(openid)
if (json.containsKey("errcode")) { // 是否有错误
return Result.fail()
.setMsg(json.getString("errcode") + " == " + json.getString("errmsg"));
} else { // 用户的唯一标识(openid)
openid = json.getString("openid");
//获取会话密钥(session_key)
// 获取会话密钥(session_key)
session_key = json.getString("session_key");
// log.info("=====openId:" + openid + ", session_key:" + session_key);
// log.info("=====openId:" + openid + ", session_key:" + session_key);
}
} else {
log.info("=====获取授权失败");
return Result.fail().setMsg("获取授权失败");
return Result.fail()
.setMsg("获取授权失败");
}
//////////////// 2、对encryptedData加密数据进行AES解密 ////////////////
try {
String result = AesUtil.decrypt(encryptedData, session_key, iv, "UTF-8");
// log.info("=====解密结果:"+result);
// log.info("=====解密结果:"+result);
if (null != result && result.length() > 0) {
JSONObject jsoninfo = JSONObject.parseObject(result);
String name = jsoninfo.getString("nickName");
if(StringUtils.isNotBlank(name)){
name = name.replaceAll("\\{","").replaceAll("\\}","");
if (StringUtils.isNotBlank(name)) {
name = name.replaceAll("\\{", "")
.replaceAll("\\}", "");
}
String imgUrl = jsoninfo.getString("avatarUrl");
// 根据组委会ID判断是否覆盖微信头像(微信小程序获取头像昵称规则变更兼容)
Partner partner = partnerService.getPartnerById(partnerId);
// 如果配置为不覆盖头像
if(partner.getCoverHeadImg() == 0){
if (partner.getCoverHeadImg() == 0) {
name = "";
imgUrl = "";
log.info("=====小程序组委会["+partner.getName()+"]不覆盖微信头像");
log.info("=====小程序组委会[" + partner.getName() + "]不覆盖微信头像");
}
String url = null;
if(jsoninfo.getString("unionId") != null &&
!"null".equals(jsoninfo.getString("unionId"))){
url = geexekURL + "registerInfo/saveOrUpdateByUnionId.do?unionId=" + jsoninfo.getString("unionId") + "&openId=" + openid +
"&userName=" + name + "&nickName=" + name + "&userFrom=3";
}else{
url = geexekURL + "registerInfo/saveOrUpdateByOpenId.do?openId=" + openid +
"&userName=" + name + "&nickName=" + name + "&userFrom=3";
if (jsoninfo.getString("unionId") != null && !"null".equals(jsoninfo.getString("unionId"))) {
url = geexekURL + "registerInfo/saveOrUpdateByUnionId.do?unionId=" + jsoninfo.getString("unionId") + "&openId=" + openid + "&userName=" + name + "&nickName=" + name + "&userFrom=3";
} else {
url = geexekURL + "registerInfo/saveOrUpdateByOpenId.do?openId=" + openid + "&userName=" + name + "&nickName=" + name + "&userFrom=3";
}
// log.info("=====请求的URL:" + url);
// log.info("=====请求的URL:" + url);
ResponseEntity<String> forEntity = restTemplate.getForEntity(url, String.class);
if (forEntity.getStatusCode() == HttpStatus.OK) {
JSONObject object = JSONObject.parseObject(forEntity.getBody());
// log.info("=====返回的JSON:" + forEntity.getBody());
int userId = object.getJSONObject("result").getIntValue("userId");
User user = new User().setUserId(userId).setHeadImgUrl(imgUrl).setOpenId(openid)
// log.info("=====返回的JSON:" + forEntity.getBody());
int userId = object.getJSONObject("result")
.getIntValue("userId");
User user = new User().setUserId(userId)
.setHeadImgUrl(imgUrl)
.setOpenId(openid)
.setUnionId(jsoninfo.getString("unionId"))
.setPhone(StringUtils.isBlank(object.getJSONObject("result").getString("callPhone"))?"":object.getJSONObject("result").getString("callPhone"));
.setPhone(StringUtils.isBlank(object.getJSONObject("result")
.getString("callPhone")) ? "" : object.getJSONObject("result")
.getString("callPhone"));
valueOperations.set(KEY + userId, session_key);
// log.info("返回数据:" + user);
return Result.success().setContent(user);
// log.info("返回数据:" + user);
return Result.success()
.setContent(user);
} else {
log.info("=====请求平台数据出错!");
return Result.fail().setMsg("请求平台数据出错!");
return Result.fail()
.setMsg("请求平台数据出错!");
}
}
} catch (Exception e) {
log.info(e.getMessage(), e);
}
return Result.fail().setMsg("解密失败出现异常,登录失败");
return Result.fail()
.setMsg("解密失败出现异常,登录失败");
}
......@@ -696,10 +703,7 @@ public class MicroApiController {
* @return
*/
@PostMapping(value = "/countDownload")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "上传KML|GPS文件下载", notes = "统计文件下载次数", response = Result.class, tags = "路线下载")
public Result countDownload(Integer roadId) {
roadService.countDownload(roadId);
......@@ -712,10 +716,7 @@ public class MicroApiController {
* @return
*/
@PostMapping(value = "/enrollStatus/{cmptId}/{userId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "获取报名状态", notes = "获取报名状态", response = Result.class, tags = "获取报名状态")
public Result enrollStatus(@PathVariable("cmptId") Integer cmptId, @PathVariable("userId") Integer userId) {
return Result.success();
......@@ -728,18 +729,19 @@ public class MicroApiController {
* @return
*/
@GetMapping(value = "/funcSetting/{cmptId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "获取赛事设置开关", notes = "获取赛事设置开关", response = Result.class, tags = "获取赛事设置开关")
public Result funcSetting(@PathVariable("cmptId") Integer cmptId) {
FuncSetting setting = funcSettingService.getSettingByCmptId(cmptId);
if (setting == null) {
setting = new FuncSetting().setCmptId(cmptId).setCountDown(0).setMobile(0).setNews(0);
setting = new FuncSetting().setCmptId(cmptId)
.setCountDown(0)
.setMobile(0)
.setNews(0);
log.info("未查询到赛事设置");
}
return Result.success().setContent(setting);
return Result.success()
.setContent(setting);
}
/**
......@@ -748,28 +750,28 @@ public class MicroApiController {
* @return
*/
@GetMapping(value = "/cmpt/news/{cmptId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "获取赛事资讯", notes = "获取赛事资讯", response = Result.class, tags = "获取赛事资讯")
public Result news(@PathVariable("cmptId") Integer cmptId) {
List<News> news = newsService.queryNewsByCmptId(cmptId);
if (news == null){ return Result.fail();}
if (news == null) {
return Result.fail();
}
news.forEach(newsObj -> {
newsObj.setUrl(serverURL + "gk/news/page/" + newsObj.getId());
// newsObj.setContent("");
});
Map result = new HashMap();
FuncSetting setting = funcSettingService.getSettingByCmptId(cmptId);
if (setting == null){
result.put("name","");
}else{
result.put("name",setting.getNewsAlias());
if (setting == null) {
result.put("name", "");
} else {
result.put("name", setting.getNewsAlias());
}
result.put("list",news);
return Result.success().setContent(result);
result.put("list", news);
return Result.success()
.setContent(result);
}
/**
......@@ -778,18 +780,16 @@ public class MicroApiController {
* @return
*/
@GetMapping(value = "/enroll/list/{cmptId}/{userId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "获取赛事资讯", notes = "获取赛事资讯", response = Result.class, tags = "获取赛事资讯")
public Result enroll_list(@PathVariable("cmptId") Integer cmptId, @PathVariable("userId") String userId) {
if(StringUtils.isBlank(userId) || "null".equals(userId)){
if (StringUtils.isBlank(userId) || "null".equals(userId)) {
log.info("上传用户Id为null");
return Result.fail();
}
List<RoadUser> users = remoteService.getEnrollUsers(cmptId, Integer.valueOf(userId));
return Result.success().setContent(users);
return Result.success()
.setContent(users);
}
/**
......@@ -894,7 +894,8 @@ public class MicroApiController {
} else {
// 获取对比分数
if (cpResult.get("score") != "faceEorro" && !cpResult.get("score").equals("faceEorro")) {
if (cpResult.get("score") != "faceEorro" && !cpResult.get("score")
.equals("faceEorro")) {
idCardCp = Double.parseDouble(cpResult.get("score"));
if (idCardCp < 75) {
result = "您上传的身份证照片与头像不是同一个人,请重新上传";
......@@ -925,9 +926,12 @@ public class MicroApiController {
} else {
if (mapw.get("code") == null) {
code = 210;
result = mapw.get("msg") != null ? mapw.get("msg").toString() : "保存签到头像失败";
} else if (!StringUtils.equals("200.0", mapw.get("code").toString())) {
result = mapw.get("msg") != null ? mapw.get("msg").toString() : "保存签到头像失败";
result = mapw.get("msg") != null ? mapw.get("msg")
.toString() : "保存签到头像失败";
} else if (!StringUtils.equals("200.0", mapw.get("code")
.toString())) {
result = mapw.get("msg") != null ? mapw.get("msg")
.toString() : "保存签到头像失败";
}
}
} else {
......@@ -1002,8 +1006,7 @@ public class MicroApiController {
reader.close();
result = sbf.toString();
Gson gson = new Gson();
@SuppressWarnings("serial")
Map<String, Object> map = gson.fromJson(result, (new TypeToken<HashMap<String, Object>>() {
@SuppressWarnings("serial") Map<String, Object> map = gson.fromJson(result, (new TypeToken<HashMap<String, Object>>() {
}).getType());
return map;
} catch (Exception e) {
......@@ -1014,15 +1017,17 @@ public class MicroApiController {
}
@RequestMapping(value = "getRandIdByMarkNo",method = RequestMethod.GET)
@RequestMapping(value = "getRandIdByMarkNo", method = RequestMethod.GET)
public Result getRandIdByMarkNo(String cmptId, String markNo) {
ResponseEntity<String> result = restTemplate.getForEntity(timerURL + "getRandIdByMarkNo.do?cmptId=" + cmptId + "&markNo=" + markNo, String.class);
if (result.getStatusCode() == HttpStatus.OK) {
JSONObject object = JSONObject.parseObject(result.getBody());
if (object != null && !object.isEmpty()) {
String rankId = object.getJSONObject("content").getString("rankId");
String rankId = object.getJSONObject("content")
.getString("rankId");
if (StringUtils.isNotBlank(rankId)) {
return Result.success().setContent(rankId);
return Result.success()
.setContent(rankId);
}
}
}
......@@ -1036,14 +1041,12 @@ public class MicroApiController {
* @return
*/
@GetMapping(value = "/banner/{cmptId}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "获取轮播图", notes = "获取轮播图", response = Result.class, tags = "获取轮播图")
public Result banner(@PathVariable("cmptId") Integer cmptId) {
List<Banner> banners = bannerService.queryAll(cmptId);
return Result.success().setContent(banners);
return Result.success()
.setContent(banners);
}
/**
......@@ -1052,21 +1055,18 @@ public class MicroApiController {
* @return
*/
@GetMapping(value = "/banner/count/{cmptId}/{id}")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "轮播曝光统计", notes = "轮播曝光统计", response = Result.class, tags = "轮播曝光统计")
public Result banner_count(HttpServletRequest request,@PathVariable("cmptId") Integer cmptId,@PathVariable("id") String id) {
public Result banner_count(HttpServletRequest request, @PathVariable("cmptId") Integer cmptId, @PathVariable("id") String id) {
String remoteAddr = JService.getRemoteAddr(request);
// uv
valueOperations.increment(CountJob.getUvKey(cmptId,id),1L);
valueOperations.increment(CountJob.getUvKey(cmptId, id), 1L);
// pv
hashOperations.put(CountJob.getPvKey(cmptId,id),remoteAddr,"1");
hashOperations.put(CountJob.getPvKey(cmptId, id), remoteAddr, "1");
valueOperations.increment(CountJob.getCmptUvKey(cmptId),1L);
hashOperations.put(CountJob.getCmptPvKey(cmptId),remoteAddr,"1");
valueOperations.increment(CountJob.getCmptUvKey(cmptId), 1L);
hashOperations.put(CountJob.getCmptPvKey(cmptId), remoteAddr, "1");
return Result.success();
}
......@@ -1077,199 +1077,229 @@ public class MicroApiController {
* @return
*/
@PostMapping(value = "/uploadScore")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "上传成绩", notes = "上传成绩", response = Result.class, tags = "上传成绩")
public Result uploadScore(HttpServletRequest request) throws IOException {
String contentType = request.getContentType();
//1.获取字符流
// 1.获取字符流
BufferedReader br = request.getReader();
//2.读取数据
// 2.读取数据
String line = null;
StringBuilder sb = new StringBuilder();
while((line = br.readLine()) != null){
while ((line = br.readLine()) != null) {
sb.append(line);
}
log.info("contentType:"+contentType+",body:"+sb.toString());
log.info("contentType:" + contentType + ",body:" + sb.toString());
UserScore score = JSONObject.parseObject(sb.toString(), UserScore.class);
log.info(score);
//接受前端提交的成绩,校验是否符合规则,并取出本条规则
CmptScoreRule rule = cmptScoreRuleService.getCmptScoreRulesByCmptIdAndIndex(score.getCmptId(),score.getIndexId());
if(rule == null){ return Result.fail().setMsg("未找到规则");}
//判断此条规则是否提交过成绩
Integer scoreId = cmptScoreRuleScoreInfoService.getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(score.getCmptId(),score.getMarkNo(),rule.getId());
if(scoreId != null){
return Result.fail().setMsg("已经上传过成绩!");
}
//根据里程计算配速,里程来自用户自己填写的里程或者来自项目的里程
int duration=score.getScore().getDuration();
float cmptPace=0;
int mileage=0;
// 接受前端提交的成绩,校验是否符合规则,并取出本条规则
CmptScoreRule rule = cmptScoreRuleService.getCmptScoreRulesByCmptIdAndIndex(score.getCmptId(), score.getIndexId());
if (rule == null) {
return Result.fail()
.setMsg("未找到规则");
}
// 判断此条规则是否提交过成绩
Integer scoreId = cmptScoreRuleScoreInfoService.getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(score.getCmptId(), score.getMarkNo(), rule.getId());
if (scoreId != null) {
return Result.fail()
.setMsg("已经上传过成绩!");
}
// 根据里程计算配速,里程来自用户自己填写的里程或者来自项目的里程
int duration = score.getScore()
.getDuration();
float cmptPace = 0;
int mileage = 0;
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(score.getCmptId());
int isHasMileage=settingByCmptId.getMileage();
//是否开启了里程的填写
if(isHasMileage==1){
mileage=score.getScore().getMileage();
if(mileage ==0){
return Result.fail().setMsg("请输入里程");
int isHasMileage = settingByCmptId.getMileage();
// 是否开启了里程的填写
if (isHasMileage == 1) {
mileage = score.getScore()
.getMileage();
if (mileage == 0) {
return Result.fail()
.setMsg("请输入里程");
}
DecimalFormat df = new DecimalFormat("0.##");
cmptPace=Float.valueOf(df.format((float)duration/mileage));
}else{
int distance=(int)remoteService.getTimeSegInfoByRoadId(score.getCmptId(),score.getRoadId()).get("distance");
if(distance ==0){
return Result.fail().setMsg("赛事项目需要设置里程");
cmptPace = Float.valueOf(df.format((float) duration / mileage));
} else {
int distance = (int) remoteService.getTimeSegInfoByRoadId(score.getCmptId(), score.getRoadId())
.get("distance");
if (distance == 0) {
return Result.fail()
.setMsg("赛事项目需要设置里程");
}
mileage=distance;
mileage = distance;
DecimalFormat df = new DecimalFormat("0.##");
cmptPace=Float.valueOf(df.format((float)duration/mileage));
cmptPace = Float.valueOf(df.format((float) duration / mileage));
}
String subsectionTime=score.getScore().getDate();
//前端上传json中取出里程,耗时,提交时间,赛事地,规则id,markNo
String subsectionTime = score.getScore()
.getDate();
// 前端上传json中取出里程,耗时,提交时间,赛事地,规则id,markNo
CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo = new CmptScoreRuleScoreInfo().setCmptId(score.getCmptId())
.setSubsectionscore(score.getScore().getDuration()).setSubsectionMileage(mileage).setCmptPace(cmptPace)
.setSubsectionscore(score.getScore()
.getDuration())
.setSubsectionMileage(mileage)
.setCmptPace(cmptPace)
.setSubsectionTime(subsectionTime)
.setCmptId(score.getCmptId()).setRuleId(rule.getId()).setMarkNo(score.getMarkNo()).setCheckStatus(0);
if(settingByCmptId.getSwitchScoreReview() == null){
.setCmptId(score.getCmptId())
.setRuleId(rule.getId())
.setMarkNo(score.getMarkNo())
.setCheckStatus(0);
if (settingByCmptId.getSwitchScoreReview() == null) {
settingByCmptId.setSwitchScoreReview(0);
}
//如果自动审核开启的话,进行单条成绩的审核处理
if(settingByCmptId.getSwitchScoreReview() != null && settingByCmptId.getSwitchScoreReview()==1){
//配速小于2"27不能通过审核
if(cmptPace<=(float)147/1000){
// 如果自动审核开启的话,进行单条成绩的审核处理
if (settingByCmptId.getSwitchScoreReview() != null && settingByCmptId.getSwitchScoreReview() == 1) {
// 配速小于2"27不能通过审核
if (cmptPace <= (float) 147 / 1000) {
cmptScoreRuleScoreInfo.setCheckStatus(2);
}else{
} else {
cmptScoreRuleScoreInfo.setCheckStatus(1);
}
}
// 保存校验通过的成绩
cmptScoreRuleScoreInfoService.saveScoreRuleScoreInfo(cmptScoreRuleScoreInfo);
//设置附加项的参数,并保存附加项
for(CmptScoreFieldValue value : score.getFields()){
// 设置附加项的参数,并保存附加项
for (CmptScoreFieldValue value : score.getFields()) {
value.setCmptId(score.getCmptId());
value.setMarkNo(score.getMarkNo());
value.setRuleId(rule.getId());
}
// 提交成绩保存设置附加项(照片等)
cmptScoreFieldValueService.saveOrUpdate(score.getFields());
//查看自动审核是否开启,如果开启直接将总成绩存入到计时系统remark1,如果没有开启走手动审核的逻辑
cmptScoreRuleScoreInfoService.scoreReviewByMarkNo(score.getCmptId(),score.getMarkNo(),settingByCmptId.getSwitchScoreReview());
return Result.success().setContent(score);
// 查看自动审核是否开启,如果开启直接将总成绩存入到计时系统remark1,如果没有开启走手动审核的逻辑
cmptScoreRuleScoreInfoService.scoreReviewByMarkNo(score.getCmptId(), score.getMarkNo(), settingByCmptId.getSwitchScoreReview());
return Result.success()
.setContent(score);
}
@GetMapping(value = "/getScore")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "获取成绩", notes = "获取成绩", response = Result.class, tags = "获取成绩")
public Result getScore(UserScore score) {
log.info("用户提交的成绩信息:"+score.toString());
CmptScoreRule rule = cmptScoreRuleService.getCmptScoreRulesByCmptIdAndIndex(score.getCmptId(),score.getIndexId());
if(rule == null){ return Result.fail().setContent("未找到匹配的规则");}
EnrollInfo userInfo = remoteService.getUserInfoByMarkNo(score.getMarkNo(), score.getCmptId());
if(userInfo == null){
return Result.fail().setMsg("未查询到用户信息,请重新绑定!");
log.info("用户提交的成绩信息:" + score.toString());
CmptScoreRule rule = cmptScoreRuleService.getCmptScoreRulesByCmptIdAndIndex(score.getCmptId(), score.getIndexId());
if (rule == null) {
return Result.fail()
.setContent("未找到匹配的规则");
}
log.info("用户信息:"+userInfo);
Map<String,Object> result = new HashMap<>();
Integer scoreItemId=cmptScoreRuleScoreInfoService.getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(score.getCmptId(),userInfo.getMarkNo(), rule.getId());
//小程序添加里程的是否需要用户填写
FuncSetting funcSetting =funcSettingService.getSettingByCmptId(score.getCmptId());
int switchMileage=funcSetting.getMileage();
int subsectionMileage=0;
if(scoreItemId != null){
CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo=cmptScoreRuleScoreInfoService.getCmptScoreRuleScoreInfoByruleIdAndMarkNo(score.getCmptId(),score.getMarkNo(),rule.getId());
if(cmptScoreRuleScoreInfo.getSubsectionMileage()==0){
subsectionMileage=0;
}else{
subsectionMileage=cmptScoreRuleScoreInfo.getSubsectionMileage();
EnrollInfo userInfo = remoteService.getUserInfoByMarkNo(score.getMarkNo(), score.getCmptId());
if (userInfo == null) {
return Result.fail()
.setMsg("未查询到用户信息,请重新绑定!");
}
log.info("用户信息:" + userInfo);
Map<String, Object> result = new HashMap<>();
Integer scoreItemId = cmptScoreRuleScoreInfoService.getCmptScoreRuleScoreInfoIdByruleIdAndMarkNo(score.getCmptId(), userInfo.getMarkNo(), rule.getId());
// 小程序添加里程的是否需要用户填写
FuncSetting funcSetting = funcSettingService.getSettingByCmptId(score.getCmptId());
int switchMileage = funcSetting.getMileage();
int subsectionMileage = 0;
if (scoreItemId != null) {
CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo = cmptScoreRuleScoreInfoService.getCmptScoreRuleScoreInfoByruleIdAndMarkNo(score.getCmptId(), score.getMarkNo(), rule.getId());
if (cmptScoreRuleScoreInfo.getSubsectionMileage() == 0) {
subsectionMileage = 0;
} else {
subsectionMileage = cmptScoreRuleScoreInfo.getSubsectionMileage();
}
result.put("score",new Score().setDate(cmptScoreRuleScoreInfo.getSubsectionTime().substring(0,10)).setDuration(cmptScoreRuleScoreInfo.getSubsectionscore()).setMileage(subsectionMileage).setSwitchMileage(switchMileage));
}else{ //初始阶段没有上传成绩,json也显示score,方便前端判断
result.put("score",new Score().setDate("0000-00-00").setDuration(0).setMileage(subsectionMileage).setSwitchMileage(switchMileage));
result.put("score", new Score().setDate(cmptScoreRuleScoreInfo.getSubsectionTime()
.substring(0, 10))
.setDuration(cmptScoreRuleScoreInfo.getSubsectionscore())
.setMileage(subsectionMileage)
.setSwitchMileage(switchMileage));
} else { // 初始阶段没有上传成绩,json也显示score,方便前端判断
result.put("score", new Score().setDate("0000-00-00")
.setDuration(0)
.setMileage(subsectionMileage)
.setSwitchMileage(switchMileage));
}
List<CmptScoreFieldValue> list= cmptScoreFieldValueService.getCmptScoreFieldValueByCmptIdAndMarkNoAndRuleId(score.getCmptId(),score.getMarkNo(),rule.getId());
result.put("items",list);
List<CmptScoreFieldValue> list = cmptScoreFieldValueService.getCmptScoreFieldValueByCmptIdAndMarkNoAndRuleId(score.getCmptId(), score.getMarkNo(), rule.getId());
result.put("items", list);
return Result.success().setContent(result);
return Result.success()
.setContent(result);
}
@GetMapping(value = "/checkCert.do")
@ApiResponses({
@ApiResponse(code = 200, message = "成功"),
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = 200, message = "成功"), @ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "上传成绩", notes = "上传成绩", response = Result.class, tags = "上传成绩")
public Result getScore(HttpServletRequest request) {
String cmptId = request.getParameter("cmptId");
String keyword = request.getParameter("keyword");
List<CmptScoreRuleScoreInfo> cmptScoreRuleScoreInfoList =cmptScoreRuleScoreInfoService.getScoreRuleScoreInfosBycmptIdAndMarkNo(Integer.valueOf(cmptId),keyword);
//如果有成绩提交记录,先检查成绩提交记录是否都审核完毕,如果没有成绩提交记录,检查扫码、自动打卡是否可以下载证书
if(cmptScoreRuleScoreInfoList.size()>0){
//查看赛事有几条成绩提交的规则,规则定义了几条,成绩记录也必须大于规则条数
List<CmptScoreRule> cmptScoreRuleList= cmptScoreRuleService.getCmptScoreRulesByCmptId(Integer.valueOf(cmptId));
if(cmptScoreRuleScoreInfoList.size()<cmptScoreRuleList.size()){
return Result.fail().setMsg("成绩审核后,才能查看证书,请耐心等待");
List<CmptScoreRuleScoreInfo> cmptScoreRuleScoreInfoList = cmptScoreRuleScoreInfoService.getScoreRuleScoreInfosBycmptIdAndMarkNo(Integer.valueOf(cmptId), keyword);
// 如果有成绩提交记录,先检查成绩提交记录是否都审核完毕,如果没有成绩提交记录,检查扫码、自动打卡是否可以下载证书
if (cmptScoreRuleScoreInfoList.size() > 0) {
// 查看赛事有几条成绩提交的规则,规则定义了几条,成绩记录也必须大于规则条数
List<CmptScoreRule> cmptScoreRuleList = cmptScoreRuleService.getCmptScoreRulesByCmptId(Integer.valueOf(cmptId));
if (cmptScoreRuleScoreInfoList.size() < cmptScoreRuleList.size()) {
return Result.fail()
.setMsg("成绩审核后,才能查看证书,请耐心等待");
}
for (CmptScoreRuleScoreInfo cmptScoreRuleScoreInfo : cmptScoreRuleScoreInfoList) {
//如果存在未审核,审核不通过的记录,不能下载完赛证书
if(cmptScoreRuleScoreInfo.getCheckStatus()==0 || cmptScoreRuleScoreInfo.getCheckStatus()==2){
return Result.fail().setMsg("成绩审核后,才能查看证书,请耐心等待");
// 如果存在未审核,审核不通过的记录,不能下载完赛证书
if (cmptScoreRuleScoreInfo.getCheckStatus() == 0 || cmptScoreRuleScoreInfo.getCheckStatus() == 2) {
return Result.fail()
.setMsg("成绩审核后,才能查看证书,请耐心等待");
}
}
return Result.success().setMsg("请下载证书");
}else{
//扫码打卡,自动打卡走计时证书的逻辑,需要验证是否可以下载证书
return Result.success()
.setMsg("请下载证书");
} else {
// 扫码打卡,自动打卡走计时证书的逻辑,需要验证是否可以下载证书
String result = remoteService.checkCert(cmptId, keyword);
if (request != null) {
JSONObject obj = JSONObject.parseObject(result);
Integer status = obj.getIntValue("status");
if (status != null) {
if (status == 0) {
return Result.success().setMsg(obj.getString("message"));
return Result.success()
.setMsg(obj.getString("message"));
} else if (status == 101) {
return Result.fail().setMsg("您尚未完赛,无法查看完赛证书");
return Result.fail()
.setMsg("您尚未完赛,无法查看完赛证书");
} else if (status == 102) {
return Result.fail().setMsg("证书未发布,无法查看完赛证书");
return Result.fail()
.setMsg("证书未发布,无法查看完赛证书");
} else {
return Result.fail().setMsg(obj.getString("message"));
return Result.fail()
.setMsg(obj.getString("message"));
}
}
return Result.fail().setMsg(obj.getString("message"));
return Result.fail()
.setMsg(obj.getString("message"));
} else {
return Result.fail().setMsg("网络异常");
return Result.fail()
.setMsg("网络异常");
}
}
}
/**
* 获取携带gps坐标的打卡点
*
* @param cmptId
* @param roadId
* @return
*/
@GetMapping(value = "/getRoadsGpsCheckpoint/{cmptId}/{roadId}")
@ApiResponses({
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "获取携带gps坐标的打卡点", notes = "获取携带gps坐标的打卡点", tags = "获取携带gps坐标的打卡点")
public Result getRoadsGpsCheckpoint(@PathVariable("cmptId") int cmptId,@PathVariable("roadId") int roadId){
List<RoadsGpsCheckpointMap> roadsGpsCheckpointMapList=roadsGpsCheckpointService.getRoadsGpsCheckpoint(cmptId,roadId);
return Result.success().setContent(roadsGpsCheckpointMapList);
public Result getRoadsGpsCheckpoint(@PathVariable("cmptId") int cmptId, @PathVariable("roadId") int roadId) {
List<RoadsGpsCheckpointMap> roadsGpsCheckpointMapList = roadsGpsCheckpointService.getRoadsGpsCheckpoint(cmptId, roadId);
return Result.success()
.setContent(roadsGpsCheckpointMapList);
}
/**
* 带经纬度坐标的打卡点上传成绩
*
* @param cmptId
* @param markNo
* @param checkPointId
......@@ -1277,103 +1307,107 @@ public class MicroApiController {
* @return
*/
@GetMapping(value = "/uploadGpsCheckPointScore/{cmptId}/{markNo}/{checkPointId}/{scoreTime}")
@ApiResponses({
@ApiResponse(code = -1, message = "失败"),
@ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiResponses({@ApiResponse(code = -1, message = "失败"), @ApiResponse(code = 200, message = "成功", response = Result.class)})
@ApiOperation(value = "带经纬度坐标的打卡点上传成绩", notes = "带经纬度坐标的打卡点上传成绩", response = Result.class, tags = "带经纬度坐标的打卡点上传成绩")
public Result uploadGpsCheckPointScore(@PathVariable("cmptId") int cmptId,@PathVariable("markNo") String markNo,@PathVariable("checkPointId") int checkPointId,@PathVariable("scoreTime") String scoreTime ){
String records=markNo+","+scoreTime+",1,"+checkPointId;
log.info("上传成绩的记录="+records);
HashMap<String,String> results=remoteService.uploadGpsCheckpointScore(cmptId,records);
public Result uploadGpsCheckPointScore(@PathVariable("cmptId") int cmptId, @PathVariable("markNo") String markNo, @PathVariable("checkPointId") int checkPointId, @PathVariable("scoreTime") String scoreTime) {
String records = markNo + "," + scoreTime + ",1," + checkPointId;
log.info("上传成绩的记录=" + records);
HashMap<String, String> results = remoteService.uploadGpsCheckpointScore(cmptId, records);
if(results.isEmpty()) {
return Result.fail().setContent(results);
if (results.isEmpty()) {
return Result.fail()
.setContent(results);
}
if("0".equals(results.get("message"))){
return Result.success().setContent(results);
if ("0".equals(results.get("message"))) {
return Result.success()
.setContent(results);
}
return Result.fail().setContent(results);
return Result.fail()
.setContent(results);
}
/**
* 自动打卡获取开枪时间或者结束时间及其是否清空小程序内存
*
* @param cmptId
* @param roadId
* @param markNo
* @return
*/
@GetMapping(value = "/getRoadOpenTimeAndCloseTime/{cmptId}/{roadId}/{markNo}")
@ApiResponses({
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "自动打卡获取开枪时间或者结束时间及其是否清空小程序内存", notes = "自动打卡获取开枪时间或者结束时间及其是否清空小程序内存", tags = "自动打卡获取开枪时间或者结束时间及其是否清空小程序内存")
public Result getRoadOpenTimeAndCloseTime(@PathVariable("cmptId") int cmptId,@PathVariable("roadId") int roadId,@PathVariable("markNo") String markNo){
HashMap<String,Long> roadsGpsCheckpointMapList=remoteService.getRoadOpenTimeAndCloseTime(cmptId,roadId);
long _isclean=remoteService.getIsCleanByMarkNo(cmptId,roadId,markNo);
roadsGpsCheckpointMapList.put("isClean",_isclean);
return Result.success().setContent(roadsGpsCheckpointMapList);
public Result getRoadOpenTimeAndCloseTime(@PathVariable("cmptId") int cmptId, @PathVariable("roadId") int roadId, @PathVariable("markNo") String markNo) {
HashMap<String, Long> roadsGpsCheckpointMapList = remoteService.getRoadOpenTimeAndCloseTime(cmptId, roadId);
long _isclean = remoteService.getIsCleanByMarkNo(cmptId, roadId, markNo);
roadsGpsCheckpointMapList.put("isClean", _isclean);
return Result.success()
.setContent(roadsGpsCheckpointMapList);
}
/**
* 根据号码牌获取此号码牌的打卡记录和成绩,打卡点对应的经纬度信息
* 扫描打卡时,判断是否在经纬度范围内,在的化允许打卡
*
* @param cmptId
* @param markNo
* @return
*/
@GetMapping(value = "/getCheckPointRecordByMarkNo/{cmptId}/{roadId}/{markNo}")
@ApiResponses({
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "根据号码牌获取此号码牌的打卡记录和成绩,打卡点对应的经纬度信息", notes = "根据号码牌获取此号码牌的打卡记录和成绩,打卡点对应的经纬度信息", tags = "根据号码牌获取此号码牌的打卡记录和成绩,打卡点对应的经纬度信息")
public Result getCheckPointRecordByMarkNo(@PathVariable("cmptId") int cmptId,@PathVariable("roadId") int roadId,@PathVariable("markNo") String markNo){
List<RoadTimerCheckpoint> roadTimerCheckpointList=remoteService.getAllCPScoreByMarkNo(cmptId,roadId,markNo);
return Result.success().setContent(roadTimerCheckpointList);
public Result getCheckPointRecordByMarkNo(@PathVariable("cmptId") int cmptId, @PathVariable("roadId") int roadId, @PathVariable("markNo") String markNo) {
List<RoadTimerCheckpoint> roadTimerCheckpointList = remoteService.getAllCPScoreByMarkNo(cmptId, roadId, markNo);
return Result.success()
.setContent(roadTimerCheckpointList);
}
@GetMapping(value = "/getSwitchMileage/{cmptId}")
@ApiResponses({
@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class),
@ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiResponses({@ApiResponse(code = -1, message = "失败", response = ObjectUtils.Null.class), @ApiResponse(code = 200, message = "成功", response = Result.class, responseContainer = "List")})
@ApiOperation(value = "根据赛事Id获取用户是否设置了成绩提交附加项:里程必填项", notes = "根据赛事Id获取用户是否设置了成绩提交附加项:里程必填项", tags = "根据赛事Id获取用户是否设置了成绩提交附加项:里程必填项")
public Result getSwitchMileage(@PathVariable("cmptId") int cmptId){
public Result getSwitchMileage(@PathVariable("cmptId") int cmptId) {
FuncSetting settingByCmptId = funcSettingService.getSettingByCmptId(cmptId);
return Result.success().setContent(settingByCmptId);
return Result.success()
.setContent(settingByCmptId);
}
/**
* 根据赛事Id获取项目列表
*
* @param cmptId
* @return
*/
@GetMapping(value = "/getRoadIdsByCmptId/{cmptId}")
public Result getRoadIdsByCmptId(@PathVariable("cmptId") Integer 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) {
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){
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");
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.put("isUploadPortrait", is);
return Result.success()
.setContent(param);
}
......@@ -1385,24 +1419,27 @@ public class MicroApiController {
@ResponseBody
public Result view(@PathVariable("cmptId") Integer cmptId) {
Long increment = valueOperations.increment("gk:view:" + cmptId, 1);
return Result.success().setContent(increment);
return Result.success()
.setContent(increment);
}
/**
* 统计赛事数据
*
* @param partnerId
* @return
*/
@GetMapping(value = "/cmpt/statistic")
@ResponseBody
public Result statistic(@RequestParam(value = "partnerId",required = false) String partnerId) {
public Result statistic(@RequestParam(value = "partnerId", required = false) String partnerId) {
Partner partner = partnerService.getPartnerById(partnerId);
if(partner == null){
if (partner == null) {
partner = new Partner();
partner.setUserId(-1);
}
Map<String,String> param = cmptService.getAllStatistic(partner.getUserId());
return Result.success().setContent(param);
Map<String, String> param = cmptService.getAllStatistic(partner.getUserId());
return Result.success()
.setContent(param);
}
/**
......@@ -1411,24 +1448,24 @@ public class MicroApiController {
*/
@GetMapping(value = "/manualMarkNO")
@ResponseBody
public Result manualMarkNO(@RequestParam("cmptId") int cmptId,@RequestParam("userMapId") int userMapId,
@RequestParam(value = "markNo",required = false) String markNo,@RequestParam("manualMarkNo") String manualMarkNo,
@RequestParam("userId") int userId) {
public Result manualMarkNO(@RequestParam("cmptId") int cmptId, @RequestParam("userMapId") int userMapId, @RequestParam(value = "markNo", required = false) String markNo, @RequestParam("manualMarkNo") String manualMarkNo, @RequestParam("userId") int userId) {
log.info("c:"+cmptId+",u:"+userMapId+"m:"+markNo+",om:"+manualMarkNo+",userId:"+userId);
log.info("c:" + cmptId + ",u:" + userMapId + "m:" + markNo + ",om:" + manualMarkNo + ",userId:" + userId);
if(StringUtils.isNotBlank(markNo)){ // 未
if (StringUtils.isNotBlank(markNo)) { // 未
List<CmptScoreRuleScoreInfo> scores = cmptScoreRuleScoreInfoService.getScoreInfosBycmptIdAndMarkNoEnd(cmptId, markNo);
if(scores.size() > 0){
return Result.fail().setMsg("已经有成绩数据,无法自选号码牌!");
if (scores.size() > 0) {
return Result.fail()
.setMsg("已经有成绩数据,无法自选号码牌!");
}
}
Object o = hashOperations.get("manual:markno:" + cmptId, manualMarkNo);
if(o != null){
return Result.fail().setMsg("该号码牌已经被分配!");
if (o != null) {
return Result.fail()
.setMsg("该号码牌已经被分配!");
}
String stock = manualMarkNo.split("-")[0];
......@@ -1439,91 +1476,100 @@ public class MicroApiController {
EnrollInfo userInfoByMarkNo = remoteService.getUserInfoByMarkNo(manualMarkNo, cmptId);// 获取原计时信息
if(userInfoByMarkNo != null){
return Result.fail().setMsg("该号码牌已经被分配!");
if (userInfoByMarkNo != null) {
return Result.fail()
.setMsg("该号码牌已经被分配!");
}
Boolean best_mark_no = hashOperations.hasKey("best_mark_no", markno);
if(best_mark_no){
return Result.fail().setMsg("该号码牌为预留号码牌,不能分配!");
if (best_mark_no) {
return Result.fail()
.setMsg("该号码牌为预留号码牌,不能分配!");
}
EnrollInfo userInfo = null;
if(StringUtils.isNotBlank(markNo)){
if (StringUtils.isNotBlank(markNo)) {
userInfo = remoteService.getUserInfoByMarkNo(markNo, cmptId); // 获取原计时信息
log.info("userInfo:"+userInfo);
}
if(userInfo == null){ // 根据号码牌判断是否已经存储
Map<String,String> param = remoteService.getEnrollUsersByUserMapId(userMapId);
param.put("cmptId",cmptId+"");
param.put("markNo",StringUtils.isBlank(stock) ? manualMarkNo.replace("-","") : manualMarkNo);
param.put("deviceId",StringUtils.isBlank(stock) ? manualMarkNo.replace("-","") : manualMarkNo);
param.put("enrollId","-1");
param.put("remark4",stock);
param.put("remark5",markno);
param.put("idCardNo",userInfo.getIdentityNo());
param.put("name",userInfo.getUserName());
param.put("roadId",userInfo.getRoadId()+"");
param.put("gender","男".equals(userInfo.getGender()) ? "0":"1");
if(param.get("roadId") == null){
return Result.fail().setMsg("未找到赛事项目!");
log.info("userInfo:" + userInfo);
}
if (userInfo == null) { // 根据号码牌判断是否已经存储
Map<String, String> param = remoteService.getEnrollUsersByUserMapId(userMapId);
param.put("cmptId", cmptId + "");
param.put("markNo", StringUtils.isBlank(stock) ? manualMarkNo.replace("-", "") : manualMarkNo);
param.put("deviceId", StringUtils.isBlank(stock) ? manualMarkNo.replace("-", "") : manualMarkNo);
param.put("enrollId", "-1");
param.put("remark4", stock);
param.put("remark5", markno);
param.put("idCardNo", userInfo.getIdentityNo());
param.put("name", userInfo.getUserName());
param.put("roadId", userInfo.getRoadId() + "");
param.put("gender", "男".equals(userInfo.getGender()) ? "0" : "1");
if (param.get("roadId") == null) {
return Result.fail()
.setMsg("未找到赛事项目!");
}
String json = new Gson().toJson(param);
log.info("请求参数:"+json);
ResponseEntity<String> responseEntity = restTemplate.getForEntity(timerURL+"/mergePersonEnroll.do?org-id=1-3&personEnroll={json}", String.class,json);
log.info("计时2返回结果:"+responseEntity.getBody());
log.info("请求参数:" + json);
ResponseEntity<String> responseEntity = restTemplate.getForEntity(timerURL + "/mergePersonEnroll.do?org-id=1-3&personEnroll={json}", String.class, json);
log.info("计时2返回结果:" + responseEntity.getBody());
JSONObject jsonObject = JSONObject.parseObject(responseEntity.getBody());
int status = jsonObject.getIntValue("status");
if(status == 0){
if (status == 0) {
Object registerId = param.get("registerId");
EnrollInfo info = cmptService.bindByManual(userId, 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 = new HashMap<String,String>();//remoteService.getEnrollUsersByUserMapId(userMapId);
param.put("cmptId",cmptId+"");
param.put("markNo",StringUtils.isBlank(stock) ? manualMarkNo.replace("-","") : manualMarkNo);
param.put("deviceId",StringUtils.isBlank(stock) ? manualMarkNo.replace("-","") : manualMarkNo);
param.put("roadId",userInfo.getRoadId()+"");
param.put("name",userInfo.getUserName());
param.put("gender","男".equals(userInfo.getGender()) ? "0":"1");
param.put("mobileNum",userInfo.getPhone());
param.put("enrollId",userInfo.getEnrollId());
param.put("remark4",stock);
param.put("remark5",markno);
param.put("idCardNo",userInfo.getIdentityNo());
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 = new HashMap<String, String>();// remoteService.getEnrollUsersByUserMapId(userMapId);
param.put("cmptId", cmptId + "");
param.put("markNo", StringUtils.isBlank(stock) ? manualMarkNo.replace("-", "") : manualMarkNo);
param.put("deviceId", StringUtils.isBlank(stock) ? manualMarkNo.replace("-", "") : manualMarkNo);
param.put("roadId", userInfo.getRoadId() + "");
param.put("name", userInfo.getUserName());
param.put("gender", "男".equals(userInfo.getGender()) ? "0" : "1");
param.put("mobileNum", userInfo.getPhone());
param.put("enrollId", userInfo.getEnrollId());
param.put("remark4", stock);
param.put("remark5", markno);
param.put("idCardNo", userInfo.getIdentityNo());
String json = new Gson().toJson(param);
log.info("同步请求参数:"+json);
ResponseEntity<String> responseEntity = restTemplate.getForEntity(timerURL+"/mergePersonEnroll.do?org-id=1-3&personEnroll={json}", String.class,json);
log.info("计时1返回结果:"+responseEntity.getBody());
log.info("同步请求参数:" + json);
ResponseEntity<String> responseEntity = restTemplate.getForEntity(timerURL + "/mergePersonEnroll.do?org-id=1-3&personEnroll={json}", String.class, json);
log.info("计时1返回结果:" + responseEntity.getBody());
JSONObject jsonObject = JSONObject.parseObject(responseEntity.getBody());
int status = jsonObject.getIntValue("status");
if(status == 0){
if (status == 0) {
Object registerId = param.get("registerId");
log.info("registerId:"+registerId);
log.info("registerId:" + registerId);
EnrollInfo info = cmptService.bindByManual(userId, manualMarkNo, cmptId);
hashOperations.put("manual:markno:" + cmptId, manualMarkNo,"1");
return Result.success().setContent(info);
}else{
return Result.fail().setMsg(jsonObject.getString("message"));
hashOperations.put("manual:markno:" + cmptId, manualMarkNo, "1");
return Result.success()
.setContent(info);
} else {
return Result.fail()
.setMsg(jsonObject.getString("message"));
}
}
}
@RequestMapping("initMark")
@ResponseBody
public Result init(@RequestParam("marknos")String marksno){
Arrays.stream(marksno.split(",")).forEach(markno ->{
hashOperations.put("best_mark_no",markno,1);
public Result init(@RequestParam("marknos") String marksno) {
Arrays.stream(marksno.split(","))
.forEach(markno -> {
hashOperations.put("best_mark_no", markno, 1);
});
return Result.success().setContent(hashOperations.keys("best_mark_no"));
return Result.success()
.setContent(hashOperations.keys("best_mark_no"));
}
@GetMapping(value = "/getWeatherNow/{areacode}")
......@@ -1531,21 +1577,21 @@ public class MicroApiController {
@ApiImplicitParam(value = "地区编码", name = "areacode", required = true, paramType = "path", defaultValue = "101090301")
public Result<Map<String, Object>> getWeatherNow(@PathVariable("areacode") String areacode) {
Map<String, Object> map = weatherService.getWeatherNow(areacode);
return Result.success().setContent(map);
return Result.success()
.setContent(map);
}
@GetMapping(value = "/getWeatherDay/{areacode}/{days}")
@ApiOperation(value = "近期天气", notes = "近期天气", tags = "近期天气")
@ApiImplicitParams({
@ApiImplicitParam(value = "地区编码", name = "areacode", required = true, paramType = "path", defaultValue = "101090301"),
@ApiImplicitParam(value = "未来天数", name = "days", required = true, paramType = "path", defaultValue = "3")})
@ApiImplicitParams({@ApiImplicitParam(value = "地区编码", name = "areacode", required = true, paramType = "path", defaultValue = "101090301"), @ApiImplicitParam(value = "未来天数", name = "days", required = true, paramType = "path", defaultValue = "3")})
public Result<Map<String, Object>> getWeatherDay(@PathVariable("areacode") String areacode, @PathVariable("days") String days) {
Map<String, Object> map = weatherService.getWeatherDay(areacode, days);
return Result.success().setContent(map);
return Result.success()
.setContent(map);
}
public static void main(String[] args) {
System.out.println("-aaa".split("-")[0]+","+"-aaa".split("-")[1]);
System.out.println("-aaa".split("-")[0] + "," + "-aaa".split("-")[1]);
}
}
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