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 { ...@@ -36,8 +36,8 @@ public class AppUserManageVo {
/** /**
* 状态:0-正常,1-禁用 * 状态:0-正常,1-禁用
*/ */
@Column(name = "isdel") @Column(name = "status")
private Integer isDel; private Integer status;
/** /**
* 昵称 * 昵称
...@@ -63,6 +63,12 @@ public class AppUserManageVo { ...@@ -63,6 +63,12 @@ public class AppUserManageVo {
@Column(name = "city_code") @Column(name = "city_code")
private Integer cityCode; private Integer cityCode;
/**
* 市名称
*/
@Column(name = "city_code")
private String cityName;
/** /**
* 用户性别 * 用户性别
*/ */
......
...@@ -190,4 +190,12 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> { ...@@ -190,4 +190,12 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
} }
return null; 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; package com.github.wxiaoqi.security.admin.biz;
import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -9,14 +10,23 @@ import com.github.wxiaoqi.security.admin.mapper.*; ...@@ -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.AppUserManageVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; 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.beanutils.BeanUtilsBean;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
...@@ -33,6 +43,9 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail ...@@ -33,6 +43,9 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
@Autowired @Autowired
private BaseUserMemberMapper baseUserMemberMapper; private BaseUserMemberMapper baseUserMemberMapper;
@Autowired
private VehicleFeign vehicleFeign;
/** /**
* 根据条件查询 * 根据条件查询
* *
...@@ -40,10 +53,27 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail ...@@ -40,10 +53,27 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
* @return * @return
*/ */
public PageInfo<AppUserManageVo> findAllByQuery(AppUserManageDTO appUserManageDTO) { 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); List<AppUserManageVo> appUserManageVos = mapper.selectAppUserManage(appUserManageDTO);
PageInfo<AppUserManageVo> pageInfo = PageInfo.of(appUserManageVos);
return 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 ...@@ -90,13 +120,10 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
AppUserDetail appUserDetail = new AppUserDetail(); AppUserDetail appUserDetail = new AppUserDetail();
try { try {
BeanUtilsBean.getInstance().copyProperties(appUserLogin, appUserVo); BeanUtilsBean.getInstance().copyProperties(appUserLogin, appUserVo);
BeanUtilsBean.getInstance().copyProperties(appUserDetail, appUserVo); BeanUtilsBean.getInstance().copyProperties(appUserDetail, appUserVo);
if (appUserVo.getUserid() == null || appUserVo.getUserid() == 0) { if (appUserVo.getUserid() == null || appUserVo.getUserid() == 0) {
//设置登录用户信息 //设置登录用户信息
appUserLogin.setIsdel(0); appUserLogin.setIsdel(0);
appUserLogin.setCreatetime(System.currentTimeMillis()); appUserLogin.setCreatetime(System.currentTimeMillis());
......
package com.github.wxiaoqi.security.admin.rest; package com.github.wxiaoqi.security.admin.rest;
import com.github.pagehelper.PageInfo; 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.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.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.entity.AppUserManage;
import com.github.wxiaoqi.security.admin.vo.AppUserManageVo; import com.github.wxiaoqi.security.admin.vo.AppUserManageVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* app用户管理类 * app用户管理类
* @author Administrator * @author Administrator
...@@ -21,6 +22,9 @@ import java.util.List; ...@@ -21,6 +22,9 @@ import java.util.List;
@RequestMapping("appUsersManage") @RequestMapping("appUsersManage")
public class AppUsersManageController extends BaseController<AppUserManageBiz,AppUserManage> { public class AppUsersManageController extends BaseController<AppUserManageBiz,AppUserManage> {
@Autowired
private AppUserLoginBiz appUserLoginBiz;
/** /**
* 查询所有 * 查询所有
* @return * @return
...@@ -37,7 +41,7 @@ public class AppUsersManageController extends BaseController<AppUserManageBiz,Ap ...@@ -37,7 +41,7 @@ public class AppUsersManageController extends BaseController<AppUserManageBiz,Ap
*/ */
@DeleteMapping("/deleteById/{id}/{isDel}") @DeleteMapping("/deleteById/{id}/{isDel}")
public ObjectRestResponse deleteById(@PathVariable Integer id,@PathVariable Integer isDel){ public ObjectRestResponse deleteById(@PathVariable Integer id,@PathVariable Integer isDel){
baseBiz.deleteAppUser(id,isDel); baseBiz.deleteAppUser(id,isDel);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
...@@ -63,5 +67,23 @@ public class AppUsersManageController extends BaseController<AppUserManageBiz,Ap ...@@ -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 @@ ...@@ -50,10 +50,10 @@
l.id_number as idNumber, l.id_number as idNumber,
l.createtime, l.createtime,
l.last_time as lastTime, l.last_time as lastTime,
l.status,
d.channel, d.channel,
d.is_member, d.is_member,
d.realname, d.realname,
d.isdel,
d.nickname, d.nickname,
d.source, d.source,
d.province_code as provinceCode, 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; //package com.xxfc.platform.activity.handler;
//
//
import com.alibaba.fastjson.JSONObject; //import com.alibaba.fastjson.JSONObject;
import com.rabbitmq.client.Channel; //import com.rabbitmq.client.Channel;
import com.xxfc.platform.activity.biz.IntegralUserRecordBiz; //import com.xxfc.platform.activity.biz.IntegralUserRecordBiz;
import com.xxfc.platform.activity.vo.IntegralUserRecordDto; //import com.xxfc.platform.activity.vo.IntegralUserRecordDto;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; //import org.apache.commons.lang3.StringUtils;
import org.springframework.amqp.core.Message; //import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener; //import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders; //import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.Headers; //import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.stereotype.Component; //import org.springframework.stereotype.Component;
//
import java.io.IOException; //import java.io.IOException;
import java.util.Map; //import java.util.Map;
import java.util.concurrent.ExecutorService; //import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; //import java.util.concurrent.Executors;
//
@Component //@Component
@Slf4j //@Slf4j
public class IntegralMQHandler { //public class IntegralMQHandler {
//
@Autowired // @Autowired
IntegralUserRecordBiz integralUserRecordBiz; // IntegralUserRecordBiz integralUserRecordBiz;
//
@RabbitListener(queues = "integral_queue") // @RabbitListener(queues = "integral_queue")
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) { // public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
ExecutorService executorService = Executors.newCachedThreadPool(); // ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(new Runnable() { // executorService.execute(new Runnable() {
@Override // @Override
public void run() { // public void run() {
try{ // try {
String messageId = message.getMessageProperties().getMessageId(); // String messageId = message.getMessageProperties().getMessageId();
String msg = new String(message.getBody(), "UTF-8"); // String msg = new String(message.getBody(), "UTF-8");
log.info("接收到的消息:msg = {}, 消息ID是:messageId = {} ", msg, messageId); // log.info("接收到的消息:msg = {}, 消息ID是:messageId = {} ", msg, messageId);
//
if(StringUtils.isNotBlank(msg)) { // if (StringUtils.isNotBlank(msg)) {
IntegralUserRecordDto integralUserRecordDto = JSONObject.parseObject(msg, IntegralUserRecordDto.class); // IntegralUserRecordDto integralUserRecordDto = JSONObject.parseObject(msg, IntegralUserRecordDto.class);
integralUserRecordBiz.add(integralUserRecordDto); // integralUserRecordBiz.add(integralUserRecordDto);
} // }
//
executorService.shutdown(); // executorService.shutdown();
Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG); // Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
// 手动签收 // // 手动签收
channel.basicAck(deliveryTag, false); // channel.basicAck(deliveryTag, false);
}catch (Exception e){ // } catch (Exception e) {
log.info("接收到的消息失败"); // log.info("接收到的消息失败");
try{ // try {
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false); // channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);
}catch (IOException i){ // } catch (IOException i) {
i.printStackTrace(); // i.printStackTrace();
} // }
e.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; package com.xxfc.platform.order.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import java.util.Date; import javax.persistence.Table;
import java.math.BigInteger;
@Data @Data
@Table(name = "order_violation")
public class OrderViolation { public class OrderViolation {
@Id @Id
...@@ -57,18 +56,15 @@ public class OrderViolation { ...@@ -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") @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") @Column(name = "upd_time")
private Date updTime; private BigInteger updTime;
/** /**
* 修改人id * 修改人id
......
...@@ -24,9 +24,11 @@ import org.springframework.http.ResponseEntity; ...@@ -24,9 +24,11 @@ import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.common.Mapper;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/**订单违章记录biz /**订单违章记录biz
...@@ -54,8 +56,16 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat ...@@ -54,8 +56,16 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
OrderRentVehicleDetail orderRentVehicleDetail = new OrderRentVehicleDetail(); OrderRentVehicleDetail orderRentVehicleDetail = new OrderRentVehicleDetail();
orderRentVehicleDetail.setId(orderViolation.getDetailId()); orderRentVehicleDetail.setId(orderViolation.getDetailId());
orderRentVehicleDetail.setHandelViolation(0); orderRentVehicleDetail.setHandelViolation(0);
mapper.insertSelective(orderViolation); Map<String, Object> status = mapper.getOrderAndVehicleStatus(orderViolation.getDetailId());
detailMapper.updateByPrimaryKeySelective(orderRentVehicleDetail); 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 ...@@ -64,11 +74,13 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateOrderViolation(OrderViolation orderViolation) { public void updateOrderViolation(OrderViolation orderViolation) {
OrderRentVehicleDetail orderRentVehicleDetail = detailMapper.selectByPrimaryKey(orderViolation.getDetailId()); Map<String, Object> status = mapper.getOrderAndVehicleStatus(orderViolation.getDetailId());
if (orderRentVehicleDetail.getHandelViolation()==0) { Integer orderStatus = (Integer) status.get("status");
Integer refundStatus = (Integer) status.get("refundStatus");
if (orderStatus>=6||(refundStatus<=2&&refundStatus!=1)) {
mapper.updateByPrimaryKeySelective(orderViolation); mapper.updateByPrimaryKeySelective(orderViolation);
}else { }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; package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.OrderViolation; import com.xxfc.platform.order.entity.OrderViolation;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.Map;
/**
* @author Administrator
*/
public interface OrderViolationMapper extends Mapper<OrderViolation> { public interface OrderViolationMapper extends Mapper<OrderViolation> {
Map<String,Object> getOrderAndVehicleStatus(@Param("vId") Integer detailId);
} }
...@@ -18,6 +18,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -18,6 +18,7 @@ import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigInteger;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -57,12 +58,23 @@ public class OrderViolationController extends BaseController<OrderViolationBiz, ...@@ -57,12 +58,23 @@ public class OrderViolationController extends BaseController<OrderViolationBiz,
*/ */
@PostMapping("/saveOrderViolation") @PostMapping("/saveOrderViolation")
public ObjectRestResponse saveOrderViolation(@RequestBody OrderViolation orderViolation, HttpServletRequest request) { public ObjectRestResponse saveOrderViolation(@RequestBody OrderViolation orderViolation, HttpServletRequest request) {
UserDTO userDTOD = getUserDTO(); UserDTO userDTOD = getUserDTO();
orderViolation.setCrtHost(request.getRemoteHost()); if (orderViolation.getId()==null) {
orderViolation.setCrtName(userDTOD.getName()); orderViolation.setIsDel(0);
orderViolation.setCrtUserId(userDTOD.getId()); orderViolation.setCrtHost(request.getRemoteHost());
orderViolation.setCrtTime(new Date()); orderViolation.setCrtName(userDTOD.getName());
getBaseBiz().insertOrderViolation(orderViolation); orderViolation.setCrtUserId(userDTOD.getId());
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(); return ObjectRestResponse.succ();
} }
...@@ -86,23 +98,7 @@ public class OrderViolationController extends BaseController<OrderViolationBiz, ...@@ -86,23 +98,7 @@ public class OrderViolationController extends BaseController<OrderViolationBiz,
return ObjectRestResponse.succ(orderViolation); 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") @PostMapping(value = "/upload/violation")
public ObjectRestResponse uploadViolation(@RequestParam("file") MultipartFile file) public ObjectRestResponse uploadViolation(@RequestParam("file") MultipartFile file)
......
<?xml version="1.0" encoding="UTF-8" ?> <?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" > <!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> </mapper>
\ No newline at end of file
...@@ -10,6 +10,7 @@ import org.springframework.cloud.openfeign.FeignClient; ...@@ -10,6 +10,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* Created by ace on 2017/9/15. * Created by ace on 2017/9/15.
...@@ -81,4 +82,11 @@ public interface VehicleFeign { ...@@ -81,4 +82,11 @@ public interface VehicleFeign {
*/ */
@GetMapping("/sysRegion/getSysRegionById/{id}") @GetMapping("/sysRegion/getSysRegionById/{id}")
RestResponse getSysRegionById(@PathVariable Integer 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; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONException;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken; 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.biz.SysRegionBiz;
import com.xxfc.platform.vehicle.common.BaseController; import com.xxfc.platform.vehicle.common.BaseController;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException; import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
...@@ -17,6 +18,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -17,6 +18,7 @@ import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
import java.util.List; import java.util.List;
import java.util.Set;
@RestController @RestController
@RequestMapping("/sysRegion") @RequestMapping("/sysRegion")
...@@ -92,6 +94,20 @@ public class SysRegionController extends BaseController<SysRegionBiz> { ...@@ -92,6 +94,20 @@ public class SysRegionController extends BaseController<SysRegionBiz> {
return RestResponse.suc( sysRegions.get(0)); 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