Browse Source

订单信息展示

master
xyiege 4 years ago
parent
commit
a0a9d0b8bb
  1. 1
      README.md
  2. 9
      src/main/java/cn/chjyj/szwh/mapper/AccountRatioDetailMapper.java
  3. 7
      src/main/java/cn/chjyj/szwh/mapper/AccountRatioSettingMapper.java
  4. 91
      src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java
  5. 4
      src/main/resources/mapper/szwh/AccountRatioDetailMapper.xml
  6. 2
      src/main/resources/mapper/szwh/AccountRatioSettingMapper.xml
  7. 24
      src/test/java/cn/chjyj/szwh/mapper/AccountRatioSettingMapperTest.java

1
README.md

@ -63,3 +63,4 @@ eyJhbGciOiJIUzUxMiJ9.eyJhdWQiOiJCRDg0REQ0MkE3MjM0QjA1QjBDNUQxMTYxNjEzMkFDNCIsImp
20、[Java中的Set](https://blog.csdn.net/qq_46209845/article/details/120220136)
21、[BigDecimal加减乘除计算](https://www.jianshu.com/p/683b2406342f)

9
src/main/java/cn/chjyj/szwh/mapper/AccountRatioDetailMapper.java

@ -3,6 +3,8 @@ package cn.chjyj.szwh.mapper;
import cn.chjyj.szwh.bean.AccountRatioDetail;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 分账细节
*/
@ -14,4 +16,11 @@ public interface AccountRatioDetailMapper {
* @return
*/
AccountRatioDetail getAccountRationDetailById(Integer id);
/**
* 选择符合条件的记录
* @param settingId
* @return
*/
List<AccountRatioDetail> getAccRatioDetailBySettingId(Integer settingId);
}

7
src/main/java/cn/chjyj/szwh/mapper/AccountRatioSettingMapper.java

@ -1,5 +1,6 @@
package cn.chjyj.szwh.mapper;
import cn.chjyj.szwh.bean.AccountRatioSetting;
import org.springframework.stereotype.Component;
/**
@ -7,4 +8,10 @@ import org.springframework.stereotype.Component;
*/
@Component
public interface AccountRatioSettingMapper {
/**
* 根据id查找
* @param id
* @return
*/
AccountRatioSetting getAccRatioSettingById(Integer id);
}

91
src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java

@ -38,6 +38,12 @@ public class OrderServiceImpl implements OrderService {
@Autowired
private GoodsSourceMapper goodsSourceMapper;
//分账相关
@Autowired
private AccountRatioSettingMapper accountRatioSettingMapper;
@Autowired
private AccountRatioDetailMapper accountRatioDetailMapper;
@Override
public List<Order> getAllOrderList(int page) {
@ -326,11 +332,13 @@ public class OrderServiceImpl implements OrderService {
retmap.put("buyuser",buyuser);
//分账比例
retmap.put("ratio_setting",null);
AccountRatioSetting acrsetting = accountRatioSettingMapper.getAccRatioSettingById(bsod.getAccountRatioId());
List<AccountRatioDetail> acrdetailList = accountRatioDetailMapper.getAccRatioDetailBySettingId(acrsetting.getId());
retmap.put("ratio_setting",acrdetailList);
// 资金结算表
//$closeTable = $this->getCloseTable($order, $order_detail);
retmap.put("close",null);
retmap.put("close",getCloseTable(bsod,odglist));
// 发票
//$bill = $this->getBill($batchcode);
@ -365,4 +373,83 @@ public class OrderServiceImpl implements OrderService {
public int countAllOrder() {
return orderMapper.countAllOrder();
}
/**
* 结算
* @param order
* @param orderGoodsDetailList
* @return
*/
private List getCloseTable(Order order,List<OrderGoodsDetail> orderGoodsDetailList){
List rtlist =new ArrayList();
Map tmap =new HashMap();
//平台服务费
BigDecimal platformServiceCharge=new BigDecimal("0");
// 价格差
BigDecimal tpprice = new BigDecimal(order.getTotalMoney().toString())
.subtract(new BigDecimal(order.getTotalServiceCharge().toString()));
// 购买方 交易价款
tmap.put("close_side","购买方");
tmap.put("close_message","交易价款");
tmap.put("money","-"+tpprice);
tmap.put("tax_rate","-");
tmap.put("tax_rate_money","-");
tmap.put("close_money","-");
tmap.put("close_status",order.getStatus()> 1 ? 2 : 1);
tmap.put("close_number",order.getCloseSerialNumber());
rtlist.add(tmap);
// 购买方 交易服务费
Map plmap =new HashMap();
plmap.put("close_side","购买方");
plmap.put("money","-"+new BigDecimal(order.getTotalServiceCharge().toString()));
plmap.put("tax_rate","6%");
plmap.put("tax_rate_money","-");
plmap.put("close_money","-"+new BigDecimal(order.getTotalServiceCharge().toString()));
plmap.put("close_status",order.getStatus()> 1 ? 2 : 1);
plmap.put("close_number", order.getCloseSerialNumber());
rtlist.add(plmap);
//
//交易平台
platformServiceCharge=platformServiceCharge.add(new BigDecimal(order.getTotalServiceCharge().toString()));
for(OrderGoodsDetail org:orderGoodsDetailList){
platformServiceCharge =platformServiceCharge.add(new BigDecimal(org.getServiceCharge().toString()));
Map wtfmap =new HashMap();
wtfmap.put("close_side","委托方");
wtfmap.put("close_message","交易价款");
// 价格-服务费
BigDecimal jgc=new BigDecimal(org.getMoney().toString()).
subtract(new BigDecimal(org.getServiceCharge().toString()));
wtfmap.put("money","+"+jgc);
wtfmap.put("tax_rate","-");
wtfmap.put("tax_rate_money","-");
wtfmap.put("close_money","-");
wtfmap.put("close_status", order.getStatus() == 4 ? 3 : 4);
wtfmap.put("close_number", order.getCloseSerialNumber());
rtlist.add(wtfmap);
// 委托 服务费
Map wtsf=new HashMap();
wtsf.put("close_side","委托方");
wtsf.put("close_message" , "交易服务费");
wtsf.put("money","-"+new BigDecimal(org.getServiceCharge().toString()));
wtsf.put("tax_rate" ,"6%");
wtsf.put("tax_rate_money" , "-");
wtsf.put("close_money" ,"-"+new BigDecimal(org.getServiceCharge().toString()));
wtsf.put("close_status" , order.getStatus() == 4 ? 3 : 4);
wtsf.put("close_number" ,order.getCloseSerialNumber());
rtlist.add(wtsf);
}
Map ptmap = new HashMap();
ptmap.put("close_side" ,"交易平台");
ptmap.put("close_message", "交易服务费");
ptmap.put("money", "+"+platformServiceCharge);
ptmap.put("tax_rate" , "6%*2");
ptmap.put("tax_rate_money", "-");
ptmap.put("close_money" ,"+"+platformServiceCharge);
ptmap.put("close_status" , order.getStatus() == 4 ? 3 : 4);
ptmap.put("close_number" ,order.getCloseSerialNumber());
rtlist.add(ptmap);
return rtlist;
}
}

4
src/main/resources/mapper/szwh/AccountRatioDetailMapper.xml

@ -25,12 +25,12 @@
</select>
<!--根据id查询-->
<select id="getAdminByAccountId" parameterType="java.lang.String" resultType="cn.chjyj.szwh.bean.AccountRatioDetail">
<select id="getAccRatioDetailBySettingId" parameterType="java.lang.Integer" resultType="cn.chjyj.szwh.bean.AccountRatioDetail">
select
<include refid="column"/>
from
<include refid="tbName"/>
where account_id=#{accountId}
where setting_id=#{settingId}
</select>
<!--新增用户 id 自增加-->

2
src/main/resources/mapper/szwh/AccountRatioSettingMapper.xml

@ -18,7 +18,7 @@
</select>
<!-- 主键查询用户信息 -->
<select id="getAdminById" parameterType="java.lang.Integer" resultType="cn.chjyj.szwh.bean.AccountRatioSetting">
<select id="getAccRatioSettingById" parameterType="java.lang.Integer" resultType="cn.chjyj.szwh.bean.AccountRatioSetting">
select <include refid="column"/>
from <include refid="tbName"/>
where id=#{id};

24
src/test/java/cn/chjyj/szwh/mapper/AccountRatioSettingMapperTest.java

@ -0,0 +1,24 @@
package cn.chjyj.szwh.mapper;
import cn.chjyj.szwh.bean.AccountRatioDetail;
import cn.chjyj.szwh.bean.AccountRatioSetting;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import static org.junit.Assert.*;
@SpringBootTest
@RunWith(SpringRunner.class)
public class AccountRatioSettingMapperTest {
@Autowired
private AccountRatioSettingMapper accountRatioSettingMapper;
@Test
public void getAccRatioSettingById() {
int id =1;
AccountRatioSetting accs = accountRatioSettingMapper.getAccRatioSettingById(id);
System.out.println(accs.getRuleName());
}
}
Loading…
Cancel
Save