master
parent
84c248da91
commit
9fa6b81d33
@ -0,0 +1,54 @@
|
||||
package com.bsd.cases.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.service.CaseCategoryService;
|
||||
import com.bsd.cases.util.AjaxRequest;
|
||||
import com.bsd.cases.util.AjaxResult;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/case-category")
|
||||
public class CaseCategoryController {
|
||||
|
||||
@Resource
|
||||
private CaseCategoryService caseCategoryService;
|
||||
|
||||
@RequestMapping("/get-all-category")
|
||||
public AjaxResult getAllCategory(HttpServletRequest request) {
|
||||
AjaxResult ajaxResult = new AjaxResult();
|
||||
JSONObject data = caseCategoryService.getAllCaseCategory();
|
||||
if (null!=data){
|
||||
ajaxResult.setRetcode(AjaxResult.SUCCESS);
|
||||
ajaxResult.setData(data);
|
||||
}else {
|
||||
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||
}
|
||||
return ajaxResult;
|
||||
}
|
||||
|
||||
@RequestMapping("/get-category-by-parent-id")
|
||||
public AjaxResult getCategoryByParentId(@RequestBody AjaxRequest ajaxRequest,HttpServletRequest request) {
|
||||
AjaxResult ajaxResult = new AjaxResult();
|
||||
JSONObject data = ajaxRequest.getData();
|
||||
if (null == data){
|
||||
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||
ajaxResult.setRetmsg("data missing");
|
||||
}else {
|
||||
Integer pageNum = data.getInteger("pageNum");
|
||||
Integer pageSize = data.getInteger("pageSize");
|
||||
if (null==pageNum|| null == pageSize){
|
||||
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||
ajaxResult.setRetmsg("分页参数不可为空");
|
||||
}else {
|
||||
Long parentId = data.getLong("parentId");
|
||||
ajaxResult.setData(caseCategoryService.getCaseCategoryByParentId(parentId,pageNum,pageSize));
|
||||
}
|
||||
}
|
||||
return ajaxResult;
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,13 @@
|
||||
package com.bsd.cases.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.util.AjaxRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface CaseCategoryService<CaseCategory> extends BaseService<CaseCategory> {
|
||||
|
||||
JSONObject getAllCaseCategory();
|
||||
|
||||
JSONObject getCaseCategoryByParentId(Long parentId,Integer pageNum,Integer pageSize);
|
||||
}
|
||||
|
||||
@ -1,4 +1,10 @@
|
||||
package com.bsd.cases.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.vo.CaseContentVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface CaseContentService<CaseContent> extends BaseService<CaseContent> {
|
||||
JSONObject getContentListByCategoryId(Long categoryId, Integer pageNum, Integer pageSize);
|
||||
}
|
||||
|
||||
@ -1,39 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.bsd.cases.model.BoActivityConfig;
|
||||
import com.bsd.cases.mapper.BoActivityConfigMapper;
|
||||
import com.bsd.cases.service.BoActivityConfigService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boActivityConfigService")
|
||||
@Transactional
|
||||
public class BoActivityConfigServiceImpl extends BaseServiceImpl<BoActivityConfigMapper, BoActivityConfig> implements BoActivityConfigService<BoActivityConfig> {
|
||||
|
||||
@Resource
|
||||
BoActivityConfigMapper boActivityConfigMapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param instanceId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public BoActivityConfig getBoActivityConfigByInstanceId(Long instanceId) {
|
||||
BoActivityConfig findBoActivityConfig = new BoActivityConfig();
|
||||
findBoActivityConfig.setState(1);
|
||||
findBoActivityConfig.setActivityInstanceId(instanceId);
|
||||
BoActivityConfig boActivityConfig = boActivityConfigMapper.selectOne(findBoActivityConfig);
|
||||
return boActivityConfig;
|
||||
}
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.bsd.cases.model.BoActivityContent;
|
||||
import com.bsd.cases.mapper.BoActivityContentMapper;
|
||||
import com.bsd.cases.service.BoActivityContentService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-03
|
||||
*/
|
||||
@Service("boActivityContentService")
|
||||
@Transactional
|
||||
public class BoActivityContentServiceImpl extends BaseServiceImpl<BoActivityContentMapper, BoActivityContent> implements BoActivityContentService<BoActivityContent> {
|
||||
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.bsd.cases.model.BoActivityInstance;
|
||||
import com.bsd.cases.mapper.BoActivityInstanceMapper;
|
||||
import com.bsd.cases.service.BoActivityInstanceService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boActivityInstanceService")
|
||||
@Transactional
|
||||
public class BoActivityInstanceServiceImpl extends BaseServiceImpl<BoActivityInstanceMapper, BoActivityInstance> implements BoActivityInstanceService {
|
||||
|
||||
}
|
||||
@ -1,241 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.constants.Constants;
|
||||
import com.bsd.cases.enums.BoBusinessEnum;
|
||||
import com.bsd.cases.event.LogEvent;
|
||||
import com.bsd.cases.mapper.*;
|
||||
import com.bsd.cases.model.*;
|
||||
import com.bsd.cases.service.BoActivityService;
|
||||
import com.bsd.cases.util.JWTUtil;
|
||||
import com.bsd.cases.util.PageAjax;
|
||||
import com.bsd.cases.vo.BoActivityDetailVo;
|
||||
import com.bsd.cases.vo.BoActivityVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import tk.mybatis.mapper.entity.Example;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boActivityService")
|
||||
@Transactional
|
||||
public class BoActivityServiceImpl extends BaseServiceImpl<BoActivityMapper, BoActivity> implements BoActivityService<BoActivity> {
|
||||
|
||||
|
||||
@Resource
|
||||
BoActivityMapper boActivityMapper;
|
||||
@Resource
|
||||
BoActivityInstanceMapper boActivityInstanceMapper;
|
||||
@Resource
|
||||
BoActivityConfigMapper boActivityConfigMapper;
|
||||
@Resource
|
||||
BoActivityContentMapper boActivityContentMapper;
|
||||
@Resource
|
||||
BoUsersMapper boUsersMapper;
|
||||
@Resource
|
||||
BoActivitySignupMapper boActivitySignupMapper;
|
||||
@Resource
|
||||
BoUserSignMapper boUserSignMapper;
|
||||
@Resource
|
||||
ApplicationContext applicationContext;
|
||||
|
||||
|
||||
/**
|
||||
* 活动列表
|
||||
*
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public PageAjax paginate(JSONObject params) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
Integer pageNum = params.getInteger("pageNum");
|
||||
Integer pageSize = params.getInteger("pageSize");
|
||||
String source = params.getString("source");
|
||||
String activityCity = params.getString("activityCity");
|
||||
String startDate = params.getString("startDate");
|
||||
String endDate = params.getString("endDate");
|
||||
//分页查询activity;前端传分页信息
|
||||
Example example = new Example(BoActivityConfig.class);
|
||||
Example.Criteria criteria = example.createCriteria();
|
||||
criteria.andEqualTo("state",Constants.STATE_VALID);
|
||||
example.setOrderByClause("end_datetime asc");
|
||||
List<BoActivityConfig> boActivityConfigList = boActivityConfigMapper.selectByExample(example);
|
||||
List<BoActivityVo> boActivityVoList = new ArrayList<>();
|
||||
List<BoActivityVo> isEndActivityVoList = new ArrayList<>();
|
||||
for (BoActivityConfig boActivityConfig:boActivityConfigList){
|
||||
BoActivityVo boActivityVo = new BoActivityVo();
|
||||
if (StringUtils.isNotEmpty(activityCity)){
|
||||
if (!activityCity.equals(boActivityConfig.getActivityCity())){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotEmpty(startDate)){
|
||||
startDate = startDate + " 00:00:00";
|
||||
try {
|
||||
if (sdf.parse(startDate).after(boActivityConfig.getStartDatetime()))
|
||||
continue;
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotEmpty(endDate)){
|
||||
endDate = endDate + " 23:59:59";
|
||||
try {
|
||||
if (sdf.parse(endDate).before(boActivityConfig.getEndDatetime()))
|
||||
continue;
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
BoActivityInstance boActivityInstance = boActivityInstanceMapper.selectByPrimaryKey(boActivityConfig.getActivityInstanceId());
|
||||
if (Constants.STATE_INVALID == boActivityInstance.getState()){
|
||||
continue;
|
||||
}
|
||||
Long activityId = boActivityInstance.getActivityId();
|
||||
BoActivity boActivity = boActivityMapper.selectByPrimaryKey(activityId);
|
||||
boActivityVo.setInstanceId(boActivityInstance.getId());
|
||||
boActivityVo.setPreviewImage(boActivity.getPreviewImageUrl());
|
||||
boActivityVo.setCreateDateTime(boActivity.getCreateDateTime());
|
||||
boActivityVo.setUpdateDateTime(boActivity.getUpdateDateTime());
|
||||
boActivityVo.setActivityId(boActivity.getId());
|
||||
boActivityVo.setActivityName(boActivity.getActivityName());
|
||||
if (1 == boActivityConfig.getIsLimitNumber())
|
||||
boActivityVo.setLimitSignNumber(boActivityConfig.getLimitSignNumber());
|
||||
BoActivitySignup findBoActivitySignup = new BoActivitySignup();
|
||||
findBoActivitySignup.setState(Constants.STATE_VALID);
|
||||
findBoActivitySignup.setActivityInstanceId(boActivityInstance.getId());
|
||||
//是否要付款
|
||||
if (2 == boActivityConfig.getIsPay())
|
||||
findBoActivitySignup.setPayStatus(1);
|
||||
Integer activitySignupNumber = boActivitySignupMapper.selectCount(findBoActivitySignup);
|
||||
boActivityVo.setActivitySignupNumber(activitySignupNumber);
|
||||
if (1 == boActivityInstance.getIsExpired()){
|
||||
isEndActivityVoList.add(boActivityVo);
|
||||
}else {
|
||||
boActivityVoList.add(boActivityVo);
|
||||
}
|
||||
}
|
||||
for (BoActivityVo boActivityVo:isEndActivityVoList){
|
||||
boActivityVoList.add(boActivityVo);
|
||||
}
|
||||
PageAjax pageAjax = new PageAjax();
|
||||
pageAjax.setRows(boActivityVoList);
|
||||
pageAjax.setPageSize(pageSize);
|
||||
pageAjax.setPageNo(pageNum);
|
||||
pageAjax.setTotal(boActivityVoList.size());
|
||||
pageAjax.setPages((int) Math.ceil(Double.valueOf(boActivityVoList.size()) / Double.valueOf(pageSize)));
|
||||
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.IDNEXPAGE));
|
||||
return pageAjax;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取活动详情
|
||||
*
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public BoActivityDetailVo detail(JSONObject data, HttpServletRequest request) {
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String token = request.getHeader("Authorization");
|
||||
Long usersId;
|
||||
String source = data.getString("source");
|
||||
if (StringUtils.isEmpty(token)) {
|
||||
usersId = null;
|
||||
} else {
|
||||
String openId = JWTUtil.getKey(token);
|
||||
BoUsers boUsers = new BoUsers();
|
||||
boUsers.setOpenId(openId);
|
||||
boUsers.setState(1);
|
||||
BoUsers users = boUsersMapper.selectOne(boUsers);
|
||||
usersId = users.getId();
|
||||
}
|
||||
Long boActivityInstanceId = data.getLong("boActivityInstanceId");
|
||||
BoActivitySignup boActivitySignup;
|
||||
if (null == usersId) {
|
||||
boActivitySignup = null;
|
||||
} else {
|
||||
BoActivitySignup findBoActivitySignup = new BoActivitySignup();
|
||||
findBoActivitySignup.setState(1);
|
||||
findBoActivitySignup.setUserId(usersId);
|
||||
findBoActivitySignup.setActivityInstanceId(boActivityInstanceId);
|
||||
boActivitySignup = boActivitySignupMapper.selectOne(findBoActivitySignup);
|
||||
}
|
||||
BoActivityInstance boActivityInstance = boActivityInstanceMapper.selectByPrimaryKey(boActivityInstanceId);
|
||||
BoActivityConfig findBoActivityConfig = new BoActivityConfig();
|
||||
findBoActivityConfig.setState(1);
|
||||
findBoActivityConfig.setActivityInstanceId(boActivityInstanceId);
|
||||
BoActivityConfig boActivityConfig = boActivityConfigMapper.selectOne(findBoActivityConfig);
|
||||
BoActivityDetailVo boActivityDetailVo = new BoActivityDetailVo();
|
||||
if (null == boActivitySignup) {
|
||||
boActivityDetailVo.setIsSign(0);
|
||||
} else {
|
||||
boActivityDetailVo.setIsSign(1);
|
||||
}
|
||||
boActivityDetailVo.setActivityId(boActivityInstance.getActivityId());
|
||||
boActivityDetailVo.setActivityName(boActivityInstance.getActivityName());
|
||||
boActivityDetailVo.setActivityInstanceId(boActivityInstanceId);
|
||||
boActivityDetailVo.setPreviewImageUrl(boActivityConfig.getPreviewImageUrl());
|
||||
boActivityDetailVo.setEndDatetime(boActivityConfig.getEndDatetime());
|
||||
boActivityDetailVo.setStartDatetime(boActivityConfig.getStartDatetime());
|
||||
boActivityDetailVo.setSignupEndDatetime(boActivityConfig.getSignupEndDatetime());
|
||||
boActivityDetailVo.setStartDatetime(boActivityConfig.getSignupStartDatetime());
|
||||
boActivityDetailVo.setIsLimitNumber(boActivityConfig.getIsLimitNumber());
|
||||
boActivityDetailVo.setLimitSignNumber(boActivityConfig.getLimitSignNumber());
|
||||
boActivityDetailVo.setIsPay(boActivityConfig.getIsPay());
|
||||
boActivityDetailVo.setPaymentAmount(boActivityConfig.getPaymentAmount());
|
||||
boActivityDetailVo.setIsFull(boActivityInstance.getIsFull());
|
||||
boActivityDetailVo.setIsExpired(boActivityInstance.getIsExpired());
|
||||
boActivityDetailVo.setIsSignExpired(boActivityInstance.getIsSignupExpired());
|
||||
boActivityDetailVo.setShareImageUrl(boActivityInstance.getShareImageUrl());
|
||||
BoActivityContent findBoActivityContent = new BoActivityContent();
|
||||
findBoActivityContent.setState(1);
|
||||
findBoActivityContent.setActivityConfigId(boActivityConfig.getId());
|
||||
List<BoActivityContent> boActivityContentList = boActivityContentMapper.select(findBoActivityContent);
|
||||
boActivityDetailVo.setBoActivityContentList(boActivityContentList);
|
||||
//判断有没有签到
|
||||
if (null == usersId) {
|
||||
|
||||
boActivityDetailVo.setIsUserSign(0);
|
||||
} else {
|
||||
|
||||
BoUserSign findBoUserSign = new BoUserSign();
|
||||
findBoUserSign.setState(1);
|
||||
findBoUserSign.setActivityInstanceId(boActivityInstanceId);
|
||||
findBoUserSign.setUserId(usersId);
|
||||
String signDateString = sdf.format(new Date());
|
||||
try {
|
||||
findBoUserSign.setSignDate(sdf.parse(signDateString));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
BoUserSign boUserSign = boUserSignMapper.selectOne(findBoUserSign);
|
||||
if (null == boUserSign) {
|
||||
boActivityDetailVo.setIsUserSign(0);
|
||||
} else {
|
||||
boActivityDetailVo.setIsUserSign(1);
|
||||
}
|
||||
}
|
||||
|
||||
applicationContext.publishEvent(new LogEvent(source, boActivityInstance, BoBusinessEnum.AcvityDETAIL));
|
||||
return boActivityDetailVo;
|
||||
}
|
||||
}
|
||||
@ -1,194 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.enums.BoBusinessEnum;
|
||||
import com.bsd.cases.event.LogEvent;
|
||||
import com.bsd.cases.mapper.*;
|
||||
import com.bsd.cases.model.*;
|
||||
import com.bsd.cases.service.BoActivitySignupService;
|
||||
import com.bsd.cases.service.BoUsersService;
|
||||
import com.bsd.cases.service.WxSubscribeMessageService;
|
||||
import com.bsd.cases.util.JWTUtil;
|
||||
import com.bsd.cases.util.PageAjax;
|
||||
import com.bsd.cases.vo.BoSignupActivityVo;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boActivitySignupService")
|
||||
@Transactional
|
||||
public class BoActivitySignupServiceImpl extends BaseServiceImpl<BoActivitySignupMapper, BoActivitySignup> implements BoActivitySignupService<BoActivitySignup> {
|
||||
|
||||
@Resource
|
||||
BoActivitySignupMapper boActivitySignupMapper;
|
||||
@Resource
|
||||
BoActivityMapper boActivityMapper;
|
||||
@Resource
|
||||
BoActivityInstanceMapper boActivityInstanceMapper;
|
||||
@Resource
|
||||
BoUsersMapper boUsersMapper;
|
||||
@Resource
|
||||
ApplicationContext applicationContext;
|
||||
@Resource
|
||||
BoActivityConfigMapper boActivityConfigMapper;
|
||||
@Resource
|
||||
WxSubscribeMessageService wxSubscribeMessageService;
|
||||
@Resource
|
||||
BoUsersService boUsersService;
|
||||
|
||||
/**
|
||||
* 通过token获取个人信息并展示报名的活动
|
||||
*
|
||||
* @param data
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public PageAjax getMySignUpActivity(JSONObject data, HttpServletRequest request) {
|
||||
Integer pageNum = data.getInteger("pageNum");
|
||||
Integer pageSize = data.getInteger("pageSize");
|
||||
String source = data.getString("source");
|
||||
BoUsers users = boUsersService.currentUser();
|
||||
Long userId = users.getId();
|
||||
BoActivitySignup findBoActivitySignup = new BoActivitySignup();
|
||||
findBoActivitySignup.setState(1);
|
||||
findBoActivitySignup.setUserId(userId);
|
||||
List<BoActivitySignup> boActivitySignupList = boActivitySignupMapper.select(findBoActivitySignup);
|
||||
List<BoSignupActivityVo> boSignupActivityVoList = new ArrayList<>();
|
||||
for (BoActivitySignup boActivitySignup : boActivitySignupList) {
|
||||
BoSignupActivityVo boSignupActivityVo = new BoSignupActivityVo();
|
||||
Long activityId = boActivitySignup.getActivityId();
|
||||
BoActivity findBoActivity = new BoActivity();
|
||||
findBoActivity.setId(activityId);
|
||||
findBoActivity.setState(1);
|
||||
BoActivity boActivity = boActivityMapper.selectOne(findBoActivity);
|
||||
if (null == boActivity) {
|
||||
continue;
|
||||
}
|
||||
// BoActivityInstance findBoActivityInstance = new BoActivityInstance();
|
||||
// findBoActivityInstance.setState(1);
|
||||
// findBoActivityInstance.setActivityId(boActivity.getId());
|
||||
// findBoActivityInstance.setIsDefault(1);
|
||||
// BoActivityInstance boActivityInstance = boActivityInstanceMapper.selectOne(findBoActivityInstance);
|
||||
boSignupActivityVo.setActivityId(activityId);
|
||||
boSignupActivityVo.setActivityName(boActivity.getActivityName());
|
||||
boSignupActivityVo.setInstanceId(boActivitySignup.getActivityInstanceId());
|
||||
boSignupActivityVo.setPayAmount(boActivitySignup.getPayAmount());
|
||||
boSignupActivityVo.setPayStatus(boActivitySignup.getPayStatus());
|
||||
boSignupActivityVo.setPreviewImage(boActivity.getPreviewImageUrl());
|
||||
boSignupActivityVo.setSignupDatetime(boActivitySignup.getSignupDatetime());
|
||||
boSignupActivityVo.setCreateDateTime(boActivity.getCreateDateTime());
|
||||
boSignupActivityVoList.add(boSignupActivityVo);
|
||||
}
|
||||
PageAjax pageAjax = new PageAjax();
|
||||
pageAjax.setRows(boSignupActivityVoList);
|
||||
pageAjax.setPageSize(pageSize);
|
||||
pageAjax.setPageNo(pageNum);
|
||||
pageAjax.setTotal(boSignupActivityVoList.size());
|
||||
pageAjax.setPages((int) Math.ceil(Double.valueOf(boSignupActivityVoList.size()) / Double.valueOf(pageSize)));
|
||||
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.MYACTIVITIES));
|
||||
|
||||
return pageAjax;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject signup(JSONObject data, HttpServletRequest request) {
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
String token = request.getHeader("Authorization");
|
||||
String openId = JWTUtil.getKey(token);
|
||||
Long instanceId = data.getLong("instanceId");
|
||||
//Long instanceId = Long.parseLong(data.getString("instanceId"));
|
||||
String source = data.getString("source");
|
||||
|
||||
BoActivityInstance boActivityInstance = new BoActivityInstance();
|
||||
boActivityInstance.setId(instanceId);
|
||||
BoActivityInstance instance = boActivityInstanceMapper.selectOne(boActivityInstance);
|
||||
if (null == instance) {
|
||||
jsonObject.put("success", false);//false 失败/true 成功
|
||||
jsonObject.put("msg", "Activity instance " + instanceId + " does not exist");
|
||||
return jsonObject;
|
||||
}
|
||||
BoUsers boUsers = new BoUsers();
|
||||
boUsers.setOpenId(openId);
|
||||
boUsers.setState(1);
|
||||
BoUsers users = boUsersMapper.selectOne(boUsers);
|
||||
if (null == users) {
|
||||
jsonObject.put("success", false);
|
||||
jsonObject.put("msg", "请先授权登录");
|
||||
return jsonObject;
|
||||
}
|
||||
BoActivitySignup signup = new BoActivitySignup();
|
||||
signup.setUserId(users.getId());
|
||||
signup.setActivityInstanceId(instanceId);
|
||||
int count = boActivitySignupMapper.selectCount(signup);
|
||||
if (count > 0) {
|
||||
jsonObject.put("success", false);
|
||||
jsonObject.put("msg", "您已报名过该活动");
|
||||
return jsonObject;
|
||||
}
|
||||
//报名已满员
|
||||
if (1 == instance.getIsFull()) {
|
||||
jsonObject.put("success", false);
|
||||
jsonObject.put("msg", "活动人数已满");
|
||||
return jsonObject;
|
||||
}
|
||||
//活动已结束
|
||||
if (1 == instance.getIsExpired()) {
|
||||
jsonObject.put("success", false);
|
||||
jsonObject.put("msg", "活动已结束");
|
||||
return jsonObject;
|
||||
}
|
||||
//活动报名已结束
|
||||
if (1 == instance.getIsSignupExpired()) {
|
||||
jsonObject.put("success", false);
|
||||
jsonObject.put("msg", "活动报名已结束");
|
||||
return jsonObject;
|
||||
}
|
||||
BoActivitySignup boActivitySignup = new BoActivitySignup();
|
||||
boActivitySignup.setActivityId(instance.getActivityId());
|
||||
boActivitySignup.setActivityInstanceId(instance.getId());
|
||||
boActivitySignup.setUserId(users.getId());
|
||||
boActivitySignup.setSignupDatetime(new Date());
|
||||
boActivitySignup.setPayStatus(data.getInteger("payStatus"));
|
||||
boActivitySignup.setPayAmount(data.getBigDecimal("payAmount"));
|
||||
boActivitySignupMapper.insert(boActivitySignup);
|
||||
|
||||
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.SIGNUP));
|
||||
|
||||
BoActivityConfig findBoActivityConfig = new BoActivityConfig();
|
||||
findBoActivityConfig.setState(1);
|
||||
findBoActivityConfig.setActivityInstanceId(instanceId);
|
||||
BoActivityConfig boActivityConfig = boActivityConfigMapper.selectOne(findBoActivityConfig);
|
||||
//推送报名微信模板消息
|
||||
String activityState = "报名成功";
|
||||
String activityName =instance.getActivityName();
|
||||
String activityPlace = boActivityConfig.getActivityPlace();
|
||||
String activityStartTime = sdf.format(boActivityConfig.getStartDatetime());
|
||||
String note = "欢迎参加活动,注意活动结束时间哦";
|
||||
//跳转详情页的地址
|
||||
String page = "pages/detail/detail?id=" + boActivityInstance.getId();
|
||||
wxSubscribeMessageService.activitySendMessage(activityState,activityName,activityPlace
|
||||
,activityStartTime,note,users.getOpenId(),page);
|
||||
jsonObject.put("success", true);
|
||||
jsonObject.put("instanceId",instanceId);
|
||||
jsonObject.put("msg", "报名成功");
|
||||
return jsonObject;
|
||||
}
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.bsd.cases.model.BoActivityType;
|
||||
import com.bsd.cases.mapper.BoActivityTypeMapper;
|
||||
import com.bsd.cases.service.BoActivityTypeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boActivityTypeService")
|
||||
@Transactional
|
||||
public class BoActivityTypeServiceImpl extends BaseServiceImpl<BoActivityTypeMapper, BoActivityType> implements BoActivityTypeService<BoActivityType> {
|
||||
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.bsd.cases.model.BoBussinessLog;
|
||||
import com.bsd.cases.mapper.BoBussinessLogMapper;
|
||||
import com.bsd.cases.service.BoBussinessLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boBussinessLogService")
|
||||
@Transactional
|
||||
public class BoBussinessLogServiceImpl extends BaseServiceImpl<BoBussinessLogMapper, BoBussinessLog> implements BoBussinessLogService<BoBussinessLog> {
|
||||
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.bsd.cases.model.BoPayment;
|
||||
import com.bsd.cases.mapper.BoPaymentMapper;
|
||||
import com.bsd.cases.service.BoPaymentService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boPaymentService")
|
||||
@Transactional
|
||||
public class BoPaymentServiceImpl extends BaseServiceImpl<BoPaymentMapper, BoPayment> implements BoPaymentService<BoPayment> {
|
||||
|
||||
}
|
||||
@ -1,154 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.enums.BoBusinessEnum;
|
||||
import com.bsd.cases.event.LogEvent;
|
||||
import com.bsd.cases.mapper.*;
|
||||
import com.bsd.cases.model.*;
|
||||
import com.bsd.cases.service.BoSceneParamService;
|
||||
import com.bsd.cases.service.BoUsersService;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.http.HttpEntity;
|
||||
import org.apache.http.client.methods.CloseableHttpResponse;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.StringEntity;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.HttpClients;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Base64;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boSceneParamService")
|
||||
@Transactional
|
||||
public class BoSceneParamServiceImpl extends BaseServiceImpl<BoSceneParamMapper, BoSceneParam> implements BoSceneParamService<BoSceneParam> {
|
||||
|
||||
@Value("${wx.APPID}")
|
||||
private String appId;
|
||||
@Value("${wx.BASE_URI}")
|
||||
private String BASE_URI;
|
||||
@Resource
|
||||
private BoSceneParamMapper boSceneParamMapper;
|
||||
@Resource
|
||||
private BoUsersMapper boUsersMapper;
|
||||
@Resource
|
||||
private BoActivityMapper boActivityMapper;
|
||||
@Resource
|
||||
private BoActivityInstanceMapper boActivityInstanceMapper;
|
||||
@Resource
|
||||
private BoWechatMiniMapper boWechatMiniMapper;
|
||||
@Resource
|
||||
private ApplicationContext applicationContext;
|
||||
@Resource
|
||||
private BoUsersService boUsersService;
|
||||
|
||||
/**
|
||||
* 生成并返回太阳码
|
||||
*
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String getCode(JSONObject data, HttpServletRequest request) {
|
||||
|
||||
|
||||
Long activityId = data.getLong("activityId");
|
||||
String pagePath = data.getString("pagePath");
|
||||
String source = data.getString("source");
|
||||
//先获取用户id
|
||||
BoUsers users = boUsersService.currentUser();
|
||||
Long usersId = users.getId();
|
||||
String scene = "u=" + usersId + "&id=" + activityId;
|
||||
BoSceneParam findBoSceneParam = new BoSceneParam();
|
||||
findBoSceneParam.setState(1);
|
||||
findBoSceneParam.setActivityId(activityId);
|
||||
findBoSceneParam.setScene(scene);
|
||||
findBoSceneParam.setPagePath(pagePath);
|
||||
BoSceneParam boSceneParam = boSceneParamMapper.selectOne(findBoSceneParam);
|
||||
String wxacodeunlimit = "";
|
||||
if (null == boSceneParam) {
|
||||
BoWechatMini findBoWechatMini = new BoWechatMini();
|
||||
findBoWechatMini.setState(1);
|
||||
findBoWechatMini.setMiniAppid(appId);
|
||||
BoWechatMini boWechatMini = boWechatMiniMapper.selectOne(findBoWechatMini);
|
||||
String accessToken = boWechatMini.getAccessToken();
|
||||
//生成太阳码,并保存数据库,并返回太阳码
|
||||
try {
|
||||
wxacodeunlimit = getGetwxacodeunlimit(accessToken, pagePath, scene);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
BoActivity boActivity = boActivityMapper.selectByPrimaryKey(activityId);
|
||||
BoActivityInstance findBoActivityInstance = new BoActivityInstance();
|
||||
findBoActivityInstance.setState(1);
|
||||
findBoActivityInstance.setActivityId(activityId);
|
||||
findBoActivityInstance.setIsDefault(1);
|
||||
BoActivityInstance boActivityInstance = boActivityInstanceMapper.selectOne(findBoActivityInstance);
|
||||
String activityName = boActivity.getActivityName();
|
||||
BoSceneParam newBoSceneParam = new BoSceneParam();
|
||||
newBoSceneParam.setState(1);
|
||||
newBoSceneParam.setActivityId(activityId);
|
||||
newBoSceneParam.setActivityName(activityName);
|
||||
newBoSceneParam.setUserId(usersId);
|
||||
newBoSceneParam.setPagePath(pagePath);
|
||||
newBoSceneParam.setScene(scene);
|
||||
newBoSceneParam.setActivityInstanceId(boActivityInstance.getId());
|
||||
newBoSceneParam.setCreateDateTime(new Date());
|
||||
newBoSceneParam.setUpdateDateTime(new Date());
|
||||
newBoSceneParam.setSceneValue(wxacodeunlimit);
|
||||
boSceneParamMapper.insert(newBoSceneParam);
|
||||
} else {
|
||||
//直接返回太阳码
|
||||
wxacodeunlimit = boSceneParam.getSceneValue();
|
||||
}
|
||||
|
||||
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.LOGIN));
|
||||
return wxacodeunlimit;
|
||||
}
|
||||
|
||||
|
||||
public String getGetwxacodeunlimit(String accessToken, String page, String scene) throws IOException {
|
||||
|
||||
JSONObject getwxacodeunlimit = new JSONObject();
|
||||
getwxacodeunlimit.put("page", page);
|
||||
getwxacodeunlimit.put("scene", scene);
|
||||
CloseableHttpClient httpClient = HttpClients.createDefault();
|
||||
StringEntity entity;
|
||||
//url的get请求
|
||||
HttpPost post = new HttpPost(BASE_URI + "/wxa/getwxacodeunlimit?access_token=" + accessToken);
|
||||
//设置长连接
|
||||
post.setHeader("Connection", "keep-alive");
|
||||
//模拟游览器,游览器中输入about://version查看代理项,模拟自己的游览器
|
||||
post.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36");
|
||||
entity = new StringEntity(JSONObject.toJSONString(getwxacodeunlimit), "utf-8"); // 解决中文乱码问题
|
||||
entity.setContentEncoding("UTF-8");
|
||||
entity.setContentType("application/json");
|
||||
post.setEntity(entity);
|
||||
//执行请求,并获取回应
|
||||
CloseableHttpResponse httpResponse = httpClient.execute(post);
|
||||
//成功获取json数据
|
||||
HttpEntity responseEntity = httpResponse.getEntity();
|
||||
responseEntity.getContent();
|
||||
InputStream is = responseEntity.getContent();
|
||||
|
||||
byte[] bytes = IOUtils.toByteArray(is);
|
||||
is.close();
|
||||
|
||||
return Base64.getEncoder().encodeToString(bytes);
|
||||
}
|
||||
}
|
||||
@ -1,92 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.enums.BoBusinessEnum;
|
||||
import com.bsd.cases.event.LogEvent;
|
||||
import com.bsd.cases.mapper.BoUserSignMapper;
|
||||
import com.bsd.cases.mapper.BoUsersMapper;
|
||||
import com.bsd.cases.model.BoUserSign;
|
||||
import com.bsd.cases.model.BoUsers;
|
||||
import com.bsd.cases.service.BoUserSignService;
|
||||
import com.bsd.cases.service.BoUsersService;
|
||||
import com.bsd.cases.util.AjaxResult;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-07
|
||||
*/
|
||||
@Service("boUserSignService")
|
||||
@Transactional
|
||||
public class BoUserSignServiceImpl extends BaseServiceImpl<BoUserSignMapper, BoUserSign> implements BoUserSignService<BoUserSign> {
|
||||
|
||||
@Resource
|
||||
private BoUserSignMapper boUserSignMapper;
|
||||
@Resource
|
||||
private BoUsersMapper boUsersMapper;
|
||||
@Resource
|
||||
ApplicationContext applicationContext;
|
||||
@Resource
|
||||
BoUsersService boUsersService;
|
||||
|
||||
/**
|
||||
* 用户活动签到
|
||||
** @param request
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult userSign(JSONObject data, HttpServletRequest request) {
|
||||
|
||||
|
||||
Long activityInstanceId = data.getLong("activityInstanceId");
|
||||
String source = data.getString("source");
|
||||
|
||||
AjaxResult ajaxResult = new AjaxResult();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
BoUsers users = boUsersService.currentUser();
|
||||
BoUserSign findBoUserSign = new BoUserSign();
|
||||
findBoUserSign.setState(1);
|
||||
String signDateString = sdf.format(new Date());
|
||||
try {
|
||||
findBoUserSign.setSignDate(sdf.parse(signDateString));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
findBoUserSign.setUserId(users.getId());
|
||||
findBoUserSign.setActivityInstanceId(activityInstanceId);
|
||||
Integer count = boUserSignMapper.selectCount(findBoUserSign);
|
||||
if (count >= 1) {
|
||||
ajaxResult.setRetmsg("已签过不可重复签到");
|
||||
ajaxResult.setRetcode(AjaxResult.FAILED);
|
||||
return ajaxResult;
|
||||
}
|
||||
BoUserSign boUserSign = new BoUserSign();
|
||||
boUserSign.setState(1);
|
||||
boUserSign.setUserId(users.getId());
|
||||
try {
|
||||
boUserSign.setSignDate(sdf.parse(signDateString));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
boUserSign.setActivityInstanceId(activityInstanceId);
|
||||
boUserSign.setCreateDateTime(new Date());
|
||||
boUserSign.setUpdateDateTime(new Date());
|
||||
boUserSignMapper.insert(boUserSign);
|
||||
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.SIGN));
|
||||
|
||||
ajaxResult.setRetcode(AjaxResult.SUCCESS);
|
||||
ajaxResult.setRetmsg("活动签到成功");
|
||||
return ajaxResult;
|
||||
}
|
||||
}
|
||||
@ -1,53 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.bsd.cases.mapper.BoUsersMapper;
|
||||
import com.bsd.cases.model.BoUsers;
|
||||
import com.bsd.cases.service.BoUsersService;
|
||||
import com.bsd.cases.util.JWTUtil;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.subject.Subject;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boUsersService")
|
||||
@Transactional
|
||||
public class BoUsersServiceImpl extends BaseServiceImpl<BoUsersMapper, BoUsers> implements BoUsersService {
|
||||
|
||||
@Override
|
||||
public BoUsers currentUser() {
|
||||
|
||||
Subject subject = SecurityUtils.getSubject();
|
||||
if (null == subject.getPrincipal()) {
|
||||
|
||||
return null;
|
||||
}
|
||||
String key = JWTUtil.getKey(subject.getPrincipal().toString());
|
||||
BoUsers user = selectByUserNoOrOpenId(key);
|
||||
return user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BoUsers selectByUserNoOrOpenId(String key) {
|
||||
|
||||
BoUsers boUsers = new BoUsers();
|
||||
boUsers.setOpenId(key);
|
||||
boUsers = findOne(boUsers);
|
||||
if (null == boUsers) {
|
||||
|
||||
boUsers = new BoUsers();
|
||||
boUsers.setMobile(key);
|
||||
}
|
||||
|
||||
return findOne(boUsers);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -1,54 +0,0 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.model.BoWechatMini;
|
||||
import com.bsd.cases.mapper.BoWechatMiniMapper;
|
||||
import com.bsd.cases.service.BoWechatMiniService;
|
||||
import com.bsd.cases.util.wx.HttpRequest;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author jobob
|
||||
* @since 2020-09-02
|
||||
*/
|
||||
@Service("boWechatMiniService")
|
||||
@Transactional
|
||||
public class BoWechatMiniServiceImpl extends BaseServiceImpl<BoWechatMiniMapper, BoWechatMini> implements BoWechatMiniService<BoWechatMini> {
|
||||
|
||||
@Value("${wx.ACCESS_TOKEN_URL}")
|
||||
private String accessTokenUrl;
|
||||
@Value("${wx.APPID}")
|
||||
private String appId;
|
||||
@Value("${wx.APPSECRET}")
|
||||
private String appSecret;
|
||||
@Resource
|
||||
BoWechatMiniMapper boWechatMiniMapper;
|
||||
|
||||
/**
|
||||
* 刷新accessToken
|
||||
*/
|
||||
@Override
|
||||
public void refreshAccessToken() {
|
||||
String refreshUrl = accessTokenUrl;
|
||||
String param = "grant_type=client_credential&appid="+appId+"&secret="+appSecret;
|
||||
String result = HttpRequest.sendGet(refreshUrl,param);
|
||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||
String accessToken = jsonObject.getString("access_token");
|
||||
BoWechatMini findBoWechatMini = new BoWechatMini();
|
||||
findBoWechatMini.setMiniAppid(appId);
|
||||
findBoWechatMini.setState(1);
|
||||
BoWechatMini boWechatMini = boWechatMiniMapper.selectOne(findBoWechatMini);
|
||||
boWechatMini.setAccessToken(accessToken);
|
||||
boWechatMini.setUpdateDateTime(new Date());
|
||||
boWechatMiniMapper.updateByPrimaryKeySelective(boWechatMini);
|
||||
}
|
||||
}
|
||||
@ -1,16 +1,65 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.constants.Constants;
|
||||
import com.bsd.cases.mapper.CaseCategoryMapper;
|
||||
import com.bsd.cases.model.CaseCategory;
|
||||
import com.bsd.cases.service.CaseCategoryService;
|
||||
import com.bsd.cases.util.AjaxRequest;
|
||||
import com.bsd.cases.util.AjaxResult;
|
||||
import com.bsd.cases.util.PageUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service("caseCategoryService")
|
||||
@Transactional
|
||||
public class CaseCategoryServiceImpl extends BaseServiceImpl<CaseCategoryMapper, CaseCategory> implements CaseCategoryService<CaseCategory> {
|
||||
|
||||
@Resource
|
||||
private CaseCategoryMapper caseCategoryMapper;
|
||||
|
||||
/**
|
||||
* 直接获取所有1级2级分级
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public JSONObject getAllCaseCategory() {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
CaseCategory findCaseCategory1 = new CaseCategory();
|
||||
findCaseCategory1.setLevel(1);
|
||||
findCaseCategory1.setState(Constants.STATE_VALID);
|
||||
List<CaseCategory> caseCategoryList1 = caseCategoryMapper.select(findCaseCategory1);
|
||||
CaseCategory findCaseCategory2 = new CaseCategory();
|
||||
findCaseCategory2.setLevel(2);
|
||||
findCaseCategory2.setState(Constants.STATE_VALID);
|
||||
List<CaseCategory> caseCategoryList2 = caseCategoryMapper.select(findCaseCategory2);
|
||||
jsonObject.put("level1",caseCategoryList1);
|
||||
jsonObject.put("level2",caseCategoryList2);
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getCaseCategoryByParentId(Long parentId,Integer pageNum,Integer pageSize) {
|
||||
CaseCategory findCaseCategory = new CaseCategory();
|
||||
if (null == parentId){
|
||||
CaseCategory findCaseCategory2 = new CaseCategory();
|
||||
findCaseCategory2.setLevel(2);
|
||||
findCaseCategory2.setState(Constants.STATE_VALID);
|
||||
List<CaseCategory> caseCategoryList2 = caseCategoryMapper.select(findCaseCategory2);
|
||||
findCaseCategory.setState(Constants.STATE_VALID);
|
||||
findCaseCategory.setParentId(caseCategoryList2.get(0).getId());
|
||||
}else {
|
||||
findCaseCategory.setState(Constants.STATE_VALID);
|
||||
findCaseCategory.setParentId(parentId);
|
||||
}
|
||||
List<CaseCategory> caseCategoryList = caseCategoryMapper.select(findCaseCategory);
|
||||
JSONObject pageJson = PageUtils.page(caseCategoryList,pageNum,pageSize);
|
||||
return pageJson;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,12 +1,62 @@
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bsd.cases.constants.Constants;
|
||||
import com.bsd.cases.mapper.CaseContentMapper;
|
||||
import com.bsd.cases.mapper.CaseContentStaticalMapper;
|
||||
import com.bsd.cases.model.CaseContent;
|
||||
import com.bsd.cases.model.CaseContentStatical;
|
||||
import com.bsd.cases.service.CaseContentService;
|
||||
import com.bsd.cases.util.PageUtils;
|
||||
import com.bsd.cases.vo.CaseContentVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service("caseContentService")
|
||||
@Transactional
|
||||
public class CaseContentServiceImpl extends BaseServiceImpl<CaseContentMapper, CaseContent> implements CaseContentService<CaseContent> {
|
||||
@Resource
|
||||
private CaseContentMapper caseContentMapper;
|
||||
@Resource
|
||||
private CaseContentStaticalMapper caseContentStaticalMapper;
|
||||
|
||||
@Override
|
||||
public JSONObject getContentListByCategoryId(Long categoryId,Integer pageNum,Integer pageSize) {
|
||||
|
||||
CaseContent findCaseContent = new CaseContent();
|
||||
findCaseContent.setState(Constants.STATE_VALID);
|
||||
findCaseContent.setCategoryId(categoryId);
|
||||
List<CaseContent> caseContentList = caseContentMapper.select(findCaseContent);
|
||||
JSONObject pageJson = PageUtils.page(caseContentList,pageNum,pageSize);
|
||||
JSONArray jsonArray = pageJson.getJSONArray("list");
|
||||
caseContentList = JSONObject.parseArray(JSONObject.toJSONString(jsonArray), CaseContent.class);
|
||||
List<CaseContentVo> caseContentVoList = new ArrayList<>();
|
||||
for (CaseContent caseContent:caseContentList){
|
||||
CaseContentVo caseContentVo = new CaseContentVo();
|
||||
CaseContentStatical findCaseContentStatical = new CaseContentStatical();
|
||||
findCaseContentStatical.setState(Constants.STATE_VALID);
|
||||
findCaseContentStatical.setContentId(caseContent.getId());
|
||||
CaseContentStatical caseContentStatical = caseContentStaticalMapper.selectOne(findCaseContentStatical);
|
||||
caseContentVo.setCategoryId(caseContent.getCategoryId());
|
||||
caseContentVo.setUrl(caseContent.getUrl());
|
||||
caseContentVo.setViewNum(caseContentStatical.getViewNum());
|
||||
caseContentVo.setLikeNum(caseContentStatical.getLikeNum());
|
||||
caseContentVo.setCommentsNum(caseContentStatical.getCommentsNum());
|
||||
caseContentVo.setScore(caseContentStatical.getScore());
|
||||
caseContentVo.setContentTitle(caseContent.getContentTitle());
|
||||
caseContentVo.setId(caseContent.getId());
|
||||
caseContentVoList.add(caseContentVo);
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("list",caseContentVoList);
|
||||
jsonObject.put("total",pageJson.getInteger("total"));
|
||||
jsonObject.put("pageNum",pageNum);
|
||||
jsonObject.put("pageSize",pageSize);
|
||||
return jsonObject;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,42 +0,0 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2014-2016 abel533@gmail.com
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
package com.bsd.cases.service.impl;
|
||||
|
||||
import com.bsd.cases.mapper.CityMapper;
|
||||
import com.bsd.cases.model.City;
|
||||
import com.bsd.cases.service.CityService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* @author
|
||||
* @since
|
||||
*/
|
||||
@Service("cityService")
|
||||
@Transactional
|
||||
public class CityServiceImpl extends BaseServiceImpl<CityMapper, City> implements CityService<City> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package com.bsd.cases.util;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PageUtils {
|
||||
|
||||
public static JSONObject page(List<?> list, Integer pageNum, Integer pageSize){
|
||||
int page = pageNum;//相当于pageNo
|
||||
int count = pageSize;//相当于pageSize
|
||||
int size = list.size();
|
||||
int pageCount=size/count;
|
||||
int fromIndex = count * (page - 1);
|
||||
int toIndex = fromIndex + count;
|
||||
if (toIndex >= size) {
|
||||
toIndex = size;
|
||||
}
|
||||
if(page>pageCount+1){
|
||||
fromIndex=0;
|
||||
toIndex=0;
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("list",list.subList(fromIndex, toIndex));
|
||||
jsonObject.put("total",size);
|
||||
jsonObject.put("pageNum",pageNum);
|
||||
jsonObject.put("pageSize",pageSize);
|
||||
return jsonObject;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package com.bsd.cases.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class CaseContentVo {
|
||||
|
||||
private Long id;
|
||||
|
||||
private String contentTitle;
|
||||
|
||||
private String url;
|
||||
|
||||
private Long categoryId;
|
||||
|
||||
private Double score;
|
||||
|
||||
private Integer viewNum;
|
||||
|
||||
private Integer likeNum;
|
||||
|
||||
private Integer commentsNum;
|
||||
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
<?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.bsd.cases.mapper.CaseCategoryMapper">
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue