Commit 6cf6090d authored by 周健威's avatar 周健威

Merge branch 'master-tiande' into master-vehicle-price

parents 6c531ff5 148f5958
......@@ -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.dto;
import com.github.wxiaoqi.security.common.vo.DataInter;
import com.github.wxiaoqi.security.common.vo.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/7/8 16:08
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BaseUserDTO extends PageParam implements DataInter {
@ApiModelProperty("企业id")
Integer corporationId;
@ApiModelProperty("公司id")
Integer companyId;
@ApiModelProperty("名称")
String name;
List<Integer> dataCorporationIds;
List<Integer> dataCompanyIds;
}
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();
BranchCompany branchCompany1=selectById(id);
if (branchCompany1 != null){
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();
CompanyInfo companyInfo1=selectById(id);
if (companyInfo1 != null){
updateSelectiveById(companyInfo);
}else {
insertSelective(companyInfo);
}
return ObjectRestResponse.succ();
}
}
......@@ -4,6 +4,7 @@ import com.ace.cache.annotation.Cache;
import com.ace.cache.annotation.CacheClear;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.wxiaoqi.security.admin.dto.BaseUserDTO;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.mapper.MenuMapper;
import com.github.wxiaoqi.security.admin.mapper.UserMapper;
......@@ -14,6 +15,7 @@ import com.github.wxiaoqi.security.common.constant.UserConstant;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.entity.CompanyInfo;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.CompanySearchDTO;
......@@ -124,7 +126,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 +165,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);
......@@ -179,4 +183,15 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
public User getUserByUid(Integer userId){
return mapper.selectByPrimaryKey(userId);
}
public List<BaseUserVo> getList(BaseUserDTO baseUserDTO){
return mapper.selectList(baseUserDTO);
}
public ObjectRestResponse selectList(BaseUserDTO baseUserDTO){
Integer page=baseUserDTO.getPage()==null?1:baseUserDTO.getPage();
Integer limit=baseUserDTO.getLimit()==null?10:baseUserDTO.getLimit();
PageDataVO<BaseUserVo> dataVO= PageDataVO.pageInfo(page, limit, ()->getList(baseUserDTO));
return ObjectRestResponse.succ(dataVO);
}
}
......@@ -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.*;
@Component
@Slf4j
public class BranchCompanyMQHandler {
@Autowired
BranchCompanyBiz branchCompanyBiz;
/**
* 同步门店信息
* @param
*/
@RabbitListener(queues = COMPANY_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.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.dto.BaseUserDTO;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.vo.BaseUserVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
......@@ -11,4 +13,6 @@ public interface UserMapper extends Mapper<User> {
public List<User> selectLeaderByGroupId(@Param("groupId") int groupId);
// public List<User> userPage(@Param("groupId") String name);
User getUserByUid(@Param("to_uid") Integer to_uid);
List<BaseUserVo> selectList(BaseUserDTO baseUserDTO);
}
\ No newline at end of file
......@@ -3,9 +3,12 @@ package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.GroupBiz;
import com.github.wxiaoqi.security.admin.biz.MenuBiz;
import com.github.wxiaoqi.security.admin.biz.UserBiz;
import com.github.wxiaoqi.security.admin.dto.BaseUserDTO;
import com.github.wxiaoqi.security.admin.entity.Menu;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.admin.rpc.service.PermissionService;
import com.github.wxiaoqi.security.admin.vo.BaseUserVo;
import com.github.wxiaoqi.security.admin.vo.FrontUser;
......@@ -40,7 +43,7 @@ import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.
@Slf4j
@RestController
@RequestMapping("user")
public class UserController extends CommonBaseController {
public class UserController extends CommonBaseController implements UserRestInterface {
public final static Integer CURRENT_COMPANY = 1;
public final static Integer CURRENT_ZONE = 2;
......@@ -64,6 +67,14 @@ public class UserController extends CommonBaseController {
@Autowired
private UserAuthConfig userAuthConfig;
@Autowired
UserFeign userFeign;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
//内部类
@Data
......@@ -146,15 +157,21 @@ public class UserController extends CommonBaseController {
return menuBiz.selectListAll();
}
@RequestMapping(value = "/page",method = RequestMethod.GET)
/* @RequestMapping(value = "/page",method = RequestMethod.GET)
@ResponseBody
public TableResultResponse<BaseUserVo> list(@RequestParam Map<String, Object> params)throws Exception{
//查询列表数据
Query query = new Query(params);
return userBiz.selectPage(query, userBiz.getUserByUsername(userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getUniqueName()));
}*/
@RequestMapping(value = "/page",method = RequestMethod.GET)
public ObjectRestResponse selectLList(BaseUserDTO baseUserDTO){
setPowerData(baseUserDTO,true);
return userBiz.selectList(baseUserDTO);
}
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ResponseBody
public ObjectRestResponse<User> get(@PathVariable int id) {
......
......@@ -60,4 +60,45 @@
<!-- left join base_group_leader gm-->
<!-- on gm.user_id = u.id where gm.group_id = #{groupId}-->
<!-- </select>-->
<select id="selectList" parameterType="com.github.wxiaoqi.security.admin.dto.BaseUserDTO" resultType="com.github.wxiaoqi.security.admin.vo.BaseUserVo">
SELECT
u.*,
c.`name` as companyName,
IFNULL(i.`name`,ci.`name`) as corporationName,
if(i.id > 0,i.id,u.corporation_id) as corporationId
FROM base_user u
LEFT JOIN branch_company c ON u.company_id=c.id
LEFT JOIN company_info i ON c.company_id=i.id
LEFT JOIN company_info ci ON u.corporation_id=ci.id
<where>
<if test="companyId != null and companyId > 0">
and u.company_id = #{companyId}
</if>
<if test="corporationId != null and corporationId > 0 ">
and i.id = #{corporationId}
</if>
<if test="name != null and name != '' ">
and ( u.name like concat('%',#{name},'%') or u.username like concat('%',#{name},'%') )
</if>
<if test="dataCompanyIds != null and dataCompanyIds.size > 0">
and u.company_id in
<foreach collection="dataCompanyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="dataCorporationIds != null and dataCorporationIds.size > 0">
and ( i.id in
<foreach collection="dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or ( u.corporation_id in
<foreach collection="dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
and u.company_id = 0 )
)
</if>
</where>
order by u.id desc
</select>
</mapper>
\ No newline at end of file
package com.xxfc.platform.order.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Table(name = "branch_company")
public class BranchCompany {
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
@Column(name = "company_base_id")
@ApiModelProperty("主键id")
private Integer companyBaseId;
@Column(name = "company_id")
@ApiModelProperty("公司id")
private Long companyId;
/**
* 分公司名称
*/
@ApiModelProperty("分公司名称")
private String name;
@Column(name = "short_name")
@ApiModelProperty("简称")
private String shortName;
/**
* 分支机构类型
*/
@Column(name = "branch_type")
@ApiModelProperty("分支机构类型")
private Integer branchType;
/**
* 分支机构所属机构
*/
@Column(name = "subordinate_branch")
@ApiModelProperty("分支机构所属机构")
private Integer subordinateBranch;
/**
* 地址-省/直辖市(编码)
*/
@Column(name = "addr_province")
@ApiModelProperty("地址-省/直辖市(编码)")
private Integer addrProvince;
/**
* 地址-省/直辖市(编码)名称
*/
@Column(name = "province_name")
@ApiModelProperty("地址-省/直辖市(编码)名称")
private String provinceName;
/**
* 地址-市(编码)
*/
@Column(name = "addr_city")
@ApiModelProperty("地址-市(编码)")
private Integer addrCity;
/**
* 地址-市(编码)名称
*/
@Column(name = "city_name")
@ApiModelProperty("地址-市(编码名称")
private String cityName;
/**
* 地址-镇/县(编码)
*/
@Column(name = "addr_town")
@ApiModelProperty("地址-镇/县(编码)")
private Integer addrTown;
/**
* 地址-县名称
*/
@Column(name = "town_name")
@ApiModelProperty("县名称")
private String townName;
/**
* 详细地址
*/
@Column(name = "addr_detail")
@ApiModelProperty("详细地址")
private String addrDetail;
private Date createTime;
private Date updateTime;
/**
* 负责人
*/
@ApiModelProperty("负责人")
private String leader;
/**
* 负责人联系方式
*/
@ApiModelProperty("负责人联系方式")
private String leaderContactInfo;
/**
* 分公司状态
*/
@ApiModelProperty("分公司状态")
private Integer status;
/**
*公司地址-纬度
*/
@ApiModelProperty("公司地址-纬度")
private BigDecimal latitude;
/**
* 公司地址-经度
*/
@ApiModelProperty("公司地址-经度")
private BigDecimal longitude;
private String companyPic;
private Integer zoneId;
private String phone;
/**
* 租车客服电话
*/
@Column(name = "vehice_service_phone")
@ApiModelProperty("租车客服电话")
private String vehiceServicePhone;
/**
* 旅游客服电话
*/
@Column(name = "tour_service_phone")
@ApiModelProperty("旅游客服电话")
private String tourServicePhone;
/**
* 上下架:1-上架;2-下架
*/
private Integer state;
/**
* 是否app展示:1-是;2-否
*/
@Column(name = "is_show")
private Integer isShow;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
private Integer isDel;
}
\ No newline at end of file
package com.xxfc.platform.order.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Data
@Table(name = "company_info")
public class CompanyInfo {
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("公司名称")
private String name;
@ApiModelProperty("法人姓名")
@Column(name = "legal_person")
private String legalPerson;
@ApiModelProperty("公司名称")
@Column(name = "legal_id_number")
private String legalIdNumber;
@ApiModelProperty("联系人")
private String contact;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("营业执照")
@Column(name = "business_license")
private String businessLicense;
@Column(name = "crt_time")
private Long crtTime;
@Column(name = "upd_time")
private Long updTime;
@Column(name = "is_del")
private Integer isDel;
}
\ No newline at end of file
......@@ -154,13 +154,47 @@ public class OrderRentVehicleDetail implements Serializable {
@Column(name = "start_company_id")
@ApiModelProperty(value = "出发公司Id")
private Integer startCompanyId;
@Column(name = "actual_end_company_id")
@ApiModelProperty(value = "实际结束公司id")
private Integer actualEndCompanyId;
@Column(name = "vehicle_company_id")
@ApiModelProperty(value = "出发公司Id")
private Integer vehicleCompanyId;
/**
* 结束公司Id
*/
@Column(name = "end_company_id")
@ApiModelProperty(value = "结束公司Id")
private Integer endCompanyId;
@Column(name = "start_branch_id")
@ApiModelProperty(value = "出发隶属的企业id")
private Integer startBranchId;
@Column(name = "actual_end_branch_id")
@ApiModelProperty(value = "实际结束隶属的企业id")
private Integer actualEndBranchId;
@Column(name = "vehicle_branch_id")
@ApiModelProperty(value = "车辆隶属企业id")
private Integer vehicleBranchId;
/**
* 结束公司Id
*/
@Column(name = "end_branch_id")
@ApiModelProperty(value = "结束隶属的企业id")
private Integer endBranchId;
/**
* 车型id
......
......@@ -120,8 +120,13 @@ public class OrderTourDetail implements Serializable {
* 出发公司Id
*/
@Column(name = "start_company_id")
@ApiModelProperty(value = "出发公司Id")
@ApiModelProperty(value = "出发门店Id")
private Integer startCompanyId;
@Column(name = "start_corporation_id")
@ApiModelProperty(value = "出发公司id")
private Integer startCorporationId;
/**
* 费用明细
......@@ -251,6 +256,15 @@ public class OrderTourDetail implements Serializable {
@ApiModelProperty(value = "费用其他明细 type:1--取消违约金;2--取消费用明细;3--提前还车费用明细;4--延期还车费用明细")
private String costDetailExtend;
@Column(name = "company_id")
@ApiModelProperty(value = "所属门店Id")
private Integer companyId;
@Column(name = "corporation_id")
@ApiModelProperty(value = "所属公司id")
private Integer corporationId;
@Transient
private List<TourUser> userVoList;
......
package com.xxfc.platform.order.pojo.bg;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class BgOrderListVo {
@ApiModelProperty(value = "出发公司Id")
private Integer startCompanyId;
@ApiModelProperty(value = "实际结束公司id")
private Integer actualEndCompanyId;
@ApiModelProperty(value = "出发公司Id")
private Integer vehicleCompanyId;
@ApiModelProperty(value = "结束公司Id")
private Integer endCompanyId;
@ApiModelProperty(value = "出发隶属的企业id")
private Integer startBranchId;
@ApiModelProperty(value = "实际结束隶属的企业id")
private Integer actualEndBranchId;
@ApiModelProperty(value = "车辆隶属企业id")
private Integer vehicleBranchId;
@ApiModelProperty(value = "实际结束公司")
private String actualEndCompanyName;
@ApiModelProperty(value = "车辆公司(门店)")
private String vehicleCompanyName;
@ApiModelProperty(value = "出发隶属的企业")
private String startBranchName;
@ApiModelProperty(value = "结束隶属的企业")
private String endBranchName;
@ApiModelProperty(value = "实际结束隶属的企业")
private String actualEndBranchName;
@ApiModelProperty(value = "车辆隶属企业")
private String vehicleBranchName;
//订单号
private Integer orderId;
//用户名
......
......@@ -34,6 +34,12 @@ public class OrderListVo extends BaseOrder {
private String startCompanyName;
private String startCorporationName;
private String companyName;
private String corporationName;
private String endCompanyName;
private String realName;
......
......@@ -36,34 +36,6 @@ public class BackgroundBaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder>
}
public ObjectRestResponse getAllOrderList(BaseOrderController.QueryOrderList dto) {
//判断token是否存在
UserDTO userDTO = getAdminUserInfo();
if (userDTO == null) {
return ObjectRestResponse.succ(new PageDataVO<>());
}
//获取权限公司列表
List<BranchCompany> branchCompanies = vehicleFeign.companyAll(userDTO.getDataAll(), userDTO.getDataCompany(), userDTO.getDataZone());
List<Integer> companyIds = branchCompanies.stream().map(BranchCompany::getId).collect(Collectors.toList());
//大区搜索
//有当前大区权限才能搜索到数据
if (dto.getZoneId() != null && (userDTO.getDataAll() == 1 || userDTO.getZoneId().equals(dto.getZoneId()) || userDTO.getDataZone().contains(dto.getZoneId()+""))) {
companyIds.clear();
}
//所属公司筛选
if (dto.getStartCompanyId() != null) {
if (companyIds.size() > 0) {
if (companyIds.contains(dto.getStartCompanyId())) {
companyIds.clear();
companyIds.add(dto.getStartCompanyId());
} else {
return ObjectRestResponse.succ(new PageDataVO<>());
}
} else {
companyIds.add(dto.getStartCompanyId());
}
}
dto.setCompanyIds(companyIds);
if (dto.getStartTime() != null) {
if (dto.getEndTime() == null) {
dto.setEndTime(new Date().getTime());
......
......@@ -2,17 +2,22 @@ package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.csp.sentinel.util.StringUtil;
import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException;
......@@ -43,6 +48,7 @@ import com.xxfc.platform.order.pojo.order.OrderListVo;
import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import com.xxfc.platform.order.pojo.order.QueryOrderDTO;
import com.xxfc.platform.order.rest.BaseOrderController;
import com.xxfc.platform.tour.entity.TourUser;
import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.universal.constant.DictionaryKey;
......@@ -137,6 +143,12 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
@Autowired
OrderActivityDetailBiz orderActivityDetailBiz;
@Autowired
BranchCompanyBiz branchCompanyBiz;
@Autowired
CompanyInfoBiz companyInfoBiz;
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
......@@ -1015,4 +1027,64 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
List<BaseOrderDTO> baseOrderDTOS = mapper.findOrdersByDate(startDate,endDate,startTime,endTime);
return CollectionUtils.isEmpty(baseOrderDTOS)?Collections.emptyList():baseOrderDTOS;
}
public PageDataVO<OrderListVo> selectList(BaseOrderController.QueryOrderList dto){
//车辆排班表查询订单详情
if (dto.getOneNo()!=null) {
dto.setPage(1);
dto.setLimit(1);
dto.setType(1);
}
if (StringUtils.isNotBlank(dto.getPhone()) || StringUtils.isNotBlank(dto.getRealName())) {
List<AppUserLogin> appUserLoins = userFeign.getOne(dto.getPhone(), dto.getRealName());
if (CollectionUtil.isNotEmpty(appUserLoins)) {
List<Integer> collect = appUserLoins.parallelStream().map(AppUserLogin::getId).collect(Collectors.toList());
dto.setUserIds(collect);
} else {
return new PageDataVO<>();
}
}
if (dto.getStartTime() != null) {
if (dto.getEndTime() == null) {
dto.setEndTime(new Date().getTime());
}
}
Query query = new Query(dto);
PageDataVO pageDataVO = PageDataVO.pageInfo(query, () ->listOrder(query.getSuper()));
List<OrderListVo> list = pageDataVO.getData();
List<Integer> userIds = list.stream().map(OrderListVo::getUserId).distinct().collect(Collectors.toList());
if (userIds != null && userIds.size() > 0) {
ObjectRestResponse<List<AppUserVo>> objectRestResponse = userFeign.getUsersByUserIds(userIds);
log.info("获取用户信息:objectRestResponse = {}", objectRestResponse.getData());
Map<Integer, AppUserVo> appvoMap = new HashMap<Integer, AppUserVo>();
if (objectRestResponse.getData() != null) {
for (AppUserVo appUserVo : objectRestResponse.getData()) {
if (appUserVo != null) {
appvoMap.put(appUserVo.getUserid(), appUserVo);
}
}
}
for (OrderListVo orderPageVO : list) {
AppUserVo appUserVo = appvoMap.get(orderPageVO.getUserId());
if (appUserVo != null) {
orderPageVO.setTelephone(appUserVo.getUsername());
orderPageVO.setUsername(appUserVo.getNickname());
orderPageVO.setRealName(appUserVo.getRealname());
orderPageVO.setJobTitle(appUserVo.getJobTitle());
orderPageVO.setMemberName(appUserVo.getMemberName());
}
if (orderPageVO.getOrderTourDetail() != null && orderPageVO.getOrderTourDetail().getStartCompanyId() != null) {
if (StringUtils.isNotBlank(orderPageVO.getOrderTourDetail().getTourUserIds())) {
List<TourUser> tourUsers = tourFeign.getTourUsers(orderPageVO.getOrderTourDetail().getTourUserIds()).getData();
orderPageVO.getOrderTourDetail().setUserVoList(tourUsers == null || tourUsers.size() <= 0 ? new ArrayList<>() : tourUsers);
}
}
}
}
return pageDataVO;
}
}
\ No newline at end of file
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.entity.BranchCompany;
import com.xxfc.platform.order.mapper.BranchCompanyMapper;
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();
BranchCompany branchCompany1=selectById(id);
if (branchCompany1 != null){
updateSelectiveById(branchCompany);
}else {
insertSelective(branchCompany);
}
return ObjectRestResponse.succ();
}
}
package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.entity.CompanyInfo;
import com.xxfc.platform.order.mapper.CompanyInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{
public ObjectRestResponse addOrUpd(CompanyInfo companyInfo){
Long id = companyInfo.getId() == null ? 0L :companyInfo.getId();
CompanyInfo companyInfo1=selectById(id);
if (companyInfo1 != null){
updateSelectiveById(companyInfo);
}else {
insertSelective(companyInfo);
}
return ObjectRestResponse.succ();
}
}
......@@ -21,9 +21,20 @@ public class RabbitOrderConfig extends RabbitCommonConfig {
//退款队列 绑定订单完成
public static final String ORDER_DEPOSIT_REFUND_QUEUE = "order.deposit.refund.queue";
//同步企业信息
public static final String ORDER_CORPORATION_UPD_QUEUE = "order.corporation:upd.queue";
//同步门店信息
public static final String ORDER_COMPANY_UPD_QUEUE = "order.company:upd.queue";
static {
myQueue = new ArrayList<BindDTO>(){{
add(new BindDTO(ORDER_DEPOSIT_REFUND_QUEUE, ORDER_TOPIC, KEY_ORDER_FINLISH));
//企业
add(new BindDTO(ORDER_CORPORATION_UPD_QUEUE, VEHICLE_TOPIC, KEY_CORPORATION_UPD));
//门店
add(new BindDTO(ORDER_COMPANY_UPD_QUEUE, VEHICLE_TOPIC, KEY_COMPANY_UPD));
}};
}
......
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.BranchCompany;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper;
public interface BranchCompanyMapper extends Mapper<BranchCompany>, SelectByIdListMapper<BranchCompany,Integer> {
}
\ No newline at end of file
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.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.order.mqhandler;
import cn.hutool.json.JSONUtil;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.order.biz.BranchCompanyBiz;
import com.xxfc.platform.order.entity.BranchCompany;
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.xxfc.platform.order.config.RabbitOrderConfig.*;
@Component
@Slf4j
public class BranchCompanyMQHandler {
@Autowired
BranchCompanyBiz branchCompanyBiz;
/**
* 同步门店信息
* @param
*/
@RabbitListener(queues = ORDER_COMPANY_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.xxfc.platform.order.mqhandler;
import cn.hutool.json.JSONUtil;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.order.biz.CompanyInfoBiz;
import com.xxfc.platform.order.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.xxfc.platform.order.config.RabbitOrderConfig.*;
@Component
@Slf4j
public class CorporationMQHandler {
@Autowired
CompanyInfoBiz companyInfoBiz;
/**
* 同步企业信息
* @param
*/
@RabbitListener(queues = ORDER_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);
}
}
});
}
}
......@@ -115,7 +115,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
return userFeign;
}
@RequestMapping(value = "/baseOrder/getOrderList", method = RequestMethod.GET)
@RequestMapping(value = "/baseOrder/getOrderListV2", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "获取后台订单列表")
@IgnoreClientToken
......@@ -291,6 +291,18 @@ public class BackStageOrderController extends CommonBaseController implements Us
return new ObjectRestResponse<>().data(pageDataVO);
}
@RequestMapping(value = "/baseOrder/getOrderList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "获取后台订单列表")
@IgnoreClientToken
@CrossOrigin
public ObjectRestResponse<PageDataVO<OrderListVo>> getOrderListV2(BaseOrderController.QueryOrderList dto) {
setPowerData(dto,true);
return new ObjectRestResponse<>().data(baseOrderBiz.selectList(dto));
}
@RequestMapping(value = "/baseOrder/getVehicleList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "交还车租车订单列表")
......@@ -481,6 +493,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
@GetMapping(value = "/baseOrder/getAll")
@ResponseBody
public ObjectRestResponse getAllOrderList(BaseOrderController.QueryOrderList dto) {
setPowerData(dto,true);
return backgroundBaseOrderBiz.getAllOrderList(dto);
}
......
......@@ -15,6 +15,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.ClientUtil;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.DataInter;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.biz.inner.OrderCancelBiz;
......@@ -363,7 +364,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
}
@Data
public class QueryOrderList extends BaseOrderBiz.QueryOrderDetailDTO {
public class QueryOrderList extends BaseOrderBiz.QueryOrderDetailDTO implements DataInter {
private Long startTime;
......@@ -423,6 +424,12 @@ public class BaseOrderController extends CommonBaseController implements UserRes
Integer memberLevel;
List<Integer> companyIds;
List<Integer> dataCorporationIds;
List<Integer> dataCompanyIds;
private Integer corporationId;
}
@RequestMapping(value = "/app/unauth/refund/{no}/{refundAmount}", method = RequestMethod.POST)
......
......@@ -122,10 +122,17 @@
<if test="type==1">
,i.detail as carArticlesJson
</if>
,
c.name as companyName,
c1.name as startCompanyName,
i.name as corporationName,
ci.name as startCorporationName
from base_order b
LEFT JOIN order_rent_vehicle_detail r on r.order_id = b.id
LEFT JOIN order_tour_detail t on t.order_id = b.id
LEFT JOIN order_member_detail m on m.order_id = b.id
LEFT JOIN branch_company c ON t.company_id=c.id
LEFT JOIN branch_company c1 ON t.start_company_id=c1.id
LEFT JOIN company_info i ON t.corporation_id=i.id
LEFT JOIN company_info ci ON t.start_corporation_id=i.id
<if test="type==1">
LEFT JOIN (select * from order_item where type = 104) i on b.id = i.order_id
</if>
......@@ -159,33 +166,39 @@
and b.name like CONCAT ("%", #{name}, "%")
</if>
<if test="startTime != null">
and (r.start_time between #{startTime} and #{endTime}
or t.start_time between #{startTime} and #{endTime})
and ( t.start_time between #{startTime} and #{endTime})
</if>
<if test="vehicleIds != null and vehicleIds.size() > 0">
<!--<if test="vehicleIds != null and vehicleIds.size() > 0">
AND r.vehicle_id IN
<foreach collection="vehicleIds" item="vehicleId" open="(" close=")" separator=",">
#{vehicleId}
</foreach>
</if>-->
<if test="startCompanyId != null and startCompanyId > 0 ">
and ( t.start_company_id = #{startCompanyId}
or t.company_id = #{startCompanyId})
</if>
<if test="companyIds != null and companyIds.size > 0">
and (r.start_company_id in
<foreach collection="companyIds" item="id" open="(" separator="," close=")">
<if test="corporationId != null and corporationId > 0 ">
and (t.corporation_id = #{corporationId} or t.start_corporation_id = #{corporationId} )
</if>
<if test="dataCompanyIds != null and dataCompanyIds.size > 0">
and (t.company_id in
<foreach collection="dataCompanyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or t.start_company_id in
<foreach collection="companyIds" item="id" open="(" separator="," close=")">
<foreach collection="dataCompanyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
)
</if>
<if test="zoneIds != null and zoneIds.size > 0">
and (r.start_zone_id in
<foreach collection="zoneIds" item="id" open="(" separator="," close=")">
<if test="dataCorporationIds != null and dataCorporationIds.size > 0">
and (t.corporation_id in
<foreach collection="dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or t.start_zone_id in
<foreach collection="zoneIds" item="id" open="(" separator="," close=")">
or t.start_corporation_id in
<foreach collection="dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
)
......@@ -284,7 +297,7 @@
<if test="startTime != null">
and startTime between #{startTime} and #{endTime}
</if>
<if test="companyIds != null and companyIds.size > 0">
<!--<if test="companyIds != null and companyIds.size > 0">
and (startCompanyId in
<foreach collection="companyIds" item="id" open="(" separator="," close=")">
#{id}
......@@ -295,6 +308,53 @@
#{id}
</foreach>
)
</if>-->
<if test="startCompanyId != null and startCompanyId > 0 ">
and (startCompanyId = #{startCompanyId} or endCompanyId = #{startCompanyId}
or actualEndCompanId = #{startCompanyId} or vehicleCompanId = #{startCompanyId} )
</if>
<if test="corporationId != null and corporationId > 0 ">
and (startBranchId = #{corporationId} or endBranchId = #{corporationId}
or actualEndBranchId = #{corporationId} or vehicleBranchId = #{corporationId} )
</if>
<if test="dataCompanyIds != null and dataCompanyIds.size > 0">
and (startCompanyId in
<foreach collection="dataCompanyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or endCompanyId in
<foreach collection="dataCompanyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or actualEndCompanId in
<foreach collection="dataCompanyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or vehicleCompanId in
<foreach collection="dataCompanyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
)
</if>
<if test="dataCorporationIds != null and dataCorporationIds.size > 0">
and (startBranchId in
<foreach collection="dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or endBranchId in
<foreach collection="dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or actualEndBranchId in
<foreach collection="dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or vehicleBranchId in
<foreach collection="dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
)
</if>
<if test="zoneId != null">
and (startZoneId = #{zoneId} or endZoneId = #{zoneId})
......
package com.xxfc.platform.tour.dto;
import com.github.wxiaoqi.security.common.vo.DataInter;
import com.github.wxiaoqi.security.common.vo.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 旅游商品
......@@ -13,7 +16,7 @@ import lombok.Data;
* @date 2019-06-06 11:41:51
*/
@Data
public class GoodSearchDTO extends PageParam {
public class GoodSearchDTO extends PageParam implements DataInter {
......@@ -33,6 +36,12 @@ public class GoodSearchDTO extends PageParam {
@ApiModelProperty("门店id")
private Integer companyId;
List<Integer> dataCorporationIds;
List<Integer> dataCompanyIds;
......
package com.xxfc.platform.tour.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Table(name = "branch_company")
public class BranchCompany {
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
@Column(name = "company_base_id")
@ApiModelProperty("主键id")
private Integer companyBaseId;
@Column(name = "company_id")
@ApiModelProperty("公司id")
private Long companyId;
/**
* 分公司名称
*/
@ApiModelProperty("分公司名称")
private String name;
@Column(name = "short_name")
@ApiModelProperty("简称")
private String shortName;
/**
* 分支机构类型
*/
@Column(name = "branch_type")
@ApiModelProperty("分支机构类型")
private Integer branchType;
/**
* 分支机构所属机构
*/
@Column(name = "subordinate_branch")
@ApiModelProperty("分支机构所属机构")
private Integer subordinateBranch;
/**
* 地址-省/直辖市(编码)
*/
@Column(name = "addr_province")
@ApiModelProperty("地址-省/直辖市(编码)")
private Integer addrProvince;
/**
* 地址-省/直辖市(编码)名称
*/
@Column(name = "province_name")
@ApiModelProperty("地址-省/直辖市(编码)名称")
private String provinceName;
/**
* 地址-市(编码)
*/
@Column(name = "addr_city")
@ApiModelProperty("地址-市(编码)")
private Integer addrCity;
/**
* 地址-市(编码)名称
*/
@Column(name = "city_name")
@ApiModelProperty("地址-市(编码名称")
private String cityName;
/**
* 地址-镇/县(编码)
*/
@Column(name = "addr_town")
@ApiModelProperty("地址-镇/县(编码)")
private Integer addrTown;
/**
* 地址-县名称
*/
@Column(name = "town_name")
@ApiModelProperty("县名称")
private String townName;
/**
* 详细地址
*/
@Column(name = "addr_detail")
@ApiModelProperty("详细地址")
private String addrDetail;
private Date createTime;
private Date updateTime;
/**
* 负责人
*/
@ApiModelProperty("负责人")
private String leader;
/**
* 负责人联系方式
*/
@ApiModelProperty("负责人联系方式")
private String leaderContactInfo;
/**
* 分公司状态
*/
@ApiModelProperty("分公司状态")
private Integer status;
/**
*公司地址-纬度
*/
@ApiModelProperty("公司地址-纬度")
private BigDecimal latitude;
/**
* 公司地址-经度
*/
@ApiModelProperty("公司地址-经度")
private BigDecimal longitude;
private String companyPic;
private Integer zoneId;
private String phone;
/**
* 租车客服电话
*/
@Column(name = "vehice_service_phone")
@ApiModelProperty("租车客服电话")
private String vehiceServicePhone;
/**
* 旅游客服电话
*/
@Column(name = "tour_service_phone")
@ApiModelProperty("旅游客服电话")
private String tourServicePhone;
/**
* 上下架:1-上架;2-下架
*/
private Integer state;
/**
* 是否app展示:1-是;2-否
*/
@Column(name = "is_show")
private Integer isShow;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
private Integer isDel;
}
\ No newline at end of file
package com.xxfc.platform.tour.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Data
@Table(name = "company_info")
public class CompanyInfo {
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("公司名称")
private String name;
@ApiModelProperty("法人姓名")
@Column(name = "legal_person")
private String legalPerson;
@ApiModelProperty("公司名称")
@Column(name = "legal_id_number")
private String legalIdNumber;
@ApiModelProperty("联系人")
private String contact;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("营业执照")
@Column(name = "business_license")
private String businessLicense;
@Column(name = "crt_time")
private Long crtTime;
@Column(name = "upd_time")
private Long updTime;
@Column(name = "is_del")
private Integer isDel;
}
\ No newline at end of file
......@@ -25,6 +25,11 @@
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-universal-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
......
package com.xxfc.platform.tour.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.tour.entity.BranchCompany;
import com.xxfc.platform.tour.mapper.BranchCompanyMapper;
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();
BranchCompany branchCompany1=selectById(id);
if (branchCompany1 != null){
updateSelectiveById(branchCompany);
}else {
insertSelective(branchCompany);
}
return ObjectRestResponse.succ();
}
}
package com.xxfc.platform.tour.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.tour.entity.CompanyInfo;
import com.xxfc.platform.tour.mapper.CompanyInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{
public ObjectRestResponse addOrUpd(CompanyInfo companyInfo){
Long id = companyInfo.getId() == null ? 0L :companyInfo.getId();
CompanyInfo companyInfo1=selectById(id);
if (companyInfo1 != null){
updateSelectiveById(companyInfo);
}else {
insertSelective(companyInfo);
}
return ObjectRestResponse.succ();
}
}
......@@ -116,7 +116,7 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> {
PageInfo<TourGoodVo> goodPageInfo = new PageInfo<>(mapper.findGoodList(dto));
goodPageInfo.getList();
PageDataVO<TourGoodVo> dataVO = PageDataVO.pageInfo(goodPageInfo);
List<TourGoodVo> list = dataVO.getData();
/*List<TourGoodVo> list = dataVO.getData();
if (list != null && list.size() > 0){
List<Long> corporationIds=list.stream().map(TourGoodVo::getCorporationId).distinct().collect(Collectors.toList());
CompanyInfoFindDTO companyInfoFindDTO=new CompanyInfoFindDTO();
......@@ -156,7 +156,7 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> {
tourGoodVo.setCompanyName(companySearchVO.getName());
}
}
}
}*/
return dataVO;
}
......
package com.xxfc.platform.tour.config;
import com.github.wxiaoqi.security.common.config.rabbit.BindDTO;
import com.github.wxiaoqi.security.common.config.rabbit.RabbitCommonConfig;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*;
/**
* rabbitmq配置类
* 包含: 不知道什么orderWater队列
*
* @author zhoujw
* @date 2019/7/15
*/
@Configuration
public class RabbitTourConfig extends RabbitCommonConfig {
//同步企业信息
public static final String TOUR_CORPORATION_UPD_QUEUE = "tour.corporation:upd.queue";
//同步门店信息
public static final String TOUR_COMPANY_UPD_QUEUE = "tour.company:upd.queue";
static {
myQueue = new ArrayList<BindDTO>() {{
//企业
add(new BindDTO(TOUR_CORPORATION_UPD_QUEUE, VEHICLE_TOPIC, KEY_CORPORATION_UPD));
//门店
add(new BindDTO(TOUR_COMPANY_UPD_QUEUE, VEHICLE_TOPIC, KEY_COMPANY_UPD));
}};
}
}
package com.xxfc.platform.tour.handler;
import cn.hutool.json.JSONUtil;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.tour.biz.BranchCompanyBiz;
import com.xxfc.platform.tour.entity.BranchCompany;
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.xxfc.platform.tour.config.RabbitTourConfig.*;
@Component
@Slf4j
public class BranchCompanyMQHandler {
@Autowired
BranchCompanyBiz branchCompanyBiz;
/**
* 同步门店信息
* @param
*/
@RabbitListener(queues = TOUR_COMPANY_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.xxfc.platform.tour.handler;
import cn.hutool.json.JSONUtil;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.tour.biz.CompanyInfoBiz;
import com.xxfc.platform.tour.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.xxfc.platform.tour.config.RabbitTourConfig.*;
@Component
@Slf4j
public class CorporationMQHandler {
@Autowired
CompanyInfoBiz companyInfoBiz;
/**
* 同步企业信息
* @param
*/
@RabbitListener(queues = TOUR_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.xxfc.platform.tour.mapper;
import com.xxfc.platform.tour.entity.BranchCompany;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper;
public interface BranchCompanyMapper extends Mapper<BranchCompany>, SelectByIdListMapper<BranchCompany,Integer> {
}
\ No newline at end of file
package com.xxfc.platform.tour.mapper;
import com.xxfc.platform.tour.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.tour.rest.admin;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
......@@ -16,14 +18,23 @@ import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("good")
@IgnoreClientToken
public class TourGoodAdminController extends BaseController<TourGoodBiz, TourGood> {
public class TourGoodAdminController extends BaseController<TourGoodBiz, TourGood> implements UserRestInterface {
@Autowired
TourGoodDetailBiz detailBiz;
@Autowired
UserFeign userFeign;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
@ApiOperation("后台查询旅游路线列表")
@RequestMapping(value = "/admin/goodList", method = RequestMethod.POST)
public ObjectRestResponse<TourGood> goodList(@RequestBody GoodSearchDTO dto) {
setPowerData(dto,true);
return ObjectRestResponse.succ(baseBiz.getAll(dto));
}
......
......@@ -51,8 +51,10 @@
<result property="unit" column="unit"/>
<result property="tagNames" column="tagNames"/>
<result property="isOutside" column="is_outside"/>
<result property="corporationId" column="corporation_id"/>
<result property="corporationId" column="corporationId"/>
<result property="companyId" column="company_id"/>
<result property="companyName" column="companyName"/>
<result property="corporationName" column="corporationName"/>
</resultMap>
<!--查询旅游路线列表-->
......@@ -109,9 +111,18 @@
<!--后台查询旅游路线列表-->
<select id="findGoodList" resultMap="tourGoodVoMap">
SELECT g.*,REPLACE(GROUP_CONCAT( DISTINCT t.`name`),',','|')as tagNames from tour_good g
SELECT
g.*,
REPLACE(GROUP_CONCAT( DISTINCT t.`name`),',','|')as tagNames,
c.`name` as companyName,
IFNULL(i.`name`,ci.`name`) as corporationName,
if(i.id > 0,i.id,g.corporation_id) as corporationId
from tour_good g
LEFT JOIN (SELECT * FROM tour_good_tag WHERE is_del=0) tag ON g.id=tag.good_id
LEFT JOIN (SELECT * FROM tour_tag WHERE is_del=0) t ON tag.tag_id=t.id
LEFT JOIN branch_company c ON g.company_id=c.id
LEFT JOIN company_info i ON c.company_id=i.id
LEFT JOIN company_info ci ON g.corporation_id=ci.id
<where>
g.is_del=0
<if test="params.name != null and params.name != ''">
......@@ -127,6 +138,24 @@
and g.id in (SELECT good_id from tour_good_tag
where tag_id = #{params.tagId} and is_del=0 )
</if>
<if test="params.dataCompanyIds != null and params.dataCompanyIds.size > 0">
and g.company_id in
<foreach collection="params.dataCompanyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="params.dataCorporationIds != null and params.dataCorporationIds.size > 0">
and ( i.id in
<foreach collection="params.dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
or ( g.corporation_id in
<foreach collection="params.dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
and g.company_id = 0 )
)
</if>
</where>
GROUP BY g.id
......
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,37 @@ 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);
}
}
public ObjectRestResponse saveOrUpd(BranchCompany branchCompany){
Integer id= branchCompany.getId() == null ? 0 : branchCompany.getId();
if (id > 0){
updateSelectiveById(branchCompany);
}else {
insertSelective(branchCompany);
}
sendQueue(branchCompany);
return ObjectRestResponse.succ();
}
public ObjectRestResponse del(BranchCompany branchCompany){
branchCompany.setIsDel(1);
updateSelectiveById(branchCompany);
sendQueue(branchCompany);
return ObjectRestResponse.succ();
}
}
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();
}
......
......@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
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.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.biz.BranchCompanyBiz;
......@@ -38,7 +39,7 @@ public class AdminBranchCompanyController extends BaseController<BranchCompanyBi
@RequestMapping(value ="/search",method = RequestMethod.GET)
public RestResponse<PageDataVO<CompanySearchVO>> search(@Validated CompanySearchDTO vo) {
setPowerData(vo,false);
setPowerData(vo,true);
return RestResponse.data(baseBiz.search(vo));
}
......@@ -53,6 +54,17 @@ public class AdminBranchCompanyController extends BaseController<BranchCompanyBi
return RestResponse.data(companySearchVO);
}
@RequestMapping(value ="/saveOrUpd",method = RequestMethod.POST)
public ObjectRestResponse search(@RequestBody BranchCompany branchCompany) {
return baseBiz.saveOrUpd(branchCompany);
}
@RequestMapping(value ="/detele",method = RequestMethod.DELETE)
public ObjectRestResponse detele(BranchCompany branchCompany) {
return baseBiz.del(branchCompany);
}
}
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