Commit 163e4e7c by jinxin

企业微信许可账号购买

parent cf253e98
......@@ -50,13 +50,30 @@ public interface LicenceOrderApiService {
ServiceResponse<Page<LicenceOrderPageDTO>> getLicenceOrderPage(LicenceOrderPageQDTO licenceOrderPageQDTO);
/**
* 取消订单
* 更新订单状态
*
* @param orderId 订单id
* @param type
* @param type 订单状态
* @return
*/
ServiceResponse<Boolean> cancelLicenceOrder(Long orderId, Integer type);
/**
* 订单凭证上传
*
* @param orderId 订单id
* @param voucher 凭证url
* @return
*/
ServiceResponse<Boolean> uploadLicenceOrderVoucher(Long orderId, String voucher);
/**
* 订单支付接口
*
* @param orderId 订单id
* @return
*/
ServiceResponse<Boolean> payLicenceOrder(Long orderId);
}
package com.gic.haoban.manage.service.dao.mapper.licence;
import com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrderProgress;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
......@@ -18,4 +21,9 @@ public interface TabHaobanLicenceOrderProgressMapper {
* @return
*/
Integer insert(TabHaobanLicenceOrderProgress tabHaobanLicenceOrderProgress);
List<TabHaobanLicenceOrderProgress> getListByOrderId(@Param("orderId") Long orderId);
Integer deleteByOrderId(@Param("orderId") Long orderId);
}
package com.gic.haoban.manage.service.service.licence;
import com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrderProgress;
import java.util.List;
/**
* <p>
* 服务类
......@@ -10,4 +14,10 @@ package com.gic.haoban.manage.service.service.licence;
*/
public interface LicenceOrderProgressService {
Integer insert(TabHaobanLicenceOrderProgress tabHaobanLicenceOrderProgress);
List<TabHaobanLicenceOrderProgress> getListByOrderId(Long orderId);
Integer deleteByOrderId(Long orderId);
}
......@@ -32,7 +32,7 @@ public interface LicenceOrderService {
* @param licenceOrderQDTO
* @return
*/
Integer saveOrUpdateLicenceOrder(LicenceOrderQDTO licenceOrderQDTO);
void saveOrUpdateLicenceOrder(LicenceOrderQDTO licenceOrderQDTO);
......
package com.gic.haoban.manage.service.service.licence.impl;
import com.gic.haoban.manage.service.dao.mapper.licence.TabHaobanLicenceOrderProgressMapper;
import com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrderProgress;
import com.gic.haoban.manage.service.service.licence.LicenceOrderProgressService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
/**
* @description:
......@@ -8,4 +13,24 @@ import com.gic.haoban.manage.service.service.licence.LicenceOrderProgressService
* @Date: 2023/3/9 17:02
*/
public class LicenceOrderProgressServiceImpl implements LicenceOrderProgressService {
@Autowired
private TabHaobanLicenceOrderProgressMapper tabHaobanLicenceOrderProgressMapper;
@Override
public Integer insert(TabHaobanLicenceOrderProgress tabHaobanLicenceOrderProgress) {
Integer insert = tabHaobanLicenceOrderProgressMapper.insert(tabHaobanLicenceOrderProgress);
return insert;
}
@Override
public List<TabHaobanLicenceOrderProgress> getListByOrderId(Long orderId) {
List<TabHaobanLicenceOrderProgress> list = tabHaobanLicenceOrderProgressMapper.getListByOrderId(orderId);
return list;
}
@Override
public Integer deleteByOrderId(Long orderId) {
return tabHaobanLicenceOrderProgressMapper.deleteByOrderId(orderId);
}
}
package com.gic.haoban.manage.service.service.licence.impl;
import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.qdto.licence.LicenceOrderQDTO;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
/**
* @description:
......@@ -15,6 +23,8 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
@Autowired
private TabHaobanLicenceOrderMapper tabHaobanLicenceOrderMapper;
@Autowired
private TabHaobanLicenceOrderProgressMapper tabHaobanLicenceOrderProgressMapper;
@Override
public TabHaobanLicenceOrder getLicenceOrderDetail(Long orderId) {
......@@ -28,7 +38,31 @@ public class LicenceOrderServiceImpl implements LicenceOrderService {
}
@Override
public Integer saveOrUpdateLicenceOrder(LicenceOrderQDTO licenceOrderQDTO) {
return null;
@Transactional(rollbackFor = Exception.class)
public void saveOrUpdateLicenceOrder(LicenceOrderQDTO licenceOrderQDTO) {
TabHaobanLicenceOrder order = JSONObject.parseObject(JSONObject.toJSONString(licenceOrderQDTO), TabHaobanLicenceOrder.class);
Date now = new Date();
long orderId = UniqueIdUtils.uniqueLong();
order.setOrderId(orderId);
order.setCreateTime(now);
order.setUpdateTime(now);
if (order.getPayType()==1){
Date expireTime = DateUtil.addNumForMinute(now, 30);
order.setExpireTime(expireTime);
}else {
Date expireTime = DateUtil.addDay(now,3);
order.setExpireTime(expireTime);
}
tabHaobanLicenceOrderMapper.insert(order);
//记录订单进度
TabHaobanLicenceOrderProgress orderProgress = new TabHaobanLicenceOrderProgress();
orderProgress.setId(UniqueIdUtils.uniqueLong());
orderProgress.setEnterpriseId(licenceOrderQDTO.getEnterpriseId());
orderProgress.setWxEnterpriseId(licenceOrderQDTO.getWxEnterpriseId());
orderProgress.setOrderId(orderId);
orderProgress.setOrderStatus("创建订单");
orderProgress.setType(1);
orderProgress.setCreatorName(licenceOrderQDTO.getCreatorName());
tabHaobanLicenceOrderProgressMapper.insert(orderProgress);
}
}
package com.gic.haoban.manage.service.service.out.impl.licence;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.dto.licence.LicenceOrderDTO;
import com.gic.haoban.manage.api.dto.licence.LicenceOrderPageDTO;
import com.gic.haoban.manage.api.dto.licence.LicenceOrderProgressDTO;
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.licence.LicenceOrderApiService;
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.LicenceOrderProgressService;
import com.gic.haoban.manage.service.service.licence.LicenceOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @description:
......@@ -14,19 +25,40 @@ import com.gic.haoban.manage.api.service.licence.LicenceOrderApiService;
* @Date: 2023/3/9 17:04
*/
public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
@Autowired
private LicenceOrderService licenceOrderService;
@Autowired
private LicenceOrderProgressService licenceOrderProgressService;
@Override
public ServiceResponse<LicenceOrderDTO> getLicenceOrderDetail(Long orderId) {
return null;
TabHaobanLicenceOrder licenceOrderDetail = licenceOrderService.getLicenceOrderDetail(orderId);
if (licenceOrderDetail != null){
//查询订单进度表
LicenceOrderDTO licenceOrderDTO = JSONObject.parseObject(JSONObject.toJSONString(licenceOrderDetail), LicenceOrderDTO.class);
List<TabHaobanLicenceOrderProgress> list = licenceOrderProgressService.getListByOrderId(orderId);
licenceOrderDTO.setOrderProgressList(EntityUtil.changeEntityListByJSON(LicenceOrderProgressDTO.class, list));
return ServiceResponse.success(licenceOrderDTO);
}
return ServiceResponse.success();
}
@Override
@Transactional(rollbackFor = RuntimeException.class)
public ServiceResponse<Boolean> deleteLicenceOrder(Long orderId) {
return null;
licenceOrderService.deleteLicenceOrder(orderId);
licenceOrderProgressService.deleteByOrderId(orderId);
return ServiceResponse.success(true);
}
@Override
public ServiceResponse<Boolean> saveOrUpdateLicenceOrder(LicenceOrderQDTO licenceOrderQDTO) {
return null;
if (licenceOrderQDTO.getOrderId()==null){
//目前只有新增
licenceOrderService.saveOrUpdateLicenceOrder(licenceOrderQDTO);
}
return ServiceResponse.success(true);
}
@Override
......@@ -38,4 +70,16 @@ public class LicenceOrderApiServiceImpl implements LicenceOrderApiService {
public ServiceResponse<Boolean> cancelLicenceOrder(Long orderId, Integer type) {
return null;
}
@Override
public ServiceResponse<Boolean> uploadLicenceOrderVoucher(Long orderId, String voucher) {
return null;
}
@Override
public ServiceResponse<Boolean> payLicenceOrder(Long orderId) {
return null;
}
}
......@@ -30,8 +30,8 @@
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.licence.TabHaobanLicenceOrderProgress" useGeneratedKeys="true" keyProperty="id">
<![CDATA[
INSERT INTO tab_haoban_licence_order_progress(
id,
enterprise_id,
wx_enterprise_id,
order_id,
......@@ -44,6 +44,7 @@
update_time,
creator_name
)VALUES(
#{id,jdbcType=BIGINT},
#{enterpriseId,jdbcType=VARCHAR},
#{wxEnterpriseId,jdbcType=VARCHAR},
#{orderId,jdbcType=BIGINT},
......@@ -56,7 +57,6 @@
now(),
#{creatorName,jdbcType=VARCHAR}
)
]]>
</insert>
<!-- =====================删除==================== -->
......@@ -87,4 +87,14 @@
<select id="selectById" parameterType="long" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" /> FROM tab_haoban_licence_order_progress WHERE id = #{id} and delete_flag=0
</select>
<select id="getListByOrderId" parameterType="long" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" /> FROM tab_haoban_licence_order_progress WHERE order_id = #{orderId} and delete_flag=0 order by create_time asc
</select>
<update id="deleteByOrderId" parameterType="long">
UPDATE tab_haoban_licence_order_progress SET delete_flag = 1 WHERE order_id = #{orderId}
</update>
</mapper>
\ No newline at end of file
package com.gic.haoban.manage.web.controller.licence;
import cn.hutool.core.convert.Convert;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.dto.licence.LicenceOrderDTO;
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.licence.LicenceOrderApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.licence.LicenceOrderPageQO;
import com.gic.haoban.manage.web.qo.licence.LicenceOrderQO;
import com.gic.haoban.manage.web.vo.licence.LicenceOrderPageVO;
import com.gic.haoban.manage.web.vo.licence.LicenceOrderVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -17,10 +29,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* 企业微信许可账号购买
* @author jx
* @since 2023-03-09
*/
......@@ -38,61 +47,92 @@ public class LicenceOrderController {
*/
@RequestMapping("licence-order-detail")
public RestResponse<LicenceOrderVO> getLicenceOrderDetail(@RequestParam Long orderId) {
return null;
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
ServiceResponse<LicenceOrderDTO> licenceOrderDetail = licenceOrderApiService.getLicenceOrderDetail(orderId);
LicenceOrderVO licenceOrderVO = JSONObject.parseObject(JSONObject.toJSONString(licenceOrderDetail.getResult()), LicenceOrderVO.class);
return RestResponse.successResult(licenceOrderVO);
}
/**
* 删除订单
*/
@RequestMapping("licence-order-delete")
public RestResponse<Boolean> deleteLicenceOrder(@RequestParam Long orderId) {
return null;
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
ServiceResponse<Boolean> booleanServiceResponse = licenceOrderApiService.deleteLicenceOrder(orderId);
return RestResponse.successResult(booleanServiceResponse.getResult());
}
/**
* 新增或者修改订单
*/
@RequestMapping("licence-order-saveOrUpdate")
public RestResponse<Boolean> saveOrUpdateLicenceOrder(@RequestBody LicenceOrderQO licenceOrderQO) {
return null;
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
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());
Boolean result = licenceOrderApiService.saveOrUpdateLicenceOrder(licenceOrderQDTO).getResult();
return RestResponse.successResult(result);
}
/**
* 分页查询订单列表
*/
@RequestMapping("licence-order-page")
public RestResponse<Page<LicenceOrderPageVO>> getLicenceOrderPage(@RequestBody LicenceOrderPageQO licenceOrderPageQO) {
return null;
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
LicenceOrderPageQDTO qdto = JSONObject.parseObject(JSONObject.toJSONString(licenceOrderPageQO), LicenceOrderPageQDTO.class);
ServiceResponse<Page<LicenceOrderPageDTO>> licenceOrderPage = licenceOrderApiService.getLicenceOrderPage(qdto);
Page<LicenceOrderPageVO> result = PageHelperUtils.changePageToCurrentPage(licenceOrderPage.getResult(), LicenceOrderPageVO.class);
return RestResponse.successResult(result);
}
/**
* 取消订单/订单已经过期
*/
@RequestMapping("licence-order-cancel")
public RestResponse<Boolean> cancelLicenceOrder(@RequestParam Long orderId,Integer type) {
return null;
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
Boolean result = licenceOrderApiService.cancelLicenceOrder(orderId, type).getResult();
return RestResponse.successResult(result);
}
/**
* 订单凭证上传
*/
@RequestMapping("licence-order-voucher-upload")
public RestResponse<Boolean> uploadLicenceOrderVoucher(@RequestParam Long orderId,String voucher) {
return null;
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
Boolean result = licenceOrderApiService.uploadLicenceOrderVoucher(orderId, voucher).getResult();
return RestResponse.successResult(result);
}
/**
* 支付订单
*/
@RequestMapping("licence-order-pay")
public RestResponse<Boolean> payLicenceOrder(@RequestParam Long orderId) {
return null;
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser == null || StringUtils.isBlank(loginUser.getEnterpriseId())){
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_4.getCode()),HaoBanErrCode.ERR_4.getMsg());
}
Boolean result = licenceOrderApiService.payLicenceOrder(orderId).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