Commit a2427398 authored by youjj's avatar youjj

分公司股权信息购买相关

parent 0b10d2f8
......@@ -5,12 +5,12 @@ import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xinxincaravan.caravan.vehicle.constant.BranchCompanyStockApplyState;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.BranchCompany;
import com.xinxincaravan.caravan.vehicle.entity.BranchCompanyStockApplyInfo;
import com.xinxincaravan.caravan.vehicle.entity.BranchCompanyStockInfo;
import com.xinxincaravan.caravan.vehicle.mapper.BranchCompanyMapper;
import com.xinxincaravan.caravan.vehicle.mapper.BranchCompanyStockApplyInfoMapper;
import com.xinxincaravan.caravan.vehicle.mapper.BranchCompanyStockInfoMapper;
import com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockApplyInfoVo;
import com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockApplyVo;
import com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockInfoVo;
import com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockSearchVo;
......@@ -19,8 +19,8 @@ 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.Date;
import java.util.List;
@Service
public class BranchCompanyStockService {
......@@ -44,18 +44,26 @@ public class BranchCompanyStockService {
return new PageInfo<>(branchCompanyStockInfoMapper.search(searchVo));
}
@Transactional
public void insert(BranchCompanyStockInfoVo stockInfoVo) {
BranchCompanyStockInfo stockInfo = new BranchCompanyStockInfo();
BeanUtils.copyProperties(stockInfoVo, stockInfo);
if (stockInfo.getBalance() == null) {
stockInfo.setBalance(stockInfo.getTotal());
}
stockInfo.setState(0);
if (stockInfoVo.getState() == null) {
stockInfo.setState(0);
}
branchCompanyStockInfoMapper.insert(stockInfo);
}
public void update(BranchCompanyStockInfoVo stockInfoVo) {
BranchCompanyStockInfo stockInfo = new BranchCompanyStockInfo();
BeanUtils.copyProperties(stockInfoVo, stockInfo);
branchCompanyStockInfoMapper.updateByPrimaryKeySelective(stockInfo);
}
/**
* 申请购买
* @param applyVo
......@@ -78,9 +86,9 @@ public class BranchCompanyStockService {
branchCompanyStockApplyInfoMapper.insertSelective(applyInfo);
}
public PageInfo<BranchCompanyStockApplyInfo> selectApplyAll(Integer page, Integer limit) {
public PageInfo<BranchCompanyStockApplyInfoVo> selectApplyAll(Integer page, Integer limit) {
PageHelper.startPage(page, limit);
return new PageInfo<>(branchCompanyStockApplyInfoMapper.selectAll());
return new PageInfo<>(branchCompanyStockApplyInfoMapper.selectVoAll());
}
/**
......@@ -109,6 +117,10 @@ public class BranchCompanyStockService {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST.getDesc(),
ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST.getCode());
}
if (!applyInfo.getState().equals(BranchCompanyStockApplyState.Apply.getCode())) {
throw new BaseException(ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED.getDesc(),
ResCode.BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED.getCode());
}
BranchCompanyStockInfo stockInfo = branchCompanyStockInfoMapper.selectByPrimaryKey(applyInfo.getCompanyId());
if (stockInfo == null) {
......@@ -128,4 +140,33 @@ public class BranchCompanyStockService {
applyInfo.setUpdateTime(new Date());
branchCompanyStockApplyInfoMapper.updateByPrimaryKey(applyInfo);
}
/**
* 获取所有的股权单价
* @return
*/
public List<Integer> getAllPrice() {
return branchCompanyStockInfoMapper.selectAllPrice();
}
public BranchCompanyStockInfo selectById(Integer id) {
return branchCompanyStockInfoMapper.selectByPrimaryKey(id);
}
public void delete(Integer id) {
branchCompanyStockInfoMapper.deleteByPrimaryKey(id);
}
public BranchCompanyStockApplyInfo getApplyById(Integer id) {
return branchCompanyStockApplyInfoMapper.selectByPrimaryKey(id);
}
public void updateApply(BranchCompanyStockApplyInfo applyInfo) {
branchCompanyStockApplyInfoMapper.updateByPrimaryKeySelective(applyInfo);
}
public void deleteApply(Integer id) {
branchCompanyStockApplyInfoMapper.deleteByPrimaryKey(id);
}
}
......@@ -28,7 +28,10 @@ public enum ResCode {
BRANCH_COMPANY_STOCK_UNEXIST(105003, "分公司股权信息不存在"),
BRANCH_COMPANY_STOCK_NO_BALANCE(105004, "分公司股权已售完"),
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH(105005, "分公司股权剩余份额不足"),
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST(105006, "分公司股权购买申请信息不存在")
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST(105006, "分公司股权购买申请信息不存在"),
BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED(105007, "分公司股权购买申请信息已确认")
......
package com.xinxincaravan.caravan.vehicle.mapper;
import com.xinxincaravan.caravan.vehicle.entity.BranchCompanyStockApplyInfo;
import com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockApplyInfoVo;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface BranchCompanyStockApplyInfoMapper extends Mapper<BranchCompanyStockApplyInfo> {
List<BranchCompanyStockApplyInfoVo> selectVoAll();
}
\ No newline at end of file
......@@ -14,4 +14,6 @@ public interface BranchCompanyStockInfoMapper extends Mapper<BranchCompanyStockI
List<BranchCompanyStockInfoVo> search(BranchCompanyStockSearchVo searchVo);
int updateBalance(@Param("companyId") Integer companyId, @Param("balance") Integer balance, @Param("lastBalance") Integer lastBalance);
List<Integer> selectAllPrice();
}
\ No newline at end of file
......@@ -5,6 +5,7 @@ import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.xinxincaravan.caravan.vehicle.biz.BranchCompanyStockService;
import com.xinxincaravan.caravan.vehicle.common.RestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.BranchCompanyStockApplyInfo;
import com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockApplyVo;
import com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockInfoVo;
import com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockSearchVo;
......@@ -49,12 +50,21 @@ public class BranchCompanyStockController {
return RestResponse.suc(branchCompanyStockService.search(searchVo));
}
@GetMapping("{id}")
public RestResponse get(@PathVariable("id") Integer id) {
if (id == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
return RestResponse.suc(branchCompanyStockService.selectById(id));
}
/**
* 添加
* @return
*/
@PutMapping
public RestResponse add(BranchCompanyStockInfoVo stockInfoVo) {
public RestResponse add(@RequestBody BranchCompanyStockInfoVo stockInfoVo) {
if (stockInfoVo.getCompanyName() == null || stockInfoVo.getTotal() == null || stockInfoVo.getPrice() == null
|| stockInfoVo.getAddrProvince() == null || stockInfoVo.getAddrCity() == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
......@@ -64,6 +74,27 @@ public class BranchCompanyStockController {
return RestResponse.suc();
}
/**
* 修改
* @param stockInfoVo
* @return
*/
@PostMapping
public RestResponse update(@RequestBody BranchCompanyStockInfoVo stockInfoVo) {
if (stockInfoVo.getId() == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
branchCompanyStockService.update(stockInfoVo);
return RestResponse.suc();
}
@DeleteMapping("{id}")
public RestResponse delete(@PathVariable("id") Integer id) {
branchCompanyStockService.delete(id);
return RestResponse.suc();
}
/**
* 申请购买
* @param applyVo
......@@ -88,6 +119,35 @@ public class BranchCompanyStockController {
return RestResponse.suc(branchCompanyStockService.selectApplyAll(page, limit));
}
@GetMapping("apply/{id}")
public RestResponse getApplyById(@PathVariable("id") Integer id) {
if (id == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
return RestResponse.suc(branchCompanyStockService.getApplyById(id));
}
@PutMapping("apply")
public RestResponse updateApply(BranchCompanyStockApplyInfo applyInfo) {
if (applyInfo.getId() == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
branchCompanyStockService.updateApply(applyInfo);
return RestResponse.suc();
}
@DeleteMapping("apply/{id}")
public RestResponse deleteApply(@PathVariable("id") Integer id) {
if (id == null) {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc());
}
branchCompanyStockService.deleteApply(id);
return RestResponse.suc();
}
/**
* 取消申请,放弃购买
* @return
......@@ -115,4 +175,9 @@ public class BranchCompanyStockController {
return RestResponse.suc();
}
@GetMapping("allPrice")
public RestResponse getAllPrice() {
return RestResponse.suc(branchCompanyStockService.getAllPrice());
}
}
package com.xinxincaravan.caravan.vehicle.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class BranchCompanyStockApplyInfoVo {
Integer id;
Integer companyId;
String companyName;
String name;
String tel;
Integer count;
Integer state;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
Date createTime;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
Date updateTime;
}
......@@ -16,5 +16,7 @@ public class BranchCompanyStockInfoVo {
BigDecimal price;
Integer addrProvince;
Integer addrCity;
// String addrStrProvince;
// String addrStrCity;
Integer state;
}
......@@ -7,6 +7,7 @@ import lombok.Data;
*/
@Data
public class BranchCompanyStockSearchVo {
String companyName;
// 省份代码
Integer addrProvince;
// 城市代码
......
......@@ -8,9 +8,16 @@
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="tel" property="tel" jdbcType="VARCHAR" />
<result column="company_id" property="companyId" jdbcType="INTEGER" />
<result column="count" property="count" jdbcType="INTEGER" />
<result column="state" property="state" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
</resultMap>
<select id="selectVoAll" resultType="com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockApplyInfoVo">
select a.*, b.company_name
from branch_company_stock_apply_info a
left join branch_company_stock_info b on a.company_id = b.id
order by a.create_time desc
</select>
</mapper>
\ No newline at end of file
......@@ -5,7 +5,7 @@
<update id="updateBalance">
update branch_company_stock_info
set balance = #{balance}
where company_id = #{companyId} and balance = #{lastBalance}
where id = #{companyId} and balance = #{lastBalance}
</update>
<select id="selectVoAll" resultType="com.xinxincaravan.caravan.vehicle.vo.BranchCompanyStockInfoVo">
select *
......@@ -15,6 +15,9 @@
select *
from branch_company_stock_info
<trim prefix="where" suffixOverrides="and">
<if test="companyName != null">
company_name like "${companyName}%"
</if>
<if test="addrProvince != null">
addr_province = #{addrProvince} and
</if>
......@@ -30,4 +33,7 @@
</trim>
</select>
<select id="selectAllPrice" resultType="int">
select distinct price from branch_company_stock_info
</select>
</mapper>
\ No newline at end of file
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