Commit cf0086c8 by jinxin

新增订单接口调整

parent 39b1657f
...@@ -101,6 +101,18 @@ public class LicenceOrderQDTO implements Serializable { ...@@ -101,6 +101,18 @@ public class LicenceOrderQDTO implements Serializable {
* 创建人名称 * 创建人名称
*/ */
private String creatorName; private String creatorName;
/**
* 企业微信订单id
*/
private String qywxOrderId;
public String getQywxOrderId() {
return qywxOrderId;
}
public void setQywxOrderId(String qywxOrderId) {
this.qywxOrderId = qywxOrderId;
}
public Long getOrderId() { public Long getOrderId() {
return orderId; return orderId;
......
...@@ -83,6 +83,7 @@ public class LicenceOrderServiceImpl implements LicenceOrderService { ...@@ -83,6 +83,7 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
order.setOrderId(orderId); order.setOrderId(orderId);
//默认支付状态为待支付 //默认支付状态为待支付
order.setOrderStatus(0); order.setOrderStatus(0);
order.setQywxOrderStatus(0);
order.setCreateTime(now); order.setCreateTime(now);
order.setUpdateTime(now); order.setUpdateTime(now);
//生成订单编号 //生成订单编号
...@@ -98,6 +99,8 @@ public class LicenceOrderServiceImpl implements LicenceOrderService { ...@@ -98,6 +99,8 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
tabHaobanLicenceOrderMapper.insert(order); tabHaobanLicenceOrderMapper.insert(order);
//记录订单进度 //记录订单进度
saveOrderProgress(orderId,"创建订单",licenceOrderQDTO.getEnterpriseId(),licenceOrderQDTO.getWxEnterpriseId(),licenceOrderQDTO.getCreatorName(),1,null,null); saveOrderProgress(orderId,"创建订单",licenceOrderQDTO.getEnterpriseId(),licenceOrderQDTO.getWxEnterpriseId(),licenceOrderQDTO.getCreatorName(),1,null,null);
//记录企业微信订单进度
saveOrderProgress(orderId,"创建订单",licenceOrderQDTO.getEnterpriseId(),licenceOrderQDTO.getWxEnterpriseId(),licenceOrderQDTO.getCreatorName(),2,null,null);
return String.valueOf(orderId); return String.valueOf(orderId);
} }
......
...@@ -124,8 +124,45 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService { ...@@ -124,8 +124,45 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
@Override @Override
public ServiceResponse<String> saveOrUpdateLicenceOrder(LicenceOrderQDTO licenceOrderQDTO) { public ServiceResponse<String> saveOrUpdateLicenceOrder(LicenceOrderQDTO licenceOrderQDTO) {
//创建企业微信订单,查询企业微信订单详情,返回订单金额
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(licenceOrderQDTO.getWxEnterpriseId());
if (wxEnterpriseDTO == null) {
return ServiceResponse.failure("-9999", "企业微信不存在!!");
}
String openCorpid = wxEnterpriseDTO.getOpenCorpid();
String serviceCorpid = config.getCorpid();
CreateOrderQDTO orderQDTO = new CreateOrderQDTO();
orderQDTO.setBaseCount(0);
orderQDTO.setExternalCount(licenceOrderQDTO.getExternalContactCount());
orderQDTO.setBuyerUserid(config.getBuyerUserid());
if (licenceOrderQDTO.getTimeType() == 1) {
orderQDTO.setMonths(licenceOrderQDTO.getTimeValue());
orderQDTO.setDays(0);
} else {
orderQDTO.setMonths(0);
orderQDTO.setDays(licenceOrderQDTO.getTimeValue());
}
ServiceResponse<CreateOrderResponseDTO> newOrder = qywxOrderApiService.createNewOrder(serviceCorpid, openCorpid, orderQDTO);
logger.info("企业微信订单返回信息:{}", JSON.toJSONString(newOrder));
if (newOrder.isSuccess()) {
//更新企业微信订单状态,保存企业微信订单id
String qywxOrderId = newOrder.getResult().getOrderId();
//查询订单详情,获取订单金额
FeeOrderDeatilResponseDTO dto = qywxUserApiService.getOrder(openCorpid, serviceCorpid, qywxOrderId);
logger.info("查询企业微信订单详情返回信息:{}", JSON.toJSONString(dto));
if (null != dto && 0 == dto.getErrcode()){
Integer price = dto.getOrder().getPrice();
licenceOrderQDTO.setQywxOrderId(qywxOrderId);
licenceOrderQDTO.setPrice(price);
String s = licenceOrderService.saveOrUpdateLicenceOrder(licenceOrderQDTO); String s = licenceOrderService.saveOrUpdateLicenceOrder(licenceOrderQDTO);
return ServiceResponse.success(s); JSONObject jsonObject = new JSONObject();
jsonObject.put("orderId",s);
jsonObject.put("price",price);
return ServiceResponse.success(JSON.toJSONString(jsonObject));
}
return ServiceResponse.failure(String.valueOf(dto.getErrcode()), dto.getErrmsg());
}
return ServiceResponse.failure(newOrder.getCode(), newOrder.getMessage());
} }
@Override @Override
......
...@@ -98,38 +98,37 @@ public class LicenceOrderController { ...@@ -98,38 +98,37 @@ public class LicenceOrderController {
// } // }
/** /**
* 新增或者修改订单 * 新增订单
* @param licenceOrderQO
* @return JSONObject key:orderId 和 price
*/ */
@RequestMapping("licence-order-saveOrUpdate") @RequestMapping("licence-order-saveOrUpdate")
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.HB_LICENCE_ORDER, @GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.HB_LICENCE_ORDER,
optType = GicLogRecordOptTypeEnum.HB_1004_01, userFunc = LogRecordUserServiceImpl.class, optPage = "购买企业微信许可账号") optType = GicLogRecordOptTypeEnum.HB_1004_01, userFunc = LogRecordUserServiceImpl.class, optPage = "购买企业微信许可账号")
public RestResponse<String> saveOrUpdateLicenceOrder(@RequestBody LicenceOrderQO licenceOrderQO) { public RestResponse<JSONObject> saveOrUpdateLicenceOrder(@RequestBody LicenceOrderQO licenceOrderQO) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())) { if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())) {
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()), HaoBanErrCode.ERR_4.getMsg()); return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()), HaoBanErrCode.ERR_4.getMsg());
} }
//金额校验
Integer integer = licenceOrderQO.checkPrice();
if (integer == -1) {
return RestResponse.failure("-9999", "许可账号数量有误!");
} else if (integer == 0) {
return RestResponse.failure("-9999", "购买金额计算有误!");
}
LicenceOrderQDTO licenceOrderQDTO = JSONObject.parseObject(JSONObject.toJSONString(licenceOrderQO), LicenceOrderQDTO.class); LicenceOrderQDTO licenceOrderQDTO = JSONObject.parseObject(JSONObject.toJSONString(licenceOrderQO), LicenceOrderQDTO.class);
licenceOrderQDTO.setEnterpriseId(loginUser.getEnterpriseId()); licenceOrderQDTO.setEnterpriseId(loginUser.getEnterpriseId());
licenceOrderQDTO.setWxEnterpriseId(loginUser.getWxEnterpriseId()); licenceOrderQDTO.setWxEnterpriseId(loginUser.getWxEnterpriseId());
licenceOrderQDTO.setCreatorId(loginUser.getClerkId()); licenceOrderQDTO.setCreatorId(loginUser.getClerkId());
licenceOrderQDTO.setCreatorName(loginUser.getClerkName()); licenceOrderQDTO.setCreatorName(loginUser.getClerkName());
String result = licenceOrderApiService.saveOrUpdateLicenceOrder(licenceOrderQDTO).getResult(); ServiceResponse<String> response = licenceOrderApiService.saveOrUpdateLicenceOrder(licenceOrderQDTO);
if (response.isSuccess()){
JSONObject object = JSONObject.parseObject(response.getResult(), JSONObject.class);
String time = ""; String time = "";
if (licenceOrderQO.getTimeType() == 1) { if (licenceOrderQO.getTimeType() == 1) {
time = licenceOrderQO.getTimeValue() + "个月"; time = licenceOrderQO.getTimeValue() + "个月";
} else { } else {
time = licenceOrderQO.getTimeValue() + "天"; time = licenceOrderQO.getTimeValue() + "天";
} }
String logValue = "【购买企微许可账号】:订单编号ZH" + result + ",企业员工账号" + licenceOrderQO.getExternalContactCount() + "个,时长" + time; String logValue = "【购买企微许可账号】:订单编号ZH" + object.getString("orderId") + ",企业员工账号" + licenceOrderQO.getExternalContactCount() + "个,时长" + time;
GicLogRecordEvaluationContext.putAttribute("logValue", logValue); GicLogRecordEvaluationContext.putAttribute("logValue", logValue);
return RestResponse.successResult(result); return RestResponse.successResult(object);
}
return RestResponse.failure(response.getCode(),response.getMessage());
} }
/** /**
......
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