Commit cf0086c8 by jinxin

新增订单接口调整

parent 39b1657f
......@@ -101,6 +101,18 @@ public class LicenceOrderQDTO implements Serializable {
* 创建人名称
*/
private String creatorName;
/**
* 企业微信订单id
*/
private String qywxOrderId;
public String getQywxOrderId() {
return qywxOrderId;
}
public void setQywxOrderId(String qywxOrderId) {
this.qywxOrderId = qywxOrderId;
}
public Long getOrderId() {
return orderId;
......
......@@ -77,27 +77,30 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
@Transactional(rollbackFor = Exception.class)
public String saveOrUpdateLicenceOrder(LicenceOrderQDTO licenceOrderQDTO) {
long orderId = UniqueIdUtils.uniqueLong();
//订单不支持修改,只能新增
TabHaobanLicenceOrder order = JSONObject.parseObject(JSONObject.toJSONString(licenceOrderQDTO), TabHaobanLicenceOrder.class);
Date now = new Date();
order.setOrderId(orderId);
//默认支付状态为待支付
order.setOrderStatus(0);
order.setCreateTime(now);
order.setUpdateTime(now);
//生成订单编号
String num = "ZH"+orderId;
order.setOrderNumber(num);
Date expireTime;
if(order.getPayType()==1){
expireTime = DateUtil.addNumForMinute(now, 30);
}else {
expireTime = DateUtil.addDay(now, 3);
}
order.setExpireTime(expireTime);
tabHaobanLicenceOrderMapper.insert(order);
//记录订单进度
saveOrderProgress(orderId,"创建订单",licenceOrderQDTO.getEnterpriseId(),licenceOrderQDTO.getWxEnterpriseId(),licenceOrderQDTO.getCreatorName(),1,null,null);
//订单不支持修改,只能新增
TabHaobanLicenceOrder order = JSONObject.parseObject(JSONObject.toJSONString(licenceOrderQDTO), TabHaobanLicenceOrder.class);
Date now = new Date();
order.setOrderId(orderId);
//默认支付状态为待支付
order.setOrderStatus(0);
order.setQywxOrderStatus(0);
order.setCreateTime(now);
order.setUpdateTime(now);
//生成订单编号
String num = "ZH"+orderId;
order.setOrderNumber(num);
Date expireTime;
if(order.getPayType()==1){
expireTime = DateUtil.addNumForMinute(now, 30);
}else {
expireTime = DateUtil.addDay(now, 3);
}
order.setExpireTime(expireTime);
tabHaobanLicenceOrderMapper.insert(order);
//记录订单进度
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);
}
......
......@@ -124,8 +124,45 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
@Override
public ServiceResponse<String> saveOrUpdateLicenceOrder(LicenceOrderQDTO licenceOrderQDTO) {
String s = licenceOrderService.saveOrUpdateLicenceOrder(licenceOrderQDTO);
return ServiceResponse.success(s);
//创建企业微信订单,查询企业微信订单详情,返回订单金额
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);
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
......
......@@ -98,38 +98,37 @@ public class LicenceOrderController {
// }
/**
* 新增或者修改订单
* 新增订单
* @param licenceOrderQO
* @return JSONObject key:orderId 和 price
*/
@RequestMapping("licence-order-saveOrUpdate")
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.HB_LICENCE_ORDER,
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();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())) {
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.setEnterpriseId(loginUser.getEnterpriseId());
licenceOrderQDTO.setWxEnterpriseId(loginUser.getWxEnterpriseId());
licenceOrderQDTO.setCreatorId(loginUser.getClerkId());
licenceOrderQDTO.setCreatorName(loginUser.getClerkName());
String result = licenceOrderApiService.saveOrUpdateLicenceOrder(licenceOrderQDTO).getResult();
String time = "";
if (licenceOrderQO.getTimeType() == 1) {
time = licenceOrderQO.getTimeValue() + "个月";
} else {
time = licenceOrderQO.getTimeValue() + "天";
ServiceResponse<String> response = licenceOrderApiService.saveOrUpdateLicenceOrder(licenceOrderQDTO);
if (response.isSuccess()){
JSONObject object = JSONObject.parseObject(response.getResult(), JSONObject.class);
String time = "";
if (licenceOrderQO.getTimeType() == 1) {
time = licenceOrderQO.getTimeValue() + "个月";
} else {
time = licenceOrderQO.getTimeValue() + "天";
}
String logValue = "【购买企微许可账号】:订单编号ZH" + object.getString("orderId") + ",企业员工账号" + licenceOrderQO.getExternalContactCount() + "个,时长" + time;
GicLogRecordEvaluationContext.putAttribute("logValue", logValue);
return RestResponse.successResult(object);
}
String logValue = "【购买企微许可账号】:订单编号ZH" + result + ",企业员工账号" + licenceOrderQO.getExternalContactCount() + "个,时长" + time;
GicLogRecordEvaluationContext.putAttribute("logValue", logValue);
return RestResponse.successResult(result);
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