Commit 38b4b0ad authored by 周健威's avatar 周健威

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

parents 1a8dcd57 e26618fb
...@@ -56,7 +56,7 @@ public class RabbitConstant { ...@@ -56,7 +56,7 @@ public class RabbitConstant {
add(ORDER_TOPIC); add(ORDER_TOPIC);
add(INTEGRAL_TOPIC); add(INTEGRAL_TOPIC);
add(ACTIVITY_PRIZE_TOPIC); add(ACTIVITY_PRIZE_TOPIC);
add(VEHICLE_TOPIC); add(VEHICLE_TOPIC);
}}; }};
} }
} }
package com.github.wxiaoqi.security.common.util;
import cn.hutool.core.lang.Assert;
import org.springframework.beans.BeansException;
import org.springframework.beans.FatalBeanException;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public abstract class BeanUtils extends org.springframework.beans.BeanUtils {
public static void copyPropertiesTargetIsEquals(Object source, Object target) throws BeansException {
Assert.notNull(source, "Source must not be null");
Assert.notNull(target, "Target must not be null");
Class<?> actualEditable = target.getClass();
PropertyDescriptor[] targetPds = getPropertyDescriptors(actualEditable);
for (PropertyDescriptor targetPd : targetPds) {
if (targetPd.getWriteMethod() != null) {
PropertyDescriptor sourcePd = getPropertyDescriptor(source.getClass(), targetPd.getName());
if (sourcePd != null && sourcePd.getReadMethod() != null) {
try {
Method readMethod = sourcePd.getReadMethod();
if (!Modifier.isPublic(readMethod.getDeclaringClass().getModifiers())) {
readMethod.setAccessible(true);
}
Object value = readMethod.invoke(source);
// 这里判断以下value是否为空 当然这里也能进行一些特殊要求的处理 例如绑定时格式转换等等
if (value != null ) {
Method writeMethod = targetPd.getWriteMethod();
if (!Modifier.isPublic(writeMethod.getDeclaringClass().getModifiers())) {
writeMethod.setAccessible(true);
}
Method readMethod1 = targetPd.getReadMethod();
if (!Modifier.isPublic(readMethod1.getDeclaringClass().getModifiers())) {
readMethod1.setAccessible(true);
}
Object targetValue = readMethod1.invoke(target);
if (value != null && targetValue != null && value.equals(targetValue) ){
writeMethod.invoke(target, (String)null);
}
}
} catch (Throwable ex) {
throw new FatalBeanException("Could not copy properties from source to target", ex);
}
}
}
}
}
public static void copyPropertiesTargetIsNull(Object source, Object target) throws BeansException {
Assert.notNull(source, "Source must not be null");
Assert.notNull(target, "Target must not be null");
Class<?> actualEditable = target.getClass();
PropertyDescriptor[] targetPds = getPropertyDescriptors(actualEditable);
for (PropertyDescriptor targetPd : targetPds) {
if (targetPd.getWriteMethod() != null) {
PropertyDescriptor sourcePd = getPropertyDescriptor(source.getClass(), targetPd.getName());
if (sourcePd != null && sourcePd.getReadMethod() != null) {
try {
Method readMethod = sourcePd.getReadMethod();
if (!Modifier.isPublic(readMethod.getDeclaringClass().getModifiers())) {
readMethod.setAccessible(true);
}
Object value = readMethod.invoke(source);
// 这里判断以下value是否为空 当然这里也能进行一些特殊要求的处理 例如绑定时格式转换等等
if (value != null ) {
Method writeMethod = targetPd.getWriteMethod();
if (!Modifier.isPublic(writeMethod.getDeclaringClass().getModifiers())) {
writeMethod.setAccessible(true);
}
Method readMethod1 = targetPd.getReadMethod();
if (!Modifier.isPublic(readMethod1.getDeclaringClass().getModifiers())) {
readMethod1.setAccessible(true);
}
Object targetValue = readMethod1.invoke(target);
if (targetValue == null ){
writeMethod.invoke(target, value);
}
}
} catch (Throwable ex) {
throw new FatalBeanException("Could not copy properties from source to target", ex);
}
}
}
}
}
}
...@@ -11,6 +11,7 @@ public class OrderUtil { ...@@ -11,6 +11,7 @@ public class OrderUtil {
public static final String DEFAULT_MID = "00"; public static final String DEFAULT_MID = "00";
public static final String APP_MID = "01"; public static final String APP_MID = "01";
public static final String COMPANY_MID = "05";
static Date today = new Date(); static Date today = new Date();
static int orderIndex = 0; static int orderIndex = 0;
......
package com.github.wxiaoqi.security.admin.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 16:27
*/
@Data
public class CompanyApplyFindDTO extends PageParam {
private String name;
private Integer formType;
}
package com.github.wxiaoqi.security.admin.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 16:27
*/
@Data
public class CompanyInfoFindDTO extends PageParam {
private String name;
private List<Long> ids;
}
package com.github.wxiaoqi.security.admin.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.github.wxiaoqi.security.admin.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 = "branch_company_level")
public class BranchCompanyLevel {
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
@ApiModelProperty("等级名称")
private String name;
@ApiModelProperty("图标")
private String icon;
@ApiModelProperty("等级")
private Integer level;
@ApiModelProperty("利润抽成比例")
@Column(name = "profit_ratio")
private Integer profitRatio;
@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
package com.github.wxiaoqi.security.admin.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Data
@Table(name = "company_info")
public class CompanyInfo {
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("app用户id")
@Column(name = "app_user_id")
private Integer appUserId;
@ApiModelProperty("公司名称")
private String name;
@ApiModelProperty("公司类型:1-个体;2-企业")
private Integer type;
@ApiModelProperty("法人姓名")
@Column(name = "legal_person")
private String legalPerson;
@ApiModelProperty("法人身份证")
@Column(name = "legal_id_number")
private String legalIdNumber;
@ApiModelProperty("身份证正面")
@Column(name = "front_url")
private String frontUrl;
@ApiModelProperty("法人身份证反面")
@Column(name = "back_url")
private String backUrl;
@ApiModelProperty("联系人")
private String contact;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("营业执照")
@Column(name = "business_license")
private String businessLicense;
@ApiModelProperty("合同s,逗号隔开")
@Column(name = "contract_imgs")
private String contractImgs;
/**
* 地址-省/直辖市(编码)
*/
@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;
@ApiModelProperty("成立日期")
@Column(name = "open_date")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyyMMdd",timezone="GMT+8")
private Date openDate;
@ApiModelProperty("营业执照有效期")
@Column(name = "license_date")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyyMMdd",timezone="GMT+8")
private Date licenseDate;
@Column(name = "register_code")
@ApiModelProperty("统一社会信用代码/注册号")
private String registerCode;
@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
package com.github.wxiaoqi.security.admin.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
@Data
@Table(name = "company_info_apply")
public class CompanyInfoApply {
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("app用户id")
@Column(name = "app_user_id")
private Integer appUserId;
@ApiModelProperty("商家id")
@Column(name = "branch_id")
private Long branchId;
@ApiModelProperty("公司名称")
private String name;
@ApiModelProperty("公司类型:1-个体;2-企业")
private Integer type;
@ApiModelProperty("法人姓名")
@Column(name = "legal_person")
private String legalPerson;
@ApiModelProperty("联系人")
private String contact;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("状态:0-待审核;1-审核成功;2-驳回")
private Integer status;
@ApiModelProperty("驳回原因")
private String reason;
@ApiModelProperty("支付金额")
@Column(name = "pay_amount")
private BigDecimal payAmount;
@ApiModelProperty("商家审核信息json")
@Column(name = "detail_json")
private String detailJson;
@ApiModelProperty("表单提交类型:1-申请入驻:2-修改信息")
@Column(name = "form_type")
private Integer formType;
@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
package com.github.wxiaoqi.security.admin.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;
@Data
@Table(name = "company_info_order")
public class CompanyInfoOrder {
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("商家申请id")
@Column(name = "branch_apply_id")
private Long branchApplyId;
@ApiModelProperty("订单号")
@Column(name = "oder_no")
private String oderNo;
@ApiModelProperty("实付金额")
@Column(name = "real_amount")
private BigDecimal realAmount;
@ApiModelProperty("支付状态:0-未支付:1-已支付:2-已退款")
@Column(name = "pay_status")
private Integer pay_status;
@ApiModelProperty("订单类别:1-质保金;2-服务费")
@Column(name = "order_type")
private Integer orderType;
@ApiModelProperty("支付时间")
@Column(name = "pay_time")
private Long payTime;
@Column(name = "crt_time")
private Long crtTime;
@ApiModelProperty("退款时间")
@Column(name = "refund_time")
private Long refundTime;
}
\ No newline at end of file
package com.github.wxiaoqi.security.admin.vo;
import com.github.wxiaoqi.security.admin.entity.CompanyInfoApply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/7/12 9:20
*/
@Data
public class CompanyApplyVo extends CompanyInfoApply {
@ApiModelProperty("商家名称")
private Integer branchName;
}
package com.github.wxiaoqi.security.admin.vo;
import com.github.wxiaoqi.security.admin.entity.CompanyInfo;
import com.github.wxiaoqi.security.admin.entity.CompanyInfoApply;
import com.github.wxiaoqi.security.admin.entity.CompanyInfoOrder;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/7/12 9:20
*/
@Data
public class CompanyInfoVo extends CompanyInfo {
@ApiModelProperty("商家审核记录")
private CompanyInfoApply companyInfoApply;
@ApiModelProperty("商家订单记录")
private List<CompanyInfoOrder> companyInfoOrderList;
}
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.entity.BranchCompany;
import com.github.wxiaoqi.security.admin.mapper.BranchCompanyMapper; import com.github.wxiaoqi.security.admin.mapper.BranchCompanyMapper;
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.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.universal.dto.SendMsgDTO;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*;
@Service @Service
@Slf4j @Slf4j
public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany>{ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany>{
@Autowired
MQSenderFeign mqSenderFeign;
public ObjectRestResponse addOrUpd(BranchCompany branchCompany){ public ObjectRestResponse addOrUpd(BranchCompany branchCompany){
...@@ -25,7 +32,27 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -25,7 +32,27 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
}else { }else {
insertSelective(branchCompany); insertSelective(branchCompany);
} }
sendQueue(branchCompany);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
public void sendQueue(BranchCompany branchCompany) {
try {
SendMsgDTO sendMsgDTO = new SendMsgDTO() {{
setExchange(ADMIN_TOPIC);
}};
sendMsgDTO.setJson(JSONUtil.toJsonStr(branchCompany));
sendMsgDTO.setRoutKey(KEY_COMPANY_UPD);
mqSenderFeign.postSendMessage(sendMsgDTO);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
} }
package com.github.wxiaoqi.security.admin.biz;
import com.github.wxiaoqi.security.admin.entity.BranchCompanyLevel;
import com.github.wxiaoqi.security.admin.mapper.BranchCompanyLevelMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
@Service
@Slf4j
public class BranchCompanyLevelBiz extends BaseBiz<BranchCompanyLevelMapper, BranchCompanyLevel>{
public ObjectRestResponse addOrUpd(BranchCompanyLevel branchCompanyLevel){
Integer id = branchCompanyLevel.getId() == null ? 0 :branchCompanyLevel.getId();
if (id > 0 ){
updateSelectiveById(branchCompanyLevel);
}else {
insertSelective(branchCompanyLevel);
}
return ObjectRestResponse.succ();
}
public List<BranchCompanyLevel> getList(){
Example example=new Example(BranchCompanyLevel.class);
example.createCriteria().andEqualTo("isDel",0);
return selectByExample(example);
}
}
package com.github.wxiaoqi.security.admin.biz;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.dto.CompanyApplyFindDTO;
import com.github.wxiaoqi.security.admin.entity.BranchCompany;
import com.github.wxiaoqi.security.admin.entity.CompanyInfo;
import com.github.wxiaoqi.security.admin.entity.CompanyInfoApply;
import com.github.wxiaoqi.security.admin.entity.CompanyInfoOrder;
import com.github.wxiaoqi.security.admin.mapper.CompanyInfoApplyMapper;
import com.github.wxiaoqi.security.admin.vo.CompanyApplyVo;
import com.github.wxiaoqi.security.admin.vo.CompanyInfoVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.BeanUtils;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.app.entity.Cofig;
import com.xxfc.platform.app.feign.ConfigFeign;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.List;
@Service
@Slf4j
public class CompanyInfoApplyBiz extends BaseBiz<CompanyInfoApplyMapper, CompanyInfoApply>{
@Autowired
CompanyInfoBiz companyInfoBiz;
@Autowired
ConfigFeign configFeign;
@Autowired
CompanyInfoOrderBiz companyInfoOrderBiz;
@Transactional(rollbackFor = Exception.class)
public CompanyInfoApply saveApply(CompanyInfo companyInfo){
if (companyInfo == null || StringUtils.isBlank(companyInfo.getName())){
throw new BaseException("参数不能为空",ResultCode.FAILED_CODE);
}
Long id = companyInfo.getId() == null ? 0L : companyInfo.getId();
List<CompanyInfo> list=companyInfoBiz.getListByExample(id,companyInfo.getName());
if (list.size() > 0){
throw new BaseException("公司名称不能重复",ResultCode.FAILED_CODE);
}
BigDecimal platformAmount=BigDecimal.ZERO;
BigDecimal margin=BigDecimal.ZERO;
CompanyInfo companyInfo1=null;
Integer formType=2;
if (id > 0){
companyInfo1=companyInfoBiz.selectById(id);
BeanUtils.copyPropertiesTargetIsEquals(companyInfo1,companyInfo);
}else {
JSONObject jsonObject=getApplyOrder();
if (jsonObject != null && jsonObject.getInteger("isPay") == 1){
platformAmount=jsonObject.getBigDecimal("platformAmount") == null ? BigDecimal.ZERO :jsonObject.getBigDecimal("platformAmount") ;
margin=jsonObject.getBigDecimal("margin") == null ? BigDecimal.ZERO :jsonObject.getBigDecimal("margin") ;
}
formType=1;
}
String detailJson= JSONObject.toJSONString(companyInfo);
if (companyInfo1 != null){
BeanUtils.copyPropertiesTargetIsNull(companyInfo1,companyInfo);
}
CompanyInfoApply companyInfoApply=new CompanyInfoApply();
BeanUtils.copyProperties(companyInfo,companyInfoApply);
companyInfoApply.setDetailJson(detailJson);
BigDecimal payAmount=platformAmount.add(margin);
companyInfoApply.setPayAmount(payAmount);
companyInfoApply.setBranchId(id);
companyInfoApply.setFormType(formType);
companyInfoApply.setId(null);
insertSelective(companyInfoApply);
Long branchApplyId=companyInfoApply.getId();
if (id == 0L && branchApplyId > 0L){
CompanyInfoOrder companyInfoOrder=new CompanyInfoOrder();
companyInfoOrder.setBranchApplyId(branchApplyId);
companyInfoOrder.setRealAmount(platformAmount);
companyInfoOrder.setOrderType(1);
companyInfoOrderBiz.saveOrder(companyInfoOrder);
CompanyInfoOrder companyInfoOrder1=new CompanyInfoOrder();
companyInfoOrder1.setBranchApplyId(branchApplyId);
companyInfoOrder1.setRealAmount(margin);
companyInfoOrder1.setOrderType(2);
companyInfoOrderBiz.saveOrder(companyInfoOrder1);
}
return companyInfoApply;
}
//入驻规则管理
public JSONObject getApplyOrder(){
try {
List<Cofig> list=configFeign.getAllByType(ConfigFeign.TYPE_COMPANY_APPLY+"").getData();
if (list!=null && list.size()>0){
String params=list.get(0).getParams();
JSONObject object = JSONObject.parseObject(params);
return object;
}
}catch (Exception e){
log.error(e.getMessage(), e);;
}
return null;
}
public List<CompanyApplyVo> getList(CompanyApplyFindDTO companyApplyFindDTO){
return mapper.selectList(companyApplyFindDTO);
}
public ObjectRestResponse selectList(CompanyApplyFindDTO companyApplyFindDTO){
PageHelper.startPage(companyApplyFindDTO.getPage(), companyApplyFindDTO.getLimit());
PageInfo<CompanyApplyVo> pageInfo = new PageInfo<>(getList(companyApplyFindDTO));
return ObjectRestResponse.succ(PageDataVO.pageInfo(pageInfo));
}
public CompanyInfoVo getApplyInfo(Long id){
CompanyInfoApply companyInfoApply = selectById(id);
if (companyInfoApply == null ){
throw new BaseException("申请记录不存在",ResultCode.FAILED_CODE);
}
Long branchId = companyInfoApply.getBranchId() == null ? 0L : companyInfoApply.getBranchId();
CompanyInfoVo companyInfoVo=new CompanyInfoVo();
if (branchId != null && companyInfoApply.getFormType() == 2 ){
CompanyInfo companyInfo=companyInfoBiz.selectById(branchId);
if (companyInfo != null ){
BeanUtils.copyProperties(companyInfo,companyInfoVo);
}
}
companyInfoVo.setCompanyInfoApply(companyInfoApply);
companyInfoVo.setCompanyInfoOrderList(companyInfoOrderBiz.getList(id));
return companyInfoVo;
}
@Transactional(rollbackFor = Exception.class)
public void audit(CompanyInfoApply companyInfoApply) {
Integer status=companyInfoApply.getStatus();
if (status == 2 && StringUtils.isBlank(companyInfoApply.getReason())){
throw new BaseException("驳回原因不能为空",ResultCode.FAILED_CODE);
}
updateSelectiveById(companyInfoApply);
if (status == 1){
companyInfoApply=selectById(companyInfoApply.getId());
if (companyInfoApply == null ){
throw new BaseException("申请记录不存在",ResultCode.FAILED_CODE);
}
Long id =companyInfoBiz.addOrUpd(companyInfoApply);
if (id > 0L){
CompanyInfoApply companyInfoApply1=new CompanyInfoApply();
companyInfoApply1.setId(companyInfoApply.getId());
companyInfoApply1.setBranchId(id);
updateSelectiveById(companyInfoApply);
}
}
}
}
...@@ -4,11 +4,18 @@ package com.github.wxiaoqi.security.admin.biz; ...@@ -4,11 +4,18 @@ package com.github.wxiaoqi.security.admin.biz;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.entity.*;
import com.github.wxiaoqi.security.admin.mapper.CompanyInfoMapper; import com.github.wxiaoqi.security.admin.mapper.CompanyInfoMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.entity.CompanyInfo; import com.xxfc.platform.app.entity.Cofig;
import com.xxfc.platform.app.feign.ConfigFeign;
import com.xxfc.platform.universal.dto.SendMsgDTO;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import com.xxfc.platform.vehicle.pojo.dto.CompanyInfoFindDTO;
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.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -17,6 +24,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -17,6 +24,7 @@ import tk.mybatis.mapper.entity.Example;
import java.util.List; import java.util.List;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*;
@Service @Service
...@@ -25,17 +33,141 @@ public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{ ...@@ -25,17 +33,141 @@ public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{
@Autowired
MQSenderFeign mqSenderFeign;
@Autowired
AppUserLoginBiz appUserBiz;
public ObjectRestResponse addOrUpd(CompanyInfo companyInfo){ @Autowired
UserBiz userBiz;
@Autowired
ConfigFeign configFeign;
@Autowired
BranchCompanyBiz branchCompanyBiz;
public Long addOrUpd(CompanyInfoApply companyInfoApply){
Long id = companyInfoApply.getBranchId() == null ? 0L :companyInfoApply.getBranchId();
List<CompanyInfo> list=getListByExample(id,companyInfoApply.getName());
if (list.size() > 0){
throw new BaseException("公司名称不能重复", ResultCode.FAILED_CODE);
}
CompanyInfo companyInfo=JSONUtil.toBean(companyInfoApply.getDetailJson(),CompanyInfo.class);
if (id > 0L ){
companyInfo.setId(id);
updateSelectiveById(companyInfo);
}else {
insertSelective(companyInfo);
id=companyInfo.getId();
//初始化商家账号
addUser(id);
//初始化店铺
BranchCompany branchCompany = getBranchCompanyInfo();
branchCompany.setCompanyId(id);
branchCompanyBiz.addOrUpd(branchCompany);
}
sendQueue(companyInfo);
return id;
}
//初始化店铺信息
public BranchCompany getBranchCompanyInfo(){
try {
List<Cofig> list=configFeign.getAllByType(ConfigFeign.TYPE_BRANCH_COMPANY+"").getData();
if (list!=null && list.size()>0){
String params=list.get(0).getParams();
return JSONUtil.toBean(params, BranchCompany.class);
}
}catch (Exception e){
log.error(e.getMessage(), e);;
}
return null;
}
public void saveOrUpd(CompanyInfo companyInfo){
Long id = companyInfo.getId() == null ? 0L :companyInfo.getId(); Long id = companyInfo.getId() == null ? 0L :companyInfo.getId();
CompanyInfo companyInfo1=selectById(id); if (id > 0L ){
if (companyInfo1 != null){ updateSelectiveById(companyInfo);
updateSelectiveById(companyInfo);
}else { }else {
insertSelective(companyInfo); insertSelective(companyInfo);
}
sendQueue(companyInfo);
}
private void sendQueue(CompanyInfo companyInfo) {
try {
SendMsgDTO sendMsgDTO = new SendMsgDTO() {{
setExchange(ADMIN_TOPIC);
}};
sendMsgDTO.setJson(JSONUtil.toJsonStr(companyInfo));
sendMsgDTO.setRoutKey(KEY_CORPORATION_UPD);
mqSenderFeign.postSendMessage(sendMsgDTO);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
public List<CompanyInfo> getListByExample(Long id,String name){
Example example=new Example(CompanyInfo.class);
example.createCriteria().andEqualTo("name",name).andNotEqualTo("id",id);
return selectByExample(example);
}
public List<CompanyInfo> getList(CompanyInfoFindDTO companyInfoFindDTO){
Example example=new Example(CompanyInfo.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel",0);
if (StringUtils.isNotBlank(companyInfoFindDTO.getName()) ){
criteria.andLike("name","%" + companyInfoFindDTO.getName() + "%");
}
if (companyInfoFindDTO.getIds() != null && companyInfoFindDTO.getIds().size() > 0){
criteria.andIn("id",companyInfoFindDTO.getIds());
}
example.setOrderByClause("crt_time desc ");
return selectByExample(example);
}
public ObjectRestResponse selectList(CompanyInfoFindDTO companyInfoFindDTO){
PageHelper.startPage(companyInfoFindDTO.getPage(), companyInfoFindDTO.getLimit());
PageInfo<CompanyInfo> pageInfo = new PageInfo<>(getList(companyInfoFindDTO));
return ObjectRestResponse.succ(PageDataVO.pageInfo(pageInfo));
}
public void addUser(Long branchId){
CompanyInfo companyInfo = selectById(branchId);
Integer appUserId=companyInfo.getAppUserId() == null ? 0 : companyInfo.getAppUserId();
AppUserLogin appUser = appUserBiz.selectById(appUserId);
if (appUser == null || StringUtils.isBlank(appUser.getUsername())){
throw new BaseException("app用户不存在",ResultCode.FAILED_CODE);
}
String username=appUser.getUsername();
User user = userBiz.getUserByUsername(username);
if (user != null ){
throw new BaseException("商家用户已存在相同手机号"+username,ResultCode.FAILED_CODE);
} }
return ObjectRestResponse.succ(); String password=username.substring(5);
user =new User();
user.setUsername(username);
user.setName(companyInfo.getName());
user.setPassword(password);
user.setStatus(1);
user.setCorporationId(branchId);
user.setDataAll(2);
user.setDataCorporation(branchId+"");
userBiz.insertSelective(user);
} }
} }
package com.github.wxiaoqi.security.admin.biz;
import com.github.wxiaoqi.security.admin.entity.CompanyInfoOrder;
import com.github.wxiaoqi.security.admin.mapper.CompanyInfoOrderMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.util.OrderUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
@Service
@Slf4j
public class CompanyInfoOrderBiz extends BaseBiz<CompanyInfoOrderMapper, CompanyInfoOrder>{
public void saveOrder(CompanyInfoOrder companyInfoOrder){
companyInfoOrder.setOderNo(OrderUtil.GetOrderNumber("", OrderUtil.COMPANY_MID));
if (companyInfoOrder.getRealAmount().compareTo(BigDecimal.ZERO) == 0){
companyInfoOrder.setPay_status(1);
companyInfoOrder.setPayTime(System.currentTimeMillis());
}
insertSelective(companyInfoOrder);
}
public List<CompanyInfoOrder> getList(Long branchApplyId){
CompanyInfoOrder companyInfoOrder=new CompanyInfoOrder();
companyInfoOrder.setBranchApplyId(branchApplyId);
return selectList(companyInfoOrder);
}
}
...@@ -27,11 +27,6 @@ public class RabbitAdminConfig extends RabbitCommonConfig { ...@@ -27,11 +27,6 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
//支付完成后永久绑定关系 //支付完成后永久绑定关系
public static final String ORDER_RELATION_QUEUE = "order.relation.queue"; 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 { static {
...@@ -46,10 +41,6 @@ public class RabbitAdminConfig extends RabbitCommonConfig { ...@@ -46,10 +41,6 @@ public class RabbitAdminConfig extends RabbitCommonConfig {
add(new BindDTO(ORDER_FINLISH_USER_RE_QUEUE, ORDER_TOPIC, KEY_ORDER_FINLISH)); 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(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));
}}; }};
} }
} }
......
...@@ -63,6 +63,8 @@ public class WebConfiguration implements WebMvcConfigurer { ...@@ -63,6 +63,8 @@ public class WebConfiguration implements WebMvcConfigurer {
"/user/**", "/user/**",
"/api/permissions", "/api/permissions",
"/api/user/un/**", "/api/user/un/**",
"/app/**",
"/backstage/**",
// "/api/app/**" // "/api/app/**"
}; };
Collections.addAll(list, urls); Collections.addAll(list, urls);
......
package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.entity.BranchCompanyLevel;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper;
public interface BranchCompanyLevelMapper extends Mapper<BranchCompanyLevel>, SelectByIdListMapper<BranchCompanyLevel,Integer> {
}
\ No newline at end of file
package com.github.wxiaoqi.security.admin.mapper; package com.github.wxiaoqi.security.admin.mapper;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.github.wxiaoqi.security.admin.entity.BranchCompany;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper; import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List;
import java.util.Map;
public interface BranchCompanyMapper extends Mapper<BranchCompany>, SelectByIdListMapper<BranchCompany,Integer> { public interface BranchCompanyMapper extends Mapper<BranchCompany>, SelectByIdListMapper<BranchCompany,Integer> {
} }
\ No newline at end of file
package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.dto.CompanyApplyFindDTO;
import com.github.wxiaoqi.security.admin.entity.CompanyInfoApply;
import com.github.wxiaoqi.security.admin.vo.CompanyApplyVo;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface CompanyInfoApplyMapper extends Mapper<CompanyInfoApply>, SelectByIdListMapper<CompanyInfoApply,Long> {
List<CompanyApplyVo> selectList(CompanyApplyFindDTO companyApplyFindDTO);
}
\ No newline at end of file
package com.github.wxiaoqi.security.admin.mapper; package com.github.wxiaoqi.security.admin.mapper;
import com.xxfc.platform.vehicle.entity.CompanyInfo;
import com.github.wxiaoqi.security.admin.entity.CompanyInfo;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper; import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
......
package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.entity.CompanyInfoOrder;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper;
public interface CompanyInfoOrderMapper extends Mapper<CompanyInfoOrder>, SelectByIdListMapper<CompanyInfoOrder,Long> {
}
\ No newline at end of file
package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.*;
import com.github.wxiaoqi.security.admin.entity.CompanyInfo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author Administrator
*/
@Slf4j
@RestController
@RequestMapping("app/company")
@RequiredArgsConstructor(onConstructor_ = {@Autowired})
@Api(tags = {"商家入驻"})
public class AppCompanyInfoController extends BaseController<CompanyInfoApplyBiz> {
@Autowired
CompanyInfoOrderBiz companyInfoOrderBiz;
@PostMapping("apply")
@ApiModelProperty("商家入驻申请")
public ObjectRestResponse apply(@RequestBody CompanyInfo companyInfo) {
companyInfo.setAppUserId(getCurrentUserIdInt());
return ObjectRestResponse.succ(baseBiz.saveApply(companyInfo));
}
@GetMapping("order/{id}")
@ApiModelProperty("商家入驻订单")
public ObjectRestResponse applySelectList(@PathVariable("id") Long id) {
return ObjectRestResponse.succ( companyInfoOrderBiz.getList(id));
}
}
package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@Slf4j
public class BaseController<Biz extends BaseBiz> extends CommonBaseController {
@Autowired
protected Biz baseBiz;
@Autowired
protected UserAuthConfig userAuthConfig;
@Autowired
private UserAuthUtil userAuthUtil;
public String getUserName()throws Exception{ return userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getUniqueName(); }
public Biz getBaseBiz() {
return baseBiz;
}
public String getUserId()throws Exception{ return userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId(); }
}
package com.github.wxiaoqi.security.admin.rest.admin;
import com.github.wxiaoqi.security.admin.biz.BranchCompanyLevelBiz;
import com.github.wxiaoqi.security.admin.biz.CompanyInfoBiz;
import com.github.wxiaoqi.security.admin.entity.BranchCompanyLevel;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author Administrator
*/
@Slf4j
@RestController
@RequestMapping("backstage/companyLevel")
@RequiredArgsConstructor(onConstructor_ = {@Autowired})
@Api(tags = {"商家申请"})
public class AdminBranchCompanyLevelController extends BaseController<BranchCompanyLevelBiz, BranchCompanyLevel> {
@Autowired
CompanyInfoBiz companyInfoBiz;
@GetMapping("getList")
@ApiModelProperty("店铺等级列表")
public ObjectRestResponse getList() {
return ObjectRestResponse.succ( baseBiz.getList());
}
@PostMapping("addOrUpd")
@ApiModelProperty("店铺等级更新")
public ObjectRestResponse addOrUpd(@RequestBody BranchCompanyLevel branchCompanyLevel) {
return baseBiz.addOrUpd(branchCompanyLevel);
}
}
package com.github.wxiaoqi.security.admin.rest.admin;
import com.github.wxiaoqi.security.admin.biz.CompanyInfoApplyBiz;
import com.github.wxiaoqi.security.admin.biz.CompanyInfoBiz;
import com.github.wxiaoqi.security.admin.dto.CompanyApplyFindDTO;
import com.github.wxiaoqi.security.admin.entity.CompanyInfo;
import com.github.wxiaoqi.security.admin.entity.CompanyInfoApply;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.vehicle.pojo.dto.CompanyInfoFindDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author Administrator
*/
@Slf4j
@RestController
@RequestMapping("backstage/company")
@RequiredArgsConstructor(onConstructor_ = {@Autowired})
@Api(tags = {"商家申请"})
public class AdminCompanyInfoController extends BaseController<CompanyInfoApplyBiz,CompanyInfoApplyBiz> {
@Autowired
CompanyInfoBiz companyInfoBiz;
@GetMapping("apply/selectList")
@ApiModelProperty("商家入驻申请")
public ObjectRestResponse applySelectList(CompanyApplyFindDTO companyApplyFindDTO) {
return baseBiz.selectList(companyApplyFindDTO);
}
@GetMapping("apply/info/{id}")
@ApiModelProperty("商家入驻信息")
public ObjectRestResponse applyInfo(@PathVariable("id") Long id ) {
return ObjectRestResponse.succ( baseBiz.getApplyInfo(id));
}
@PostMapping("audit")
@ApiModelProperty("商家入驻审核")
public ObjectRestResponse audit(@RequestBody CompanyInfoApply companyInfoApply) {
baseBiz.audit(companyInfoApply);
return ObjectRestResponse.succ();
}
@PostMapping("apply")
@ApiModelProperty("商家入驻申请")
public ObjectRestResponse apply(@RequestBody CompanyInfo companyInfo) {
return ObjectRestResponse.succ(baseBiz.saveApply(companyInfo));
}
@PostMapping("upd")
@ApiModelProperty("商家信息修改")
public ObjectRestResponse upd(@RequestBody CompanyInfo companyInfo) {
companyInfoBiz.saveOrUpd(companyInfo);
return ObjectRestResponse.succ();
}
@GetMapping("info/{id}")
@ApiModelProperty("商家信息")
public ObjectRestResponse info(@PathVariable("id") Long id) {
return ObjectRestResponse.succ( companyInfoBiz.selectById(id));
}
@GetMapping("selectList")
@ApiModelProperty("商家列表")
public ObjectRestResponse selectList(CompanyInfoFindDTO companyInfoFindDTO) {
return ObjectRestResponse.succ( companyInfoBiz.selectList(companyInfoFindDTO));
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.github.wxiaoqi.security.admin.mapper.CompanyInfoApplyMapper">
<select id="selectList" resultType="com.github.wxiaoqi.security.admin.vo.CompanyApplyVo" parameterType="com.github.wxiaoqi.security.admin.dto.CompanyApplyFindDTO">
SELECT
a.*,
i.`name` as branchName
FROM company_info_apply a
LEFT JOIN company_info i on a.branch_id=i.id
<where>
<if test="name != null and name != ''">
AND ( a.`name` like concat('%',#{name},'%') or i.`name` like concat('%',#{name},'%') )
</if>
<if test="formType != null ">
AND a.`form_type`= #{formType}
</if>
</where>
order by a.upd_time DESC
</select>
</mapper>
\ No newline at end of file
...@@ -22,6 +22,11 @@ public interface ConfigFeign { ...@@ -22,6 +22,11 @@ public interface ConfigFeign {
//旅游提前天数 //旅游提前天数
public static final int TYPE_TOUR_DAYS=99; public static final int TYPE_TOUR_DAYS=99;
public static final int TYPE_COMPANY_APPLY=110;
public static final int TYPE_BRANCH_COMPANY=111;
@RequestMapping(value = "/cofig/app/unauth/types",method = RequestMethod.GET) @RequestMapping(value = "/cofig/app/unauth/types",method = RequestMethod.GET)
ObjectRestResponse<List<Cofig>> getAllByType(@RequestParam("types") String types); ObjectRestResponse<List<Cofig>> getAllByType(@RequestParam("types") String types);
......
package com.xxfc.platform.order.entity; package com.xxfc.platform.order.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
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 javax.persistence.Table; import javax.persistence.Table;
import java.util.Date;
@Data @Data
@Table(name = "company_info") @Table(name = "company_info")
...@@ -16,22 +19,39 @@ public class CompanyInfo { ...@@ -16,22 +19,39 @@ public class CompanyInfo {
@ApiModelProperty("主键id") @ApiModelProperty("主键id")
private Long id; private Long id;
@ApiModelProperty("app用户id")
@Column(name = "app_user_id")
private Integer appUserId;
@ApiModelProperty("公司名称") @ApiModelProperty("公司名称")
private String name; private String name;
@ApiModelProperty("公司类型:1-个体;2-企业")
private Integer type;
@ApiModelProperty("法人姓名") @ApiModelProperty("法人姓名")
@Column(name = "legal_person") @Column(name = "legal_person")
private String legalPerson; private String legalPerson;
@ApiModelProperty("公司名称") @ApiModelProperty("法人身份证")
@Column(name = "legal_id_number") @Column(name = "legal_id_number")
private String legalIdNumber; private String legalIdNumber;
@ApiModelProperty("身份证正面")
@Column(name = "front_url")
private String frontUrl;
@ApiModelProperty("法人身份证反面")
@Column(name = "back_url")
private String backUrl;
@ApiModelProperty("联系人") @ApiModelProperty("联系人")
private String contact; private String contact;
...@@ -47,6 +67,83 @@ public class CompanyInfo { ...@@ -47,6 +67,83 @@ public class CompanyInfo {
private String businessLicense; private String businessLicense;
@ApiModelProperty("合同s,逗号隔开")
@Column(name = "contract_imgs")
private String contractImgs;
/**
* 地址-省/直辖市(编码)
*/
@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;
@ApiModelProperty("成立日期")
@Column(name = "open_date")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyyMMdd",timezone="GMT+8")
private Date openDate;
@ApiModelProperty("营业执照有效期")
@Column(name = "license_date")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyyMMdd",timezone="GMT+8")
private Date licenseDate;
@Column(name = "register_code")
@ApiModelProperty("统一社会信用代码/注册号")
private String registerCode;
@Column(name = "crt_time") @Column(name = "crt_time")
private Long crtTime; private Long crtTime;
......
...@@ -32,9 +32,9 @@ public class RabbitOrderConfig extends RabbitCommonConfig { ...@@ -32,9 +32,9 @@ public class RabbitOrderConfig extends RabbitCommonConfig {
myQueue = new ArrayList<BindDTO>(){{ myQueue = new ArrayList<BindDTO>(){{
add(new BindDTO(ORDER_DEPOSIT_REFUND_QUEUE, ORDER_TOPIC, KEY_ORDER_FINLISH)); 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_CORPORATION_UPD_QUEUE, ADMIN_TOPIC, KEY_CORPORATION_UPD));
//门店 //门店
add(new BindDTO(ORDER_COMPANY_UPD_QUEUE, VEHICLE_TOPIC, KEY_COMPANY_UPD)); add(new BindDTO(ORDER_COMPANY_UPD_QUEUE, ADMIN_TOPIC, KEY_COMPANY_UPD));
}}; }};
} }
......
...@@ -30,9 +30,9 @@ public class RabbitTourConfig extends RabbitCommonConfig { ...@@ -30,9 +30,9 @@ public class RabbitTourConfig extends RabbitCommonConfig {
static { static {
myQueue = new ArrayList<BindDTO>() {{ myQueue = new ArrayList<BindDTO>() {{
//企业 //企业
add(new BindDTO(TOUR_CORPORATION_UPD_QUEUE, VEHICLE_TOPIC, KEY_CORPORATION_UPD)); add(new BindDTO(TOUR_CORPORATION_UPD_QUEUE, ADMIN_TOPIC, KEY_CORPORATION_UPD));
//门店 //门店
add(new BindDTO(TOUR_COMPANY_UPD_QUEUE, VEHICLE_TOPIC, KEY_COMPANY_UPD)); add(new BindDTO(TOUR_COMPANY_UPD_QUEUE, ADMIN_TOPIC, KEY_COMPANY_UPD));
}}; }};
} }
} }
......
...@@ -501,12 +501,12 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -501,12 +501,12 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
public ObjectRestResponse saveOrUpd(BranchCompany branchCompany){ public ObjectRestResponse saveOrUpd(BranchCompany branchCompany){
Integer id= branchCompany.getId() == null ? 0 : branchCompany.getId(); Integer id= branchCompany.getId() == null ? 0 : branchCompany.getId();
if (id > 0){ BranchCompany branchCompany1=selectById(id);
if (branchCompany1 != null){
updateSelectiveById(branchCompany); updateSelectiveById(branchCompany);
}else { }else {
insertSelective(branchCompany); insertSelective(branchCompany);
} }
sendQueue(branchCompany);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
public ObjectRestResponse del(BranchCompany branchCompany){ public ObjectRestResponse del(BranchCompany branchCompany){
......
package com.xxfc.platform.vehicle.biz; package com.xxfc.platform.vehicle.biz;
import cn.hutool.json.JSONUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
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.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO; 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.entity.CompanyInfo;
import com.xxfc.platform.vehicle.mapper.CompanyInfoMapper; import com.xxfc.platform.vehicle.mapper.CompanyInfoMapper;
import com.xxfc.platform.vehicle.pojo.dto.CompanyInfoFindDTO; import com.xxfc.platform.vehicle.pojo.dto.CompanyInfoFindDTO;
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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.List; import java.util.List;
import static com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant.*;
@Service @Service
@Slf4j @Slf4j
public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{ public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{
@Autowired
MQSenderFeign mqSenderFeign;
public ObjectRestResponse addOrUpd(CompanyInfo companyInfo){ public ObjectRestResponse addOrUpd(CompanyInfo companyInfo){
Long id = companyInfo.getId() == null ? 0L :companyInfo.getId(); Long id = companyInfo.getId() == null ? 0L :companyInfo.getId();
if (id > 0L){ CompanyInfo companyInfo1=selectById(id);
updateSelectiveById(companyInfo); if (companyInfo1 != null){
updateSelectiveById(companyInfo);
}else { }else {
insertSelective(companyInfo); insertSelective(companyInfo);
} }
sendQueue(companyInfo);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
...@@ -64,19 +56,6 @@ public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{ ...@@ -64,19 +56,6 @@ public class CompanyInfoBiz extends BaseBiz<CompanyInfoMapper, CompanyInfo>{
return ObjectRestResponse.succ(PageDataVO.pageInfo(pageInfo)); 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);
}
}
} }
package com.xxfc.platform.vehicle.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 RabbitVehicleConfig extends RabbitCommonConfig {
//同步企业信息
public static final String VEHICLE_CORPORATION_UPD_QUEUE = "vehicle.corporation:upd.queue";
//同步门店信息
public static final String VEHICLE_COMPANY_UPD_QUEUE = "vehicle.company:upd.queue";
static {
myQueue = new ArrayList<BindDTO>() {{
//企业
add(new BindDTO(VEHICLE_CORPORATION_UPD_QUEUE, ADMIN_TOPIC, KEY_CORPORATION_UPD));
//门店
add(new BindDTO(VEHICLE_COMPANY_UPD_QUEUE, ADMIN_TOPIC, KEY_COMPANY_UPD));
}};
}
}
package com.github.wxiaoqi.security.admin.handler; package com.xxfc.platform.vehicle.mqhandler;
import cn.hutool.json.JSONUtil; 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.rabbitmq.client.Channel;
import com.xxfc.platform.vehicle.biz.BranchCompanyBiz;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.CompanyInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
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;
...@@ -20,7 +18,8 @@ import java.util.Map; ...@@ -20,7 +18,8 @@ import java.util.Map;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import static com.github.wxiaoqi.security.admin.config.RabbitAdminConfig.*; import static com.xxfc.platform.vehicle.config.RabbitVehicleConfig.VEHICLE_COMPANY_UPD_QUEUE;
@Component @Component
@Slf4j @Slf4j
...@@ -35,7 +34,7 @@ public class BranchCompanyMQHandler { ...@@ -35,7 +34,7 @@ public class BranchCompanyMQHandler {
* 同步门店信息 * 同步门店信息
* @param * @param
*/ */
@RabbitListener(queues = COMPANY_UPD_QUEUE) @RabbitListener(queues = VEHICLE_COMPANY_UPD_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) {
log.info("同步门店信息 messageJson:"+ JSONUtil.parse(message)); log.info("同步门店信息 messageJson:"+ JSONUtil.parse(message));
ExecutorService executorService = Executors.newCachedThreadPool(); ExecutorService executorService = Executors.newCachedThreadPool();
...@@ -46,7 +45,7 @@ public class BranchCompanyMQHandler { ...@@ -46,7 +45,7 @@ public class BranchCompanyMQHandler {
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");
BranchCompany branchCompany = JSONUtil.toBean(msg, BranchCompany.class); BranchCompany branchCompany = JSONUtil.toBean(msg, BranchCompany.class);
branchCompanyBiz.addOrUpd(branchCompany); branchCompanyBiz.saveOrUpd(branchCompany);
executorService.shutdown(); executorService.shutdown();
Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG); Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
// 手动签收 // 手动签收
......
package com.github.wxiaoqi.security.admin.handler; package com.xxfc.platform.vehicle.mqhandler;
import cn.hutool.json.JSONUtil; 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.rabbitmq.client.Channel;
import com.xxfc.platform.order.contant.enumerate.ItemTypeEnum; import com.xxfc.platform.vehicle.biz.CompanyInfoBiz;
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 com.xxfc.platform.vehicle.entity.CompanyInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
...@@ -21,14 +14,11 @@ import org.springframework.messaging.handler.annotation.Headers; ...@@ -21,14 +14,11 @@ 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.math.BigDecimal;
import java.util.ArrayList;
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;
import static com.github.wxiaoqi.security.admin.config.RabbitAdminConfig.*; import static com.xxfc.platform.vehicle.config.RabbitVehicleConfig.VEHICLE_CORPORATION_UPD_QUEUE;
import static com.xxfc.platform.order.pojo.mq.OrderMQDTO.*;
@Component @Component
@Slf4j @Slf4j
...@@ -43,7 +33,7 @@ public class CorporationMQHandler { ...@@ -43,7 +33,7 @@ public class CorporationMQHandler {
* 同步企业信息 * 同步企业信息
* @param * @param
*/ */
@RabbitListener(queues = CORPORATION_UPD_QUEUE) @RabbitListener(queues = VEHICLE_CORPORATION_UPD_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) {
log.info("同步企业信息 messageJson:"+ JSONUtil.parse(message)); log.info("同步企业信息 messageJson:"+ JSONUtil.parse(message));
ExecutorService executorService = Executors.newCachedThreadPool(); ExecutorService executorService = Executors.newCachedThreadPool();
......
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