Commit a858ddd3 authored by libin's avatar libin

Merge branch 'saff_update_feature' into dev

parents 87636589 cd6a62f6
......@@ -3,6 +3,8 @@ package com.github.wxiaoqi.security.admin.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
@Data
public class AppShareholderDetailDTO {
......@@ -41,4 +43,14 @@ public class AppShareholderDetailDTO {
private Long updTime;
@ApiModelProperty("持股数")
private Integer userNumber;
@ApiModelProperty("公司集合")
private Map<Integer, String> companyMap;
@ApiModelProperty("股东身份ID")
private Integer positionId;
}
package com.github.wxiaoqi.security.admin.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
@Data
public class AppShareholderDetailFindDTO extends PageParam {
private String phone;
private String name;
private Integer status;
private Integer companyId;
private Integer positionId;
}
......@@ -47,7 +47,7 @@ public class AppShareholderDetail {
@Column(name = "upd_time")
private Long updTime;
@Column(name = "postion_id")
private Integer postionId;
@Column(name = "position_id")
private Integer positionId;
}
package com.github.wxiaoqi.security.admin.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
@Data
public class AppShareholderDetailVo {
private Integer id;
@ApiModelProperty("用户id")
private Integer userId;
@ApiModelProperty("公司名称")
private String companyName;
@ApiModelProperty("公司ID")
private Integer companyId;
@ApiModelProperty("用户手机号")
private String phone;
@ApiModelProperty("股东名称")
private String name;
@ApiModelProperty("持股状态 0:持股中 1:已退股")
private Integer isQuit;
@ApiModelProperty("创建时间")
private Long crtTime;
@ApiModelProperty("更新时间")
private Long updTime;
@ApiModelProperty("持股数")
private Integer userNumber;
@ApiModelProperty("公司集合")
private Map<Integer, String> companyMap;
@ApiModelProperty("股东身份ID")
private Integer positionId;
@ApiModelProperty("股东身份名称")
private String positionName;
}
package com.github.wxiaoqi.security.admin.biz;
import com.github.wxiaoqi.security.admin.entity.AppShareholderDetail;
import com.github.wxiaoqi.security.admin.dto.AppShareholderDetailDTO;
import com.github.wxiaoqi.security.admin.dto.AppShareholderDetailFindDTO;
import com.github.wxiaoqi.security.admin.entity.*;
import com.github.wxiaoqi.security.admin.mapper.AppShareholderDetailMapper;
import com.github.wxiaoqi.security.admin.vo.AppShareholderDetailVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
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.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
/**
* @author zuoyihang
* @version 1.0
* @description
* @data 2019/12/21 19:52
*/
@Transactional(rollbackFor = Exception.class)
@Service
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Transactional
@Service("appShareholderDetailBiz")
public class AppShareholderDetailBiz extends BaseBiz<AppShareholderDetailMapper, AppShareholderDetail> {
@Autowired
private VehicleFeign vehicleFeign;
@Autowired
private AppUserDetailBiz detailBiz;
@Autowired
private AppUserLoginBiz loginBiz;
@Autowired
private AppUserPositionBiz appUserPositionBiz;
public static int HEADQUARTERS_SHAREHOLDER = 1;
public static int BRANCH_HEADQUARTERS_SHAREHOLDER = 2;
public Integer findShareholderByUserIdOrPhone(Integer userId, String phone) {
return mapper.selectShareHolderByUserIdOrPhone(userId,phone);
return mapper.selectShareHolderByUserIdOrPhone(userId, phone);
}
/**
* 新增股东
* zuoyh
* @param appShareholderDetailDTO
* @param updUserId
* @return
*/
public ObjectRestResponse add(AppShareholderDetailDTO appShareholderDetailDTO, Integer updUserId) {
if (appShareholderDetailDTO == null || StringUtils.isBlank(appShareholderDetailDTO.getName()) || StringUtils.isBlank(appShareholderDetailDTO.getPhone()) ||
appShareholderDetailDTO.getCompanyMap().size() == 0) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, "参数不能为空");
}
AppShareholderDetail appShareholderDetail = new AppShareholderDetail();
Map<Integer, String> companyMap = appShareholderDetailDTO.getCompanyMap();
for (Integer companyId : companyMap.keySet()) {
String companyName = companyMap.get(companyId);
if (!(companyId != null && companyId > 0 && StringUtils.isNotBlank(companyName)))
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, "分公司不存在");
BranchCompany branchCompany = vehicleFeign.companyId(companyName);
if (branchCompany == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, "分公司不存在");
}
Integer positionId = branchCompany.getId().equals(1) ? HEADQUARTERS_SHAREHOLDER : BRANCH_HEADQUARTERS_SHAREHOLDER;
//用户表更改其身份
Integer userId = 0;
//登陆表查询用户手机号
AppUserLogin userLogin = loginBiz.checkeUserLogin(appShareholderDetailDTO.getPhone());
if (userLogin != null) {
userId = userLogin.getId();
//关联查询detail表 获取身份
AppUserDetail appUserDetail = detailBiz.checkeIsAppUser(userId);
if (!(appUserDetail.getPositionId().equals(1))) {
if (positionId.equals(1)) {
detailBiz.updateUserPositionByUserId(userId, positionId);
}
}
}
Integer id = appShareholderDetailDTO.getId() == null ? 0 : appShareholderDetailDTO.getId();
BeanUtils.copyProperties(appShareholderDetailDTO, appShareholderDetail);
appShareholderDetail.setPositionId(positionId);
appShareholderDetailDTO.setUserId(userId);
//插入
if (id == null || id == 0) {
insertSelective(appShareholderDetail);
//編輯
} else {
updateSelectiveById(appShareholderDetail);
}
}
return ObjectRestResponse.succ();
}
/**
* 分页查询
*/
public PageDataVO<AppShareholderDetailVo> findWithPage(AppShareholderDetailFindDTO appShareholderDetailFindDTO) {
PageDataVO<AppShareholderDetailVo> dataVO = new PageDataVO<>();
Example example = new Example(AppShareholderDetail.class);
Example.Criteria criteria = example.createCriteria();
if (StringUtils.isNotEmpty(appShareholderDetailFindDTO.getName())) {
example.createCriteria().andEqualTo("name", String.format("%%%s%%", appShareholderDetailFindDTO.getName().trim()));
}
if (StringUtils.isNotEmpty(appShareholderDetailFindDTO.getPhone())) {
example.createCriteria().andEqualTo("phone", appShareholderDetailFindDTO.getPhone());
}
if (Objects.nonNull(appShareholderDetailFindDTO.getCompanyId())) {
example.createCriteria().andEqualTo("companyId", appShareholderDetailFindDTO.getCompanyId());
}
if (Objects.nonNull(appShareholderDetailFindDTO.getPositionId())) {
example.createCriteria().andEqualTo("positionId", appShareholderDetailFindDTO.getPositionId());
}
example.setOrderByClause("crt_time desc");
PageDataVO<AppShareholderDetail> pageDataVO = PageDataVO.pageInfo(appShareholderDetailFindDTO.getPage(), appShareholderDetailFindDTO.getLimit(), () -> mapper.selectByExample(example));
List<AppShareholderDetail> data = pageDataVO.getData();
if (CollectionUtils.isEmpty(data)) {
dataVO.setData(Collections.EMPTY_LIST);
dataVO.setPageNum(appShareholderDetailFindDTO.getPage());
dataVO.setPageSize(appShareholderDetailFindDTO.getLimit());
return dataVO;
}
List<Integer> postionIds = data.stream().map(AppShareholderDetail::getPositionId).collect(Collectors.toList());
Map<Integer, AppUserPosition> postionMap = appUserPositionBiz.findPostionIdAndPostionMapByIds(postionIds);
List<AppShareholderDetailVo> AppShareholderDetailVos = new ArrayList<>();
AppShareholderDetailVo appShareholderDetailVo;
for (AppShareholderDetail appShareholderDetail : data) {
appShareholderDetailVo = new AppShareholderDetailVo();
String postionName = postionMap == null ? "" : postionMap.get(appShareholderDetail.getPositionId()) == null ? "" : postionMap.get(appShareholderDetail.getPositionId()).getName();
appShareholderDetailVo.setPositionName(postionName);
AppShareholderDetailVos.add(appShareholderDetailVo);
}
dataVO.setPageSize(pageDataVO.getPageSize());
dataVO.setPageNum(pageDataVO.getPageNum());
dataVO.setData(AppShareholderDetailVos);
dataVO.setTotalCount(pageDataVO.getTotalCount());
dataVO.setTotalPage(pageDataVO.getTotalPage());
return dataVO;
}
/**
* 批量导入
*/
}
......@@ -324,7 +324,7 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
return;
}
Integer postionId = appShareholderDetailBiz.findShareholderByUserIdOrPhone(null, phone);
if(Objects.isNull(postionId)) {
if (Objects.isNull(postionId)) {
Example example = new Example(AppUserPositionTemp.class);
example.createCriteria().andEqualTo("phone", phone).andEqualTo("isDel", 0);
List<AppUserPositionTemp> list = selectByExample(example);
......@@ -344,8 +344,8 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
log.info("----用户---postionId====" + postionId + "----phone===" + phone);
detailBiz.updateUserPositionByUserId(userId, postionId);
}
}else {
detailBiz.updateUserPositionByUserId(userId,postionId);
} else {
detailBiz.updateUserPositionByUserId(userId, postionId);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
......@@ -460,7 +460,6 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
return ObjectRestResponse.succ();
}
/**
* 查询员工信息变更记录表
*/
......
......@@ -11,11 +11,11 @@
<result property="crtTime" column="crt_time"/>
<result property="isQuit" column="is_quit"/>
<result property="updTime" column="upd_time"/>
<result property="postionId" column="postion_id"/>
<result property="positionId" column="position_id"/>
</resultMap>
<select id="selectShareHolderByUserIdOrPhone" resultType="java.lang.Integer">
select min(`postion_id`) from `app_shareholder_detail` where `is_quit`=0
select min(`position_id`) from `app_shareholder_detail` where `is_quit`=0
<choose>
<when test="userId != null and (phone == null or phone != '')">
and `user_id`=#{userId}
......
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