
11 changed files with 334 additions and 0 deletions
@ -0,0 +1,21 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/2/2 |
|||
**/ |
|||
@Data |
|||
public class BiddingVo { |
|||
@ApiModelProperty("时间") |
|||
private String createTime; |
|||
@ApiModelProperty("报价") |
|||
private String price; |
|||
@ApiModelProperty("分公司") |
|||
private String useOrgName; |
|||
@ApiModelProperty("报价人") |
|||
private String createByName; |
|||
} |
@ -0,0 +1,26 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; |
|||
|
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/2/2 |
|||
**/ |
|||
@Data |
|||
public class LoanSecondarySalesBidding extends BaseEntity { |
|||
private static final long serialVersionUID = 5823145478364799224L; |
|||
@ApiModelProperty("报价人") |
|||
private String createByName; |
|||
private String mainSid; |
|||
@ApiModelProperty("报价") |
|||
private BigDecimal price; |
|||
@ApiModelProperty("分公司") |
|||
private String useOrgName; |
|||
private String useOrgSid; |
|||
private String orgSidPath; |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/2/2 |
|||
**/ |
|||
@Data |
|||
public class LoanSecondarySalesBiddingDto { |
|||
|
|||
private String mainSid; |
|||
@ApiModelProperty("报价") |
|||
private String price; |
|||
@ApiModelProperty("机构全路径") |
|||
private String orgPath; |
|||
|
|||
private String userSid; |
|||
} |
@ -0,0 +1,36 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; |
|||
|
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestParam; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/2/2 |
|||
**/ |
|||
@FeignClient( |
|||
contextId = "anrui-riskcenter-LoanSecondarySalesBidding", |
|||
name = "anrui-riskcenter", |
|||
path = "v1/LoanSecondarySalesBidding", |
|||
fallback = LoanSecondarySalesBiddingFeignFallback.class) |
|||
public interface LoanSecondarySalesBiddingFeign { |
|||
|
|||
@ApiOperation("保存") |
|||
@PostMapping("/save") |
|||
ResultBean save(@RequestBody LoanSecondarySalesBiddingDto dto); |
|||
|
|||
@ApiOperation("竞价列表") |
|||
@GetMapping("/getList") |
|||
ResultBean<List<BiddingVo>> getList(@RequestParam("sid") String sid); |
|||
|
|||
@ApiOperation("当前竞价最高") |
|||
@GetMapping("/getPrice") |
|||
ResultBean<String> getPrice(@RequestParam("sid") String sid); |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/2/2 |
|||
**/ |
|||
@Component |
|||
public class LoanSecondarySalesBiddingFeignFallback { |
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.yxt.anrui.riskcenter.biz.loansecondarysalesbidding; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.BiddingVo; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBidding; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/2/2 |
|||
**/ |
|||
@Mapper |
|||
public interface LoanSecondarySalesBiddingMapper extends BaseMapper<LoanSecondarySalesBidding> { |
|||
|
|||
|
|||
LoanSecondarySalesBidding selectByMainSid(String mainSid); |
|||
|
|||
List<BiddingVo> getList(String sid); |
|||
|
|||
String getPrice(String sid); |
|||
} |
@ -0,0 +1,27 @@ |
|||
<?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.yxt.anrui.riskcenter.biz.loansecondarysalesbidding.LoanSecondarySalesBiddingMapper"> |
|||
<select id="selectByMainSid" |
|||
resultType="com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBidding"> |
|||
select * |
|||
from loan_secondary_sales_bidding |
|||
where mainSid = #{mainSid} |
|||
order by price desc |
|||
limit 1 |
|||
</select> |
|||
|
|||
<select id="getList" resultType="com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.BiddingVo"> |
|||
select DATE_FORMAT(createTime, '%Y-%m-%d') as createTime, createByName, price, useOrgName |
|||
from loan_secondary_sales_bidding |
|||
where mainSid = #{sid} |
|||
order by price desc |
|||
</select> |
|||
|
|||
<select id="getPrice" resultType="java.lang.String"> |
|||
select price |
|||
from loan_secondary_sales_bidding |
|||
where mainSid = #{sid} |
|||
order by price desc |
|||
limit 1 |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,41 @@ |
|||
package com.yxt.anrui.riskcenter.biz.loansecondarysalesbidding; |
|||
|
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.BiddingVo; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBiddingDto; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBiddingFeign; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/2/2 |
|||
**/ |
|||
@RestController |
|||
@RequestMapping("v1/LoanSecondarySalesBidding") |
|||
@Api(tags = "二次销售公示竞价") |
|||
public class LoanSecondarySalesBiddingRest implements LoanSecondarySalesBiddingFeign { |
|||
|
|||
@Autowired |
|||
private LoanSecondarySalesBiddingService loanSecondarySalesBiddingService; |
|||
|
|||
@Override |
|||
public ResultBean save(LoanSecondarySalesBiddingDto dto) { |
|||
return loanSecondarySalesBiddingService.saveBidding(dto); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<List<BiddingVo>> getList(String sid) { |
|||
return loanSecondarySalesBiddingService.getList(sid); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<String> getPrice(String sid) { |
|||
return loanSecondarySalesBiddingService.getPrice(sid); |
|||
} |
|||
} |
@ -0,0 +1,84 @@ |
|||
package com.yxt.anrui.riskcenter.biz.loansecondarysalesbidding; |
|||
|
|||
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; |
|||
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|||
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|||
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|||
import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.BiddingVo; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBidding; |
|||
import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBiddingDto; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.base.utils.StringUtils; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Collections; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/2/2 |
|||
**/ |
|||
@Service |
|||
public class LoanSecondarySalesBiddingService extends MybatisBaseService<LoanSecondarySalesBiddingMapper, LoanSecondarySalesBidding> { |
|||
|
|||
@Autowired |
|||
private SysStaffOrgFeign sysStaffOrgFeign; |
|||
@Autowired |
|||
private SysOrganizationFeign sysOrganizationFeign; |
|||
@Autowired |
|||
private SysUserFeign sysUserFeign; |
|||
|
|||
public ResultBean saveBidding(LoanSecondarySalesBiddingDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
LoanSecondarySalesBidding loanSecondarySalesBidding = new LoanSecondarySalesBidding(); |
|||
loanSecondarySalesBidding.setCreateBySid(dto.getMainSid()); |
|||
loanSecondarySalesBidding.setMainSid(dto.getMainSid()); |
|||
loanSecondarySalesBidding.setOrgSidPath(dto.getOrgPath()); |
|||
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); |
|||
if ("0".equals(useOrgSid)) { |
|||
return rb.setMsg("您所在机构没有分公司,不允许竞价"); |
|||
} |
|||
loanSecondarySalesBidding.setUseOrgSid(useOrgSid); |
|||
//创建组织使用组织
|
|||
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(useOrgSid); |
|||
if (organizationResultBean.getData() != null) { |
|||
loanSecondarySalesBidding.setUseOrgName(organizationResultBean.getData().getName()); |
|||
} |
|||
//根据用户sid查询人员姓名
|
|||
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); |
|||
if (!userVoResultBean.getSuccess()) { |
|||
return rb.setMsg(userVoResultBean.getMsg()); |
|||
} |
|||
loanSecondarySalesBidding.setCreateByName(userVoResultBean.getData().getName()); |
|||
//查询最高竞价
|
|||
LoanSecondarySalesBidding loanSecondarySalesBidding1 = baseMapper.selectByMainSid(dto.getMainSid()); |
|||
if (StringUtils.isNotBlank(dto.getPrice())) { |
|||
if ((new BigDecimal(dto.getPrice()).subtract(loanSecondarySalesBidding1.getPrice()).compareTo(new BigDecimal("1000"))) < 0) { |
|||
return rb.setMsg("确认失败,每次竞价幅度需不低于1000元"); |
|||
} |
|||
loanSecondarySalesBidding.setPrice(new BigDecimal(dto.getPrice())); |
|||
} else { |
|||
return rb.setMsg("请输入您的报价"); |
|||
} |
|||
baseMapper.insert(loanSecondarySalesBidding); |
|||
return rb.success(); |
|||
} |
|||
|
|||
public ResultBean<List<BiddingVo>> getList(String sid) { |
|||
ResultBean<List<BiddingVo>> rb = ResultBean.fireFail(); |
|||
List<BiddingVo> list = baseMapper.getList(sid); |
|||
list.removeAll(Collections.singleton(null)); |
|||
return rb.success().setData(list); |
|||
} |
|||
|
|||
public ResultBean<String> getPrice(String sid) { |
|||
ResultBean<String> rb = ResultBean.fireFail(); |
|||
String price = baseMapper.getPrice(sid); |
|||
return rb.success().setData(price); |
|||
} |
|||
} |
Loading…
Reference in new issue