Commit 24ff5b27 by jinxin

企业微信接口开发

parent 7af9980b
......@@ -103,6 +103,18 @@ public class LicenceOrderPageDTO implements Serializable {
* 创建人名称
*/
private String creatorName;
/**
* 到期时间
*/
private Date expireTime;
public Date getExpireTime() {
return expireTime;
}
public void setExpireTime(Date expireTime) {
this.expireTime = expireTime;
}
public Long getOrderId() {
return orderId;
......
......@@ -45,6 +45,43 @@ public class LicenceOrderPageQDTO extends BasePageInfo implements Serializable
* 订单创建结束时间
*/
private String endTime;
/**
* gic商户Id
*/
private String enterpriseId;
/**
* wx企业Id
*/
private String wxEnterpriseId;
/**
* 创建人名称
*/
private String creatorName;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getTransactionId() {
return transactionId;
......
......@@ -83,5 +83,14 @@ public interface LicenceOrderApiService {
*/
ServiceResponse<Boolean> isPayLicenceOrder(String wxEnterpriseId);
/**
* 微信通知回调接口
*/
ServiceResponse<Boolean> wxCallBack(String params);
/**
* 企业微信通知回调接口
*/
ServiceResponse<Boolean> qywxCallBack(String params);
}
package com.gic.haoban.manage.service.dao.mapper.licence;
import com.gic.haoban.manage.api.dto.licence.LicenceOrderPageDTO;
import com.gic.haoban.manage.api.dto.qdto.licence.LicenceOrderPageQDTO;
import com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrder;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* Mapper 接口
......@@ -57,4 +61,12 @@ public interface TabHaobanLicenceOrderMapper {
*/
String selectByWxEnterpriseId(@Param("wxEnterpriseId")String wxEnterpriseId);
/**
* 分页查询订单列表
* @param licenceOrderPageQDTO
* @return
*/
List<LicenceOrderPageDTO> getLicenceOrderPage(LicenceOrderPageQDTO licenceOrderPageQDTO);
}
package com.gic.haoban.manage.service.service.licence;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.licence.LicenceOrderPageDTO;
import com.gic.haoban.manage.api.dto.qdto.licence.LicenceOrderPageQDTO;
import com.gic.haoban.manage.api.dto.qdto.licence.LicenceOrderQDTO;
import com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrder;
import java.util.List;
/**
* <p>
* 企业微信许可账号购买
......@@ -59,6 +64,13 @@ public interface LicenceOrderService {
*/
String isPayLicenceOrder(String wxEnterpriseId);
/**
* 分页查询订单列表
* @param licenceOrderPageQDTO
* @return
*/
Page<LicenceOrderPageDTO> getLicenceOrderPage(LicenceOrderPageQDTO licenceOrderPageQDTO);
}
......@@ -2,19 +2,32 @@ package com.gic.haoban.manage.service.service.licence.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.licence.LicenceOrderPageDTO;
import com.gic.haoban.manage.api.dto.qdto.licence.LicenceOrderPageQDTO;
import com.gic.haoban.manage.api.dto.qdto.licence.LicenceOrderQDTO;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.service.dao.mapper.licence.TabHaobanLicenceOrderMapper;
import com.gic.haoban.manage.service.dao.mapper.licence.TabHaobanLicenceOrderProgressMapper;
import com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrder;
import com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrderProgress;
import com.gic.haoban.manage.service.service.licence.LicenceOrderService;
import com.gic.haoban.manage.service.util.DingUtils;
import com.github.pagehelper.PageHelper;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
* @description:
......@@ -27,6 +40,11 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
private TabHaobanLicenceOrderMapper tabHaobanLicenceOrderMapper;
@Autowired
private TabHaobanLicenceOrderProgressMapper tabHaobanLicenceOrderProgressMapper;
@Autowired
private EnterpriseService enterpriseService;
@Autowired
private WxEnterpriseApiService wxEnterpriseApiService;
@Override
public TabHaobanLicenceOrder getLicenceOrderDetail(Long orderId) {
......@@ -78,17 +96,64 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
tabHaobanLicenceOrderProgressMapper.insert(orderProgress);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateLicenceOrderType(Long orderId, Integer type,String enterpriseId,String wxEnterpriseId,String creatorName) {
return null;
tabHaobanLicenceOrderMapper.updateLicenceOrderType(orderId,type);
//记录订单进度
switch (type){
case 0:
saveOrderProgress(orderId,"创建订单",enterpriseId,wxEnterpriseId,creatorName);
break;
case 1:
saveOrderProgress(orderId,"已支付",enterpriseId,wxEnterpriseId,creatorName);
break;
case 2:
saveOrderProgress(orderId,"已取消",enterpriseId,wxEnterpriseId,creatorName);
break;
case 3:
saveOrderProgress(orderId,"已过期",enterpriseId,wxEnterpriseId,creatorName);
break;
case 4:
saveOrderProgress(orderId,"已退款",enterpriseId,wxEnterpriseId,creatorName);
break;
case 5:
saveOrderProgress(orderId,"凭证已上传,审核中",enterpriseId,wxEnterpriseId,creatorName);
break;
default:
break;
}
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean uploadLicenceOrderVoucher(Long orderId, String voucher,String enterpriseId,String wxEnterpriseId,String creatorName) {
TabHaobanLicenceOrder tabHaobanLicenceOrder = tabHaobanLicenceOrderMapper.selectById(orderId);
if (tabHaobanLicenceOrder == null){
return false;
}
tabHaobanLicenceOrderMapper.uploadLicenceOrderVoucher(orderId,voucher);
//记录订单进度
// TODO: 2023/3/21 需要判断是否第二次上传
if (StrUtil.isNotBlank(tabHaobanLicenceOrder.getVoucher())){
saveOrderProgress(orderId,"凭证已重新上传,审核中",enterpriseId,wxEnterpriseId,creatorName);
}else {
saveOrderProgress(orderId,"凭证已上传,审核中",enterpriseId,wxEnterpriseId,creatorName);
}
//查询gic品牌名称
String enterpriseName="";
String wxEnterpriseName="";
EnterpriseDTO enterpriseDTO = enterpriseService.getEnterpriseById(enterpriseId);
if (ObjectUtil.isNotNull(enterpriseDTO)){
enterpriseDTO.getEnterpriseName();
}
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
if (ObjectUtil.isNotNull(wxEnterpriseDTO)){
wxEnterpriseDTO.getCorpName();
}
String dateToStr = DateUtil.dateToStr(new Date(), DateUtil.FORMAT_DATETIME_19);
//发送钉钉消息通知
String msg = "标题:企微账号许可通知 品牌名称:"+enterpriseName+" 企业名称:"+wxEnterpriseName+" 消息内容:"+dateToStr+"新增订单"+orderId+",请尽快处理";
DingUtils.send(msg,"https://oapi.dingtalk.com/robot/send?access_token=63074c9fc1ac2c00aa62477facdf16e5fa2388cf6a621edba1fb05d6e55d031f",false);
return true;
}
......@@ -100,4 +165,26 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
}
return null;
}
@Override
public Page<LicenceOrderPageDTO> getLicenceOrderPage(LicenceOrderPageQDTO qdto) {
//时间处理
if (StringUtils.isNotBlank(qdto.getStartTime())) {
qdto.setStartTime(qdto.getStartTime() + " 00:00:00");
}
if (StringUtils.isNotBlank(qdto.getEndTime())) {
qdto.setEndTime(qdto.getEndTime() + " 23:59:59");
}
PageHelper.startPage(qdto);
List<LicenceOrderPageDTO> licenceOrderPage = tabHaobanLicenceOrderMapper.getLicenceOrderPage(qdto);
//判断订单状态,支付时间已过的订单的需要更改订单状态为已过期
for (LicenceOrderPageDTO dto : licenceOrderPage){
if (dto.getExpireTime().before(new Date())){
dto.setOrderStatus(3);
updateLicenceOrderType(dto.getOrderId(), 3,qdto.getEnterpriseId(), qdto.getWxEnterpriseId(), qdto.getCreatorName());
}
}
return PageHelperUtils.changePageHelperToCurrentPage(licenceOrderPage, LicenceOrderPageDTO.class);
}
}
......@@ -87,7 +87,8 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
@Override
public ServiceResponse<Page<LicenceOrderPageDTO>> getLicenceOrderPage(LicenceOrderPageQDTO licenceOrderPageQDTO) {
return null;
Page<LicenceOrderPageDTO> licenceOrderPage = licenceOrderService.getLicenceOrderPage(licenceOrderPageQDTO);
return ServiceResponse.success(licenceOrderPage);
}
@Override
......@@ -116,4 +117,20 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
}
return ServiceResponse.success(false);
}
@Override
public ServiceResponse<Boolean> wxCallBack(String params) {
logger.info("接收微信回调参数:{}",params);
return null;
}
@Override
public ServiceResponse<Boolean> qywxCallBack(String params) {
logger.info("接收企业微信回调参数:{}",params);
return null;
}
}
......@@ -195,4 +195,30 @@
and delete_flag = 0
and order_status = 0 limit 1
</select>
<select id="getLicenceOrderPage" resultType="com.gic.haoban.manage.api.dto.licence.LicenceOrderPageDTO">
SELECT <include refid="Base_Column_List"/>
FROM tab_haoban_licence_order
WHERE delete_flag = 0
<if test="transactionId != null">
and transaction_id=#{transactionId}
</if>
<if test="orderStatus != null">
and order_status=#{orderStatus}
</if>
<if test="qywxOrderId != null">
and qywx_order_id=#{qywxOrderId}
</if>
<if test="qywxOrderStatus != null">
and qywx_order_status=#{qywxOrderStatus}
</if>
<if test="startTime != null">
and create_time <![CDATA[ >= ]]> #{startTime}
</if>
<if test="endTime != null">
and create_time <![CDATA[ <= ]]> #{endTime}
</if>
order by create_time desc
</select>
</mapper>
\ No newline at end of file
......@@ -112,7 +112,13 @@ public class LicenceOrderController {
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
String enterpriseId = loginUser.getEnterpriseId();
String wxEnterpriseId = loginUser.getWxEnterpriseId();
String clerkName = loginUser.getClerkName();
LicenceOrderPageQDTO qdto = JSONObject.parseObject(JSONObject.toJSONString(licenceOrderPageQO), LicenceOrderPageQDTO.class);
qdto.setEnterpriseId(enterpriseId);
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setCreatorName(clerkName);
ServiceResponse<Page<LicenceOrderPageDTO>> licenceOrderPage = licenceOrderApiService.getLicenceOrderPage(qdto);
Page<LicenceOrderPageVO> result = PageHelperUtils.changePageToCurrentPage(licenceOrderPage.getResult(), LicenceOrderPageVO.class);
return RestResponse.successResult(result);
......@@ -123,12 +129,12 @@ public class LicenceOrderController {
@RequestMapping("licence-order-cancel")
public RestResponse<Boolean> cancelLicenceOrder(@RequestParam Long orderId,Integer type) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
String enterpriseId = loginUser.getEnterpriseId();
String wxEnterpriseId = loginUser.getWxEnterpriseId();
String clerkName = loginUser.getClerkName();
if (loginUser == null || StringUtils.isBlank(enterpriseId)){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
Boolean result = licenceOrderApiService.updateLicenceOrderType(orderId, type,enterpriseId,wxEnterpriseId,clerkName).getResult();
return RestResponse.successResult(result);
}
......@@ -138,12 +144,12 @@ public class LicenceOrderController {
@RequestMapping("licence-order-voucher-upload")
public RestResponse<Boolean> uploadLicenceOrderVoucher(@RequestParam Long orderId,String voucher) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
String enterpriseId = loginUser.getEnterpriseId();
String wxEnterpriseId = loginUser.getWxEnterpriseId();
String clerkName = loginUser.getClerkName();
if (loginUser == null || StringUtils.isBlank(enterpriseId)){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
Boolean result = licenceOrderApiService.uploadLicenceOrderVoucher(orderId, voucher,enterpriseId,wxEnterpriseId,clerkName).getResult();
return RestResponse.successResult(result);
}
......
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