Browse Source

更新代码

master
xyiege 3 years ago
parent
commit
412c6d6a49
  1. 107
      src/main/java/cn/chjyj/szwh/controller/api/OrderController.java
  2. 9
      src/main/java/cn/chjyj/szwh/service/OrderService.java
  3. 86
      src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java
  4. 38
      src/main/java/cn/chjyj/szwh/vo/GoodsListVo.java
  5. 1
      src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java

107
src/main/java/cn/chjyj/szwh/controller/api/OrderController.java

@ -9,7 +9,6 @@ import cn.chjyj.szwh.utils.SzOrderUtils;
import cn.chjyj.szwh.utils.SzwhApiUtils; import cn.chjyj.szwh.utils.SzwhApiUtils;
import cn.chjyj.szwh.vo.OrderDetailVo; import cn.chjyj.szwh.vo.OrderDetailVo;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.sun.org.apache.xpath.internal.operations.Or;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@ -29,7 +28,7 @@ import java.util.Map;
* only POST method * only POST method
*/ */
@RestController @RestController
@RequestMapping(name = "/api/Order", method = RequestMethod.POST) @RequestMapping( value = "/api/Order")
public class OrderController extends BaseController { public class OrderController extends BaseController {
private static Log log = LogFactory.getLog(OrderController.class); private static Log log = LogFactory.getLog(OrderController.class);
@Autowired @Autowired
@ -56,54 +55,77 @@ public class OrderController extends BaseController {
/** /**
* 获取订单信息 * 获取订单信息
* * @param request
* @param batchcode
* @param userIsli
* @param userRole
* @param payStatus
* @param closeStatus
* @param orderStatus
* @param creatime
* @param chargesType
* @param page
* @param pagesize
* @return * @return
*/ */
@RequestMapping("/getOrder") @RequestMapping("/getOrder")
public JSONObject getOrder(@RequestParam("batchcode") String batchcode, public JSONObject getOrder(HttpServletRequest request ) {
@RequestParam("user_isli") String userIsli, long start=System.currentTimeMillis();
@RequestParam("user_role") String userRole, Map qmap =new HashMap();
@RequestParam("pay_status") String payStatus, // 用户标识
@RequestParam("close_status") String closeStatus, String userIsli = request.getParameter("user_isli");
@RequestParam("order_status") String orderStatus, if(StringUtils.isNotBlank(userIsli)){
@RequestParam("createtime") String creatime, // do nothing
@RequestParam("charges_type") String chargesType, }
@RequestParam(name = "page", defaultValue = "1") String page,
@RequestParam(name = "limit", defaultValue = "20") String pagesize // order sn
) { String batchcode = request.getParameter("batchcode");
// 拼装查询条件 if(StringUtils.isNotBlank(batchcode)){
Map<String, Object> qmap = new HashMap<>();
qmap.put("batchcode", batchcode); qmap.put("batchcode", batchcode);
qmap.put("user_isli", userIsli); }
qmap.put("user_role", userRole); //购买角色(1:购买方,2:委托方)
qmap.put("pay_status", payStatus); Integer iuserRole=2;
String userRole = request.getParameter("user_role");
if(StringUtils.isNotBlank(userRole)){
if("1".equals(userRole)){ //
qmap.put("buy_islicode",userIsli);
}
iuserRole=1;
}
String appkey=request.getParameter("appkey");
String timestamp = request.getParameter("timestamp");
String payStatus=request.getParameter("pay_status");
if(StringUtils.isNotBlank(payStatus)){
Integer ipaystatus= Integer.valueOf(payStatus);
qmap.put("pay_status", ipaystatus);
}
String closeStatus = request.getParameter("close_status");
if(StringUtils.isNotBlank(closeStatus)){
qmap.put("close_status", closeStatus); qmap.put("close_status", closeStatus);
}
String orderStatus = request.getParameter("order_status");
if(StringUtils.isNotBlank(orderStatus)){
qmap.put("order_status", orderStatus); qmap.put("order_status", orderStatus);
qmap.put("createtime", creatime); }
qmap.put("charges_type", chargesType);
// //
int ipage = Integer.valueOf(page); String creatimeStr = request.getParameter("createtime");
int ips = Integer.valueOf(pagesize); if(StringUtils.isNotBlank(creatimeStr)){
int startrs = ipage > 0 ? (ipage - 1) * ips : 0; String jarr[]=creatimeStr.split(",");
//List<Order> olist =orderService.getOrderList(qmap, startrs, ips); if(jarr.length>0){
Map outmap = orderService.getOrderList(qmap,"","",startrs,ips); // 拆分
qmap.put("createtime"," createtime between '"+jarr[0]+" 00:00:00' and '"+jarr[1]+" 23:59:59'");
}
}
String page = request.getParameter("page");
Integer ipage = StringUtils.isBlank(page)?1:Integer.valueOf(page);
String limit= request.getParameter("limit");
Integer ilimit = StringUtils.isBlank(limit)?20:Integer.valueOf(limit);
// 获取订单信息
Map<String,Object> odmap = orderService.queryOrder(qmap,iuserRole,ipage,ilimit);
long end = System.currentTimeMillis();
long howuse = (end-start)/1000l;
//赋值 //赋值
jsonObject.put("code","200"); JSONObject outjson = new JSONObject();
jsonObject.put("data",outmap); outjson.put("code","success");
jsonObject.put("msg","success"); outjson.put("msg","成功");
jsonObject.put("page",page); outjson.put("data",odmap);
jsonObject.put("limit",pagesize); outjson.put("useTime",howuse+"s");
return jsonObject; return outjson;
} }
/** /**
@ -167,6 +189,7 @@ public class OrderController extends BaseController {
*/ */
@RequestMapping("/getTicket") @RequestMapping("/getTicket")
public JSONObject getTicket() { public JSONObject getTicket() {
jsonObject.put("msg",System.currentTimeMillis());
return jsonObject; return jsonObject;
} }

9
src/main/java/cn/chjyj/szwh/service/OrderService.java

@ -91,4 +91,13 @@ public interface OrderService {
* @return * @return
*/ */
public String buyFindGoods(String userIsli,String goodsIsli,int userYears); public String buyFindGoods(String userIsli,String goodsIsli,int userYears);
/**
* 查询订单
* @param qmap
* @param page
* @param limit
* @return
*/
Map<String,Object> queryOrder(Map qmap,Integer userrole,Integer page,Integer limit);
} }

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

