Commit fed90be6 authored by hanfeng's avatar hanfeng

修改app用户管理、增加违章和活动弹窗

parent 80fa8c63
package com.github.wxiaoqi.security.admin.constant;
public class Status{
public static final Integer FORBIDDEN = 1;
public static final Integer AVAILABLE = 0;
}
......@@ -36,8 +36,8 @@ public class AppUserManageVo {
/**
* 状态:0-正常,1-禁用
*/
@Column(name = "isdel")
private Integer isDel;
@Column(name = "status")
private Integer status;
/**
* 昵称
......@@ -63,6 +63,12 @@ public class AppUserManageVo {
@Column(name = "city_code")
private Integer cityCode;
/**
* 市名称
*/
@Column(name = "city_code")
private String cityName;
/**
* 用户性别
*/
......
......@@ -190,4 +190,12 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
}
return null;
}
public void disable(AppUserLogin appUserLogin) {
mapper.updateByPrimaryKeySelective(appUserLogin);
}
public void available(AppUserLogin appUserLogin) {
mapper.updateByPrimaryKeySelective(appUserLogin);
}
}
package com.github.wxiaoqi.security.admin.biz;
import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
......@@ -9,14 +10,23 @@ import com.github.wxiaoqi.security.admin.mapper.*;
import com.github.wxiaoqi.security.admin.vo.AppUserManageVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.entity.SysRegion;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import org.apache.commons.beanutils.BeanMap;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;
/**
......@@ -33,6 +43,9 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
@Autowired
private BaseUserMemberMapper baseUserMemberMapper;
@Autowired
private VehicleFeign vehicleFeign;
/**
* 根据条件查询
*
......@@ -40,10 +53,27 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
* @return
*/
public PageInfo<AppUserManageVo> findAllByQuery(AppUserManageDTO appUserManageDTO) {
Page<AppUserManageVo> page = PageHelper.startPage(appUserManageDTO.getPage(), appUserManageDTO.getLimit());
PageHelper.startPage(appUserManageDTO.getPage(), appUserManageDTO.getLimit());
List<AppUserManageVo> appUserManageVos = mapper.selectAppUserManage(appUserManageDTO);
return PageInfo.of(appUserManageVos);
PageInfo<AppUserManageVo> pageInfo = PageInfo.of(appUserManageVos);
if (pageInfo.getList()==null||pageInfo.getList().size()==0) {
return null;
}
List<Integer> Citys = pageInfo.getList().parallelStream().map(AppUserManageVo::getCityCode).collect(Collectors.toList());
HashSet<Integer> set = new HashSet<>();
set.addAll(Citys);
ObjectRestResponse<List<SysRegion>> orr = vehicleFeign.getSysRegionByIds(set);
List<SysRegion> sysRegions = orr.getData();
if (!(sysRegions==null||sysRegions.size()==0)) {
HashMap<Long, String> map = new HashMap<>();
for (SysRegion sysRegion : sysRegions) {
map.put(sysRegion.getId(),sysRegion.getName());
}
for (AppUserManageVo appUserManageVo : pageInfo.getList()) {
appUserManageVo.setCityName(map.get(appUserManageVo.getCityCode()));
}
}
return pageInfo;
}
/**
......@@ -90,13 +120,10 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
AppUserDetail appUserDetail = new AppUserDetail();
try {
BeanUtilsBean.getInstance().copyProperties(appUserLogin, appUserVo);
BeanUtilsBean.getInstance().copyProperties(appUserDetail, appUserVo);
if (appUserVo.getUserid() == null || appUserVo.getUserid() == 0) {
//设置登录用户信息
appUserLogin.setIsdel(0);
appUserLogin.setCreatetime(System.currentTimeMillis());
......
package com.github.wxiaoqi.security.admin.rest;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz;
import com.github.wxiaoqi.security.admin.biz.AppUserManageBiz;
import com.github.wxiaoqi.security.admin.constant.Status;
import com.github.wxiaoqi.security.admin.dto.AppUserManageDTO;
import com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.AppUserManage;
import com.github.wxiaoqi.security.admin.vo.AppUserManageVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* app用户管理类
* @author Administrator
......@@ -21,6 +22,9 @@ import java.util.List;
@RequestMapping("appUsersManage")
public class AppUsersManageController extends BaseController<AppUserManageBiz,AppUserManage> {
@Autowired
private AppUserLoginBiz appUserLoginBiz;
/**
* 查询所有
* @return
......@@ -63,5 +67,23 @@ public class AppUsersManageController extends BaseController<AppUserManageBiz,Ap
}
@PutMapping("/disable/{appUserId}")
public ObjectRestResponse disable(@PathVariable("appUserId") Integer appUserId){
AppUserLogin appUserLogin = new AppUserLogin();
appUserLogin.setStatus(Status.FORBIDDEN);
appUserLogin.setId(appUserId);
appUserLoginBiz.disable(appUserLogin);
return ObjectRestResponse.succ();
}
@PutMapping("/available/{appUserId}")
public ObjectRestResponse available(@PathVariable("appUserId") Integer appUserId){
AppUserLogin appUserLogin = new AppUserLogin();
appUserLogin.setStatus(Status.AVAILABLE);
appUserLogin.setId(appUserId);
appUserLoginBiz.available(appUserLogin);
return ObjectRestResponse.succ();
}
}
......@@ -50,10 +50,10 @@
l.id_number as idNumber,
l.createtime,
l.last_time as lastTime,
l.status,
d.channel,
d.is_member,
d.realname,
d.isdel,
d.nickname,
d.source,
d.province_code as provinceCode,
......
package com.xxfc.platform.activity.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Data
public class ActivityManagement {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键")
private Integer id;
/**
* 活动名称
*/
@Column(name = "name")
@ApiModelProperty(value = "活动名称")
private String name;
/**
* 活动开始时间
*/
@Column(name = "start_time")
@ApiModelProperty(value = "活动开始时间")
private Long startTime;
/**
* 活动结束时间
*/
@Column(name = "end_time")
@ApiModelProperty(value = "活动结束时间")
private Long endTime;
/**
* 人数限制 -1--无限制
*/
@Column(name = "num_limit")
@ApiModelProperty(value = "人数限制 -1--无限制")
private Integer numLimit;
/**
* 已经参与人数
*/
@Column(name = "has_join_num")
@ApiModelProperty(value = "已经参与人数")
private Integer hasJoinNum;
/**
* 当前状态 1--显示在活动页 2--隐藏
*/
@Column(name = "status")
@ApiModelProperty(value = "当前状态 1--显示在活动页 2--隐藏")
private Integer status;
/**
* 排序
*/
@Column(name = "sort")
@ApiModelProperty(value = "排序")
private Integer sort;
/**
* 活动图片
*/
@Column(name = "picture")
@ApiModelProperty(value = "活动图片")
private Integer picture;
}
package com.xxfc.platform.activity.entity;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import tk.mybatis.mapper.annotation.KeySql;
import tk.mybatis.mapper.code.IdentityDialect;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigInteger;
@Data
@Table(name = "activity_popup")
public class ActivityPopup {
@Id
@KeySql(dialect = IdentityDialect.MYSQL)
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "descr")
private String descr;
@Column(name = "type")
private Integer type;
@Column(name = "url")
private String url;
@Column(name = "button_Images")
private String buttonImages;
@Column(name = "background")
private String background;
@Column(name = "start_time")
private BigInteger startTime;
@Column(name = "end_time")
private BigInteger endTime;
@Column(name = "status")
private Integer status;
@Column(name = "sort")
private Integer sort;
@Column(name = "crt_time")
private BigInteger crtTime;
@Column(name = "upd_time")
private BigInteger updTime;
}
package com.xxfc.platform.activity.entity;
import lombok.Data;
import tk.mybatis.mapper.annotation.KeySql;
import tk.mybatis.mapper.code.IdentityDialect;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigInteger;
/**
* @author Administrator
*/
@Data
@Table(name = "activity_popup_user")
public class ActivityPopupUser {
@Id
@KeySql(dialect = IdentityDialect.MYSQL)
private Integer id;
@Column(name = "popup_id")
private Integer popupId;
@Column(name = "user_id")
private Integer userId;
@Column(name = "crt_time")
private BigInteger crtTime;
@Column(name = "upd_time")
private BigInteger updTime;
}
package com.xxfc.platform.activity.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.activity.entity.ActivityList;
import com.xxfc.platform.activity.entity.ActivityManagement;
import com.xxfc.platform.activity.mapper.ActivityManagementMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.jexl2.UnifiedJEXL;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
*/
@Slf4j
@Service
public class ActivityManagementBiz extends BaseBiz<ActivityManagementMapper, ActivityManagement> {
@Autowired
private ActivityListBiz activityListBiz;
/**
* 查询所有活动
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
public List<ActivityManagement> selectedActivityManagement() throws InvocationTargetException, IllegalAccessException {
List<ActivityList> activityLists = activityListBiz.selectListAll();
if (activityLists==null||activityLists.size()==0) {
return null;
}
ArrayList<ActivityManagement> activityManagements = new ArrayList<>();
for (ActivityList activityList : activityLists) {
ActivityManagement activityManagement =getActivityManagement(activityList);
activityManagements.add(activityManagement);
}
return activityManagements;
}
/**
* 根据活动id获取活动详情
* @param activityId
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
public Object getOne(Integer activityId) throws InvocationTargetException, IllegalAccessException {
ActivityList activityList = activityListBiz.selectById(activityId);
ActivityManagement activityManagement = getActivityManagement(activityList);
return activityManagement;
}
/**
* cope bean
* @param m
* @param <M>
* @param <V>
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
private <M,V> ActivityManagement getActivityManagement(M m) throws InvocationTargetException, IllegalAccessException {
ActivityManagement activityManagement = new ActivityManagement();
BeanUtilsBean.getInstance().copyProperties(activityManagement,m);
return activityManagement;
}
/**
* 修改活动
* @param activityManagement
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
@Transactional(rollbackFor = Exception.class)
public void updateActivityManagement(ActivityManagement activityManagement) throws InvocationTargetException, IllegalAccessException {
ActivityList activityList= new ActivityList();
BeanUtilsBean.getInstance().copyProperties(activityList,activityManagement);
activityListBiz.updateSelectiveByIdRe(activityList);
}
}
package com.xxfc.platform.activity.biz;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.activity.entity.ActivityPopup;
import com.xxfc.platform.activity.entity.ActivityPopupUser;
import com.xxfc.platform.activity.mapper.ActivityPopupMapper;
import com.xxfc.platform.activity.mapper.ActivityPopupUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 活动弹窗biz
* @author Administrator
*/
@Service
public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper,ActivityPopup> {
@Value("${activity.popup.loginTypes}")
private String loginTypes;
@Value("${activity.popup.notLoginTypes}")
private String notLoginTypes;
@Autowired
private ActivityPopupUserBiz activityPopupUserBiz;
/**
* 获取活动弹窗,根据是否登录
* @param userInfo
* @return
*/
public List<ActivityPopup> getActivityPopup(AppUserDTO userInfo) {
if (userInfo!=null){
List<ActivityPopup> activityPopups = getActivityPopupByTypes(loginTypes);
if (activityPopups==null||activityPopups.size()==0) {
return activityPopups;
}
List<Integer> collect = activityPopups.parallelStream().map(ActivityPopup::getId).collect(Collectors.toList());
Example exaple= Example.builder(ActivityPopupUser.class).where(
WeekendSqls.<ActivityPopupUser>custom().andIn(ActivityPopupUser::getPopupId,collect)
).build();
List<ActivityPopupUser> activityPopupUsers = activityPopupUserBiz.selectByExample(exaple);
if (activityPopupUsers==null||activityPopupUsers.size()==0) {
return activityPopups;
}
Set<Integer> popupIdSet = activityPopupUsers.parallelStream().map(ActivityPopupUser::getPopupId).collect(Collectors.toSet());
List<ActivityPopup> result= new ArrayList<>();
for (ActivityPopup activityPopup : activityPopups) {
if (popupIdSet.add(activityPopup.getId())){
result.add(activityPopup);
}
}
return result;
}else {
return getActivityPopupByTypes(notLoginTypes);
}
}
/**
* 根据不同的用户,可查询寻的类型.得到对应的弹窗
* @param Types
* @return
*/
private List<ActivityPopup> getActivityPopupByTypes(String Types) {
Example exa = Example.builder(ActivityPopup.class)
.where(
WeekendSqls.<ActivityPopup>custom()
.andGreaterThanOrEqualTo(ActivityPopup::getEndTime, BigInteger.valueOf(System.currentTimeMillis()))
.andLessThanOrEqualTo(ActivityPopup::getStartTime, BigInteger.valueOf(System.currentTimeMillis()))
.andIn(ActivityPopup::getType, Arrays.asList(Types.split(",")))
.andEqualTo(ActivityPopup::getStatus, 1)
).orderByAsc("sort").build();
List<ActivityPopup> activityPopups = mapper.selectByExample(exa);
long l = System.currentTimeMillis();
return activityPopups ;
}
@Transactional(rollbackFor = Exception.class)
public void setActivityPopup(AppUserDTO userInfo,Integer id){
if (userInfo!=null) {
Example exa=Example.builder(ActivityPopupUser.class).where(
WeekendSqls.<ActivityPopupUser>custom()
.andEqualTo(ActivityPopupUser::getPopupId,id)
).build();
List<ActivityPopupUser> activityPopupUsers = activityPopupUserBiz.selectByExample(exa);
if (activityPopupUsers==null||activityPopupUsers.size()==0) {
ActivityPopupUser activityPopupUser = new ActivityPopupUser();
activityPopupUser.setPopupId(id);
activityPopupUser.setUserId(userInfo.getUserid());
activityPopupUser.setCrtTime(BigInteger.valueOf(System.currentTimeMillis()));
activityPopupUserBiz.insertSelective(activityPopupUser);
}
}
}
}
package com.xxfc.platform.activity.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.activity.entity.ActivityPopupUser;
import com.xxfc.platform.activity.mapper.ActivityPopupUserMapper;
import org.springframework.stereotype.Service;
@Service
public class ActivityPopupUserBiz extends BaseBiz<ActivityPopupUserMapper, ActivityPopupUser> {
}
package com.xxfc.platform.activity.handler;
import com.alibaba.fastjson.JSONObject;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.activity.biz.IntegralUserRecordBiz;
import com.xxfc.platform.activity.vo.IntegralUserRecordDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@Component
@Slf4j
public class IntegralMQHandler {
@Autowired
IntegralUserRecordBiz integralUserRecordBiz;
@RabbitListener(queues = "integral_queue")
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(new Runnable() {
@Override
public void run() {
try{
String messageId = message.getMessageProperties().getMessageId();
String msg = new String(message.getBody(), "UTF-8");
log.info("接收到的消息:msg = {}, 消息ID是:messageId = {} ", msg, messageId);
if(StringUtils.isNotBlank(msg)) {
IntegralUserRecordDto integralUserRecordDto = JSONObject.parseObject(msg, IntegralUserRecordDto.class);
integralUserRecordBiz.add(integralUserRecordDto);
}
executorService.shutdown();
Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
// 手动签收
channel.basicAck(deliveryTag, false);
}catch (Exception e){
log.info("接收到的消息失败");
try{
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);
}catch (IOException i){
i.printStackTrace();
}
e.printStackTrace();
}
}
});
}
}
//package com.xxfc.platform.activity.handler;
//
//
//import com.alibaba.fastjson.JSONObject;
//import com.rabbitmq.client.Channel;
//import com.xxfc.platform.activity.biz.IntegralUserRecordBiz;
//import com.xxfc.platform.activity.vo.IntegralUserRecordDto;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.amqp.core.Message;
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
//import org.springframework.amqp.support.AmqpHeaders;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.messaging.handler.annotation.Headers;
//import org.springframework.stereotype.Component;
//
//import java.io.IOException;
//import java.util.Map;
//import java.util.concurrent.ExecutorService;
//import java.util.concurrent.Executors;
//
//@Component
//@Slf4j
//public class IntegralMQHandler {
//
// @Autowired
// IntegralUserRecordBiz integralUserRecordBiz;
//
// @RabbitListener(queues = "integral_queue")
// public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
// ExecutorService executorService = Executors.newCachedThreadPool();
// executorService.execute(new Runnable() {
// @Override
// public void run() {
// try {
// String messageId = message.getMessageProperties().getMessageId();
// String msg = new String(message.getBody(), "UTF-8");
// log.info("接收到的消息:msg = {}, 消息ID是:messageId = {} ", msg, messageId);
//
// if (StringUtils.isNotBlank(msg)) {
// IntegralUserRecordDto integralUserRecordDto = JSONObject.parseObject(msg, IntegralUserRecordDto.class);
// integralUserRecordBiz.add(integralUserRecordDto);
// }
//
// executorService.shutdown();
// Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
// // 手动签收
// channel.basicAck(deliveryTag, false);
// } catch (Exception e) {
// log.info("接收到的消息失败");
// try {
// channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);
// } catch (IOException i) {
// i.printStackTrace();
// }
// e.printStackTrace();
// }
// }
// });
// }
//
//
//}
package com.xxfc.platform.activity.mapper;
import com.xxfc.platform.activity.entity.ActivityManagement;
import tk.mybatis.mapper.common.Mapper;
/**
* @author Administrator
*/
public interface ActivityManagementMapper extends Mapper<ActivityManagement> {
}
package com.xxfc.platform.activity.mapper;
import com.xxfc.platform.activity.entity.ActivityPopup;
import tk.mybatis.mapper.common.Mapper;
/**
* @author Administrator
*/
public interface ActivityPopupMapper extends Mapper<ActivityPopup> {
}
package com.xxfc.platform.activity.mapper;
import com.xxfc.platform.activity.entity.ActivityPopupUser;
import tk.mybatis.mapper.common.Mapper;
/**
* @author Administrator
*/
public interface ActivityPopupUserMapper extends Mapper<ActivityPopupUser> {
}
package com.xxfc.platform.activity.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.activity.biz.ActivityManagementBiz;
import com.xxfc.platform.activity.entity.ActivityManagement;
import org.springframework.web.bind.annotation.*;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
/**
* 后台活动管理
* @author Administrator
*/
@RestController
@RequestMapping("Management")
public class ActivityManagementController extends BaseController<ActivityManagementBiz, ActivityManagement> {
/**
* 查找全部
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
@RequestMapping("/activity/findAll")
public ObjectRestResponse<List<ActivityManagement>> findAll() throws InvocationTargetException, IllegalAccessException {
List<ActivityManagement> list= baseBiz.selectedActivityManagement();
return ObjectRestResponse.succ(list);
}
/**
* 查找一条
* @param activityId
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
@GetMapping("getOne/{activityId}")
public ObjectRestResponse<ActivityManagement> getOne(@PathVariable Integer activityId) throws InvocationTargetException, IllegalAccessException {
return ObjectRestResponse.succ(getBaseBiz().getOne(activityId));
}
/**
* 修改活动
* @param activityManagement
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
@PutMapping("update")
public ObjectRestResponse updateActivityManagement(@RequestBody ActivityManagement activityManagement ) throws InvocationTargetException, IllegalAccessException {
getBaseBiz().updateActivityManagement(activityManagement);
return ObjectRestResponse.succ();
}
}
package com.xxfc.platform.activity.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.biz.ActivityPopupBiz;
import com.xxfc.platform.activity.entity.ActivityPopup;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 活动弹窗
* @author Administrator
*/
@RestController
@RequestMapping("activityPopup")
public class ActivityPopupController extends ActivityBaseController<ActivityPopupBiz> {
/**
* 返回活动弹窗列表
* @return
*/
@GetMapping("/app/unauth/getActivityPopup")
public ObjectRestResponse<List<ActivityPopup>> getActivityPopup() {
AppUserDTO userInfo = getUserInfo();
return ObjectRestResponse.succ(getBaseBiz().getActivityPopup(userInfo));
}
/**
* 保存用户和活动弹窗关系
* @param id
* @return
*/
@PostMapping("/app/unauth/setActivityPopup/{id}")
public ObjectRestResponse<List<ActivityPopup>> setActivityPopup(@PathVariable Integer id) {
AppUserDTO userInfo = getUserInfo();
getBaseBiz().setActivityPopup(userInfo,id);
return ObjectRestResponse.succ();
}
}
package com.xxfc.platform.order.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.util.Date;
import javax.persistence.Table;
import java.math.BigInteger;
@Data
@Table(name = "order_violation")
public class OrderViolation {
@Id
......@@ -57,18 +56,15 @@ public class OrderViolation {
/**
* 创建时间
*/
@JsonFormat(pattern="yyyy-MM-dd:HH:mm:ss",timezone="GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd:HH:mm:ss")
@Column(name = "crt_time")
private Date crtTime;
private BigInteger crtTime;
/**
* 修改时间
*/
@JsonFormat(pattern="yyyy-MM-dd:HH:mm:ss",timezone="GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd:HH:mm:ss")
@Column(name = "upd_time")
private Date updTime;
private BigInteger updTime;
/**
* 修改人id
......
......@@ -24,9 +24,11 @@ import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.common.Mapper;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**订单违章记录biz
......@@ -54,8 +56,16 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
OrderRentVehicleDetail orderRentVehicleDetail = new OrderRentVehicleDetail();
orderRentVehicleDetail.setId(orderViolation.getDetailId());
orderRentVehicleDetail.setHandelViolation(0);
Map<String, Object> status = mapper.getOrderAndVehicleStatus(orderViolation.getDetailId());
Integer orderStatus = (Integer) status.get("status");
Integer refundStatus = (Integer) status.get("refundStatus");
if (orderStatus>=6||(refundStatus<=2&&refundStatus!=1)) {
mapper.insertSelective(orderViolation);
detailMapper.updateByPrimaryKeySelective(orderRentVehicleDetail);
}else {
throw new BaseException("The operation cannot be changed at this time");
}
}
/**
......@@ -64,11 +74,13 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
*/
@Transactional(rollbackFor = Exception.class)
public void updateOrderViolation(OrderViolation orderViolation) {
OrderRentVehicleDetail orderRentVehicleDetail = detailMapper.selectByPrimaryKey(orderViolation.getDetailId());
if (orderRentVehicleDetail.getHandelViolation()==0) {
Map<String, Object> status = mapper.getOrderAndVehicleStatus(orderViolation.getDetailId());
Integer orderStatus = (Integer) status.get("status");
Integer refundStatus = (Integer) status.get("refundStatus");
if (orderStatus>=6||(refundStatus<=2&&refundStatus!=1)) {
mapper.updateByPrimaryKeySelective(orderViolation);
}else {
throw new BaseException("The violation has been dealt with and cannot be modified");
throw new BaseException("The operation cannot be changed at this time");
}
}
......
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.OrderViolation;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.Map;
/**
* @author Administrator
*/
public interface OrderViolationMapper extends Mapper<OrderViolation> {
Map<String,Object> getOrderAndVehicleStatus(@Param("vId") Integer detailId);
}
......@@ -18,6 +18,7 @@ import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.servlet.http.HttpServletRequest;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
......@@ -57,12 +58,23 @@ public class OrderViolationController extends BaseController<OrderViolationBiz,
*/
@PostMapping("/saveOrderViolation")
public ObjectRestResponse saveOrderViolation(@RequestBody OrderViolation orderViolation, HttpServletRequest request) {
UserDTO userDTOD = getUserDTO();
if (orderViolation.getId()==null) {
orderViolation.setIsDel(0);
orderViolation.setCrtHost(request.getRemoteHost());
orderViolation.setCrtName(userDTOD.getName());
orderViolation.setCrtUserId(userDTOD.getId());
orderViolation.setCrtTime(new Date());
orderViolation.setCrtTime(new BigInteger(String.valueOf(System.currentTimeMillis())));
getBaseBiz().insertOrderViolation(orderViolation);
}else {
orderViolation.setUpdHost(request.getRemoteHost());
orderViolation.setUpdName(userDTOD.getName());
orderViolation.setUpdUserId(userDTOD.getId());
orderViolation.setUpdTime(new BigInteger(String.valueOf(System.currentTimeMillis())));
getBaseBiz().updateOrderViolation(orderViolation);
}
return ObjectRestResponse.succ();
}
......@@ -86,23 +98,7 @@ public class OrderViolationController extends BaseController<OrderViolationBiz,
return ObjectRestResponse.succ(orderViolation);
}
/**
* 保存修改违章记录
*
* @param orderViolation
* @param request
* @return
*/
@PutMapping("/updateOrderViolation")
public ObjectRestResponse updateOrderViolation(@RequestBody OrderViolation orderViolation, HttpServletRequest request) {
UserDTO userDTOD = getUserDTO();
orderViolation.setUpdHost(request.getRemoteHost());
orderViolation.setUpdName(userDTOD.getName());
orderViolation.setUpdUserId(userDTOD.getId());
orderViolation.setUpdTime(new Date());
getBaseBiz().updateOrderViolation(orderViolation);
return ObjectRestResponse.succ();
}
@PostMapping(value = "/upload/violation")
public ObjectRestResponse uploadViolation(@RequestParam("file") MultipartFile file)
......
<?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.xxfc.platform.order.mapper.OrderViolationMapper" >
<mapper namespace="com.xxfc.platform.order.mapper.OrderViolationMapper">
<select id="getOrderAndVehicleStatus" parameterType="Integer" resultType="Map">
select
b.status,
b.refund_status as refundStatus
from
order_rent_vehicle_detail v
left join
base_order b
on
v.order_id=b.id
where
v.id=#{vId}
</select>
</mapper>
\ No newline at end of file
......@@ -10,6 +10,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Set;
/**
* Created by ace on 2017/9/15.
......@@ -81,4 +82,11 @@ public interface VehicleFeign {
*/
@GetMapping("/sysRegion/getSysRegionById/{id}")
RestResponse getSysRegionById(@PathVariable Integer id);
/**
* 多个城市code获取城市代码
* @param ids
* @return
*/
@PostMapping("/sysRegion/getSysRegionByIds")
ObjectRestResponse<List<SysRegion>> getSysRegionByIds(@RequestBody Set<Integer> ids);
}
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.SysRegionBiz;
import com.xxfc.platform.vehicle.common.BaseController;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
......@@ -17,6 +18,7 @@ import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.util.List;
import java.util.Set;
@RestController
@RequestMapping("/sysRegion")
......@@ -92,6 +94,20 @@ public class SysRegionController extends BaseController<SysRegionBiz> {
return RestResponse.suc( sysRegions.get(0));
}
/**
* 根据一个id获取城市
* @param ids
* @return
*/
@PostMapping("/getSysRegionByIds")
ObjectRestResponse<List<SysRegion>> getSysRegionByIds(@RequestBody Set<Integer> ids){
Example exam = Example.builder(SysRegion.class)
.where(WeekendSqls.<SysRegion>custom()
.andIn(SysRegion::getId,ids)
).build();
List<SysRegion> sysRegions = baseBiz.selectByExample(exam);
return ObjectRestResponse.succ(sysRegions);
}
}
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