Commit 76faa405 authored by 周健威's avatar 周健威

Merge remote-tracking branch 'origin/dev-tiande' into dev-tiande

parents 025a38bf 48e85751
......@@ -17,6 +17,8 @@ public class RabbitConstant {
public static final String INTEGRAL_TOPIC = INTEGRAL + TOPIC_EXC;
public static final String ACTIVITY_PRIZE="activity:prize";
public static final String ACTIVITY_PRIZE_TOPIC=ACTIVITY_PRIZE+TOPIC_EXC;
public static final String VEHICLE = "vehicle";
public static final String VEHICLE_TOPIC = VEHICLE+ TOPIC_EXC;
/**************************key*********************************/
//用户
......@@ -40,12 +42,21 @@ public class RabbitConstant {
//抽奖
public static final String KEY_ACTIVITY_PRIZE_RECORD="prize:record";
//企业信息
public static final String KEY_CORPORATION_UPD="corporation:upd";
//门店信息
public static final String KEY_COMPANY_UPD="company:upd";
static {
exchangeTopicSet = new HashSet<String>() {{
add(ADMIN_TOPIC);
add(ORDER_TOPIC);
add(INTEGRAL_TOPIC);
add(ACTIVITY_PRIZE_TOPIC);
add(VEHICLE_TOPIC);
}};
}
}
package com.github.wxiaoqi.security.admin.biz;
import com.github.wxiaoqi.security.admin.mapper.BranchCompanyMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany>{
public ObjectRestResponse addOrUpd(BranchCompany branchCompany){
Long id = branchCompany.getId() == null ? 0L :branchCompany.getId();
if (id > 0L){
updateSelectiveById(branchCompany);
}else {
insertSelective(branchCompany);
}
return ObjectRestResponse.succ();
}
}
package com.github.wxiaoqi.security.admin.biz;
import cn.hutool.json.JSONUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.mapper.CompanyInfoMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.entity.CompanyInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
@Service
@Slf4j
public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{
public ObjectRestResponse addOrUpd(CompanyInfo companyInfo){
Long id = companyInfo.getId() == null ? 0L :companyInfo.getId();
if (id > 0L){
updateSelectiveById(companyInfo);
}else {
insertSelective(companyInfo);
}
return ObjectRestResponse.succ();
}
}
......@@ -124,7 +124,8 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
}
if (list.size() > 0){
List<Long> corporationIds=list.stream().map(User::getCorporationId).distinct().collect(Collectors.toList());
List<User> list1 =list.stream().filter(x-> x.getCompanyId()==null || x.getCompanyId() == 0).collect(Collectors.toList());
List<Long> corporationIds=list1.stream().map(User::getCorporationId).distinct().collect(Collectors.toList());
CompanyInfoFindDTO companyInfoFindDTO=new CompanyInfoFindDTO();
companyInfoFindDTO.setIds(corporationIds);
ObjectRestResponse< List<CompanyInfo>> restResponse = vehicleFeign.listByIds(companyInfoFindDTO);
......@@ -162,6 +163,7 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
CompanySearchVO companySearchVO= companyMaps.get(userVo.getCompanyId());
if (companySearchVO != null ){
userVo.setCompanyName(companySearchVO.getName());
userVo.setCorporationName(companySearchVO.getCompanyName());
}
userVo.setGroupList(groupBiz.getUserGroups(userVo.getId()));
userVos.add(userVo);
......
......@@ -27,6 +27,12 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
//支付完成后永久绑定关系
public static final String ORDER_RELATION_QUEUE = "order.relation.queue";
//同步企业信息
public static final String CORPORATION_UPD_QUEUE = "corporation:upd.queue";
//同步门店信息
public static final String COMPANY_UPD_QUEUE = "company:upd.queue";
static {
myQueue = new ArrayList<BindDTO>() {{
......@@ -40,6 +46,10 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
add(new BindDTO(ORDER_FINLISH_USER_RE_QUEUE, ORDER_TOPIC, KEY_ORDER_FINLISH));
//钱包
add(new BindDTO(WALLET_ADD_QUEUE, ADMIN_TOPIC, KEY_WALLET_ADD));
//企业
add(new BindDTO(CORPORATION_UPD_QUEUE, VEHICLE_TOPIC, KEY_CORPORATION_UPD));
//门店
add(new BindDTO(COMPANY_UPD_QUEUE, VEHICLE_TOPIC, KEY_COMPANY_UPD));
}};
}
}
......
package com.github.wxiaoqi.security.admin.handler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.biz.BranchCompanyBiz;
import com.github.wxiaoqi.security.admin.biz.CompanyInfoBiz;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.CompanyInfo;
import lombok.extern.slf4j.Slf4j;
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;
import static com.github.wxiaoqi.security.admin.config.RabbitAdminConfig.CORPORATION_UPD_QUEUE;
@Component
@Slf4j
public class BranchCompanyMQHandler {
@Autowired
BranchCompanyBiz branchCompanyBiz;
/**
* 同步门店信息
* @param
*/
@RabbitListener(queues = CORPORATION_UPD_QUEUE)
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
log.info("同步门店信息 messageJson:"+ JSONUtil.parse(message));
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");
BranchCompany branchCompany = JSONUtil.toBean(msg, BranchCompany.class);
branchCompanyBiz.addOrUpd(branchCompany);
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) {
log.error(e.getMessage(), i);
}
log.error(e.getMessage(), e);
}
}
});
}
}
package com.github.wxiaoqi.security.admin.handler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.biz.AppUserSellingWaterBiz;
import com.github.wxiaoqi.security.admin.biz.CompanyInfoBiz;
import com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO;
import com.github.wxiaoqi.security.admin.dto.OrderWaterDTO;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.order.contant.enumerate.ItemTypeEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.vehicle.entity.CompanyInfo;
import lombok.extern.slf4j.Slf4j;
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.math.BigDecimal;
import java.util.ArrayList;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import static com.github.wxiaoqi.security.admin.config.RabbitAdminConfig.*;
import static com.xxfc.platform.order.pojo.mq.OrderMQDTO.*;
@Component
@Slf4j
public class CorporationMQHandler {
@Autowired
CompanyInfoBiz companyInfoBiz;
/**
* 同步企业信息
* @param
*/
@RabbitListener(queues = CORPORATION_UPD_QUEUE)
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
log.info("同步企业信息 messageJson:"+ JSONUtil.parse(message));
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");
CompanyInfo companyInfo = JSONUtil.toBean(msg, CompanyInfo.class);
companyInfoBiz.addOrUpd(companyInfo);
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) {
log.error(e.getMessage(), i);
}
log.error(e.getMessage(), e);
}
}
});
}
}
package com.github.wxiaoqi.security.admin.mapper;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
import java.util.Map;
public interface BranchCompanyMapper extends Mapper<BranchCompany>, SelectByIdListMapper<BranchCompany,Integer> {
}
\ No newline at end of file
package com.github.wxiaoqi.security.admin.mapper;
import com.xxfc.platform.vehicle.entity.CompanyInfo;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper;
public interface CompanyInfoMapper extends Mapper<CompanyInfo>, SelectByIdListMapper<CompanyInfo,Long> {
}
\ No newline at end of file
package com.xxfc.platform.vehicle.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONUtil;
import com.ace.cache.annotation.Cache;
import com.ace.cache.annotation.CacheClear;
import com.alibaba.fastjson.JSONObject;
......@@ -13,6 +14,8 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.google.common.collect.Lists;
import com.xxfc.platform.universal.dto.SendMsgDTO;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
......@@ -54,6 +57,8 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_FALSE;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.KEY_COMPANY_UPD;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.VEHICLE_TOPIC;
import static com.xxfc.platform.vehicle.constant.DbColumnConstant.*;
import static com.xxfc.platform.vehicle.constant.RedisKey.BRANCH_COMPANY_CACHE_DATAZONE;
......@@ -88,6 +93,9 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
@Autowired
private VehicleBiz vehicleBiz;
@Autowired
MQSenderFeign mqSenderFeign;
/**
* 按主键获取公司
......@@ -247,6 +255,7 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
BranchCompany branchCompany = new BranchCompany();
BeanUtils.copyProperties(branchCompanyVo, branchCompany);
mapper.insertSelective(branchCompany);
sendQueue(branchCompany);
return branchCompany.getId();
}
......@@ -461,4 +470,19 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
List<BranchCompanyAreaDTO> branchCompanyAreaDTOS = mapper.findBranchCompanyAreaByIds(compnayIds);
return CollectionUtils.isEmpty(branchCompanyAreaDTOS)?Collections.EMPTY_LIST:branchCompanyAreaDTOS;
}
public void sendQueue(BranchCompany branchCompany) {
try {
SendMsgDTO sendMsgDTO = new SendMsgDTO() {{
setExchange(VEHICLE_TOPIC);
}};
sendMsgDTO.setJson(JSONUtil.toJsonStr(branchCompany));
sendMsgDTO.setRoutKey(KEY_COMPANY_UPD);
mqSenderFeign.postSendMessage(sendMsgDTO);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
}
package com.xxfc.platform.vehicle.biz;
import cn.hutool.json.JSONUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.universal.dto.SendMsgDTO;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import com.xxfc.platform.vehicle.entity.CompanyInfo;
import com.xxfc.platform.vehicle.mapper.CompanyInfoMapper;
import com.xxfc.platform.vehicle.pojo.dto.CompanyInfoFindDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*;
@Service
@Slf4j
public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{
@Autowired
MQSenderFeign mqSenderFeign;
public ObjectRestResponse addOrUpd(CompanyInfo companyInfo){
......@@ -30,6 +39,7 @@ public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{
}else {
insertSelective(companyInfo);
}
sendQueue(companyInfo);
return ObjectRestResponse.succ();
}
......@@ -54,5 +64,19 @@ public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{
return ObjectRestResponse.succ(PageDataVO.pageInfo(pageInfo));
}
private void sendQueue(CompanyInfo companyInfo) {
try {
SendMsgDTO sendMsgDTO = new SendMsgDTO() {{
setExchange(VEHICLE_TOPIC);
}};
sendMsgDTO.setJson(JSONUtil.toJsonStr(companyInfo));
sendMsgDTO.setRoutKey(KEY_CORPORATION_UPD);
mqSenderFeign.postSendMessage(sendMsgDTO);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
}
......@@ -107,7 +107,8 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
if (area==null||StringUtils.isBlank(area.getProvinceIds())||!area.getProvinceIds().contains(provinc+"")){
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"片区和省份不一致");
}
return ObjectRestResponse.succ(baseBiz.add(branchCompanyVo));
baseBiz.add(branchCompanyVo);
return ObjectRestResponse.succ();
}
@RequestMapping(value ="/app/unauth/getByZone",method = RequestMethod.GET)
......@@ -140,12 +141,17 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"片区和省份不一致");
}
baseBiz.update(branchCompany);
baseBiz.sendQueue(branchCompany);
return ObjectRestResponse.succ();
}
@RequestMapping(value ="/{id}",method = RequestMethod.DELETE)
public RestResponse del(@PathVariable Integer id) {
baseBiz.del(id);
BranchCompany branchCompany=new BranchCompany();
branchCompany.setId(id);
branchCompany.setIsDel(1);
baseBiz.sendQueue(branchCompany);
return RestResponse.sucResponse();
}
......
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