@ -9,6 +9,7 @@ import cn.chjyj.szwh.utils.SzFileUtils;
import cn.chjyj.szwh.vo.OrderDetailVo; import cn.chjyj.szwh.vo.OrderDetailVo;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.sun.org.apache.xpath.internal.operations.Or;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@ -21,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.DefaultTransactionDefinition; import org.springframework.transaction.support.DefaultTransactionDefinition;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@ -527,6 +529,90 @@ public class OrderServiceImpl implements OrderService {
return null; return null;
} }
/**
* 输出条件查询订单
* @param qmap
* @param page
* @param limit
* @return
*/
@Override
public Map<String, Object> queryOrder(Map qmap,Integer userrole, Integer page, Integer limit) {
int start = page>1?(page-1)*limit:0;
//订单结算 todo
List<Order> orderList = orderMapper.getOrderList(qmap,start,limit);
//
Map<String,Object> outmap = new HashMap<>();
for(Order od:orderList){
Map<String,Object> retmap = new HashMap<>();
//订单用户信息
OrderUser orderUser = orderUserMapper.getUserOrder(od.getBatchcode(),od.getBuyIslicode());
retmap.put("buy_username",orderUser.getName());
retmap.put("attesttime",orderUser.getAttesttime());
retmap.put("registertime",orderUser.getRegistertime());
retmap.put("userType",orderUser.getUsertype());
retmap.put("authType",orderUser.getAuthtype());
retmap.put("state",orderUser.getState());
// 分配情况
AccountRatioSetting accountRatioSetting = accountRatioSettingMapper.getAccRatioSettingById(od.getAccountRatioId());
AccountRatioDetail accountRatioDetail = accountRatioDetailMapper.getAccRatioDetailByIdRole(accountRatioSetting.getId(),1);
BigDecimal entrustAmount=new BigDecimal(0);
if(accountRatioDetail.getCalculate()==1){
//并列结算
entrustAmount =accountRatioDetail.getRatio();
}else{
//固定
entrustAmount =accountRatioDetail.getAmount();
}
//总额度
if(userrole==1) {
BigDecimal totalCloseMoney = new BigDecimal(0.00);
if (entrustAmount.compareTo(new BigDecimal(0)) < 0) {
totalCloseMoney = totalCloseMoney.add(od.getTotalMoney()).setScale(2, RoundingMode.HALF_UP);
} else {
// 保留2位小数,向上 四舍五入
BigDecimal rate = entrustAmount.divide(new BigDecimal(100), 2, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP);
totalCloseMoney = totalCloseMoney.add(od.getTotalMoney().multiply(rate)).setScale(2, RoundingMode.HALF_UP);
}
retmap.put("close_money",totalCloseMoney);
}
//
BigDecimal totalMoney=new BigDecimal(0);
BigDecimal totalServiceCharge = new BigDecimal(0);
//订单商品
List<OrderGoodsDetail> orderGoodsDetailList =orderGoodsDetailMapper.getOrderGoodsDetailByBatchCode(od.getBatchcode());
for(OrderGoodsDetail ogd:orderGoodsDetailList){
retmap.put("close_status",ogd.getCloseStatus());
totalMoney = totalMoney.add(ogd.getMoney()).setScale(2,RoundingMode.HALF_UP);
totalServiceCharge =totalServiceCharge.add(ogd.getServiceCharge()).setScale(2,RoundingMode.HALF_UP);
// 如果是转让
if(ogd.getGoodsEntrust()==1){
retmap.put("transaction_count","-");
}
retmap.put("entrust_month",ogd.getContractualPeriod());
//订单商品资源
List<OrderGoodsSource> ogsourceList = orderGoodsSourceMapper.getOrderGoodsSourceList(ogd.getId().toString());
retmap.put("source",orderGoodsDetailList);
}
// 商品详情
retmap.put("order_detail",orderGoodsDetailList);
//
retmap.put("total_money",totalMoney);
retmap.put("total_service_charge",totalServiceCharge);
// for buyer
if(userrole==1 && od.getStatus()==3){
retmap.put("status",4);
}
}
outmap.put("search_close_money",new BigDecimal(0));
outmap.put("total_close_money",new BigDecimal(0));
return outmap;
}
/** /**
* 结算 * 结算
* @param order * @param order

38
src/main/java/cn/chjyj/szwh/vo/GoodsListVo.java

@ -24,7 +24,11 @@ public class GoodsListVo {
private Integer goods_entrust;//委托类型 private Integer goods_entrust;//委托类型
private BigDecimal price; //gd 价格 private BigDecimal price; //gd 价格
private String canceltime; //撤销时间 private String canceltime; //撤销时间
private String goods_ownership_str; private String goods_ownership_str; //权益
private String goods_image;
private Integer stock;
private Integer sale_count;
private Integer click_count;
public Integer getId() { public Integer getId() {
return id; return id;
@ -161,4 +165,36 @@ public class GoodsListVo {
public void setGoods_ownership_str(String goods_ownership_str) { public void setGoods_ownership_str(String goods_ownership_str) {
this.goods_ownership_str = goods_ownership_str; this.goods_ownership_str = goods_ownership_str;
} }
public String getGoods_image() {
return goods_image;
}
public void setGoods_image(String goods_image) {
this.goods_image = goods_image;
}
public Integer getStock() {
return stock;
}
public void setStock(Integer stock) {
this.stock = stock;
}
public Integer getSale_count() {
return sale_count;
}
public void setSale_count(Integer sale_count) {
this.sale_count = sale_count;
}
public Integer getClick_count() {
return click_count;
}
public void setClick_count(Integer click_count) {
this.click_count = click_count;
}
} }

1
src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java

@ -36,6 +36,7 @@ public class OrderMapperTest {
Map<String,Object> wcon=new HashMap<>(); Map<String,Object> wcon=new HashMap<>();
//wcon.put("buy_islicode","999998-000000001923-9"); //wcon.put("buy_islicode","999998-000000001923-9");
//wcon.put("status",5); //wcon.put("status",5);
wcon.put("buy_islicode","899998-000000001640-3");
int starrs=0; int starrs=0;
int pagesize=10; int pagesize=10;

Loading…
Cancel
Save