From 00788a1299d764b48e57fd457a2656f0bf3474b0 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <279049017@qq.com> Date: Tue, 17 Nov 2020 11:28:47 +0800 Subject: [PATCH] 修改 为https 后兼容以前的http 数据 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderServiceImpl.java | 140 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 139 insertions(+), 1 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderServiceImpl.java index 44cae85..06ecc84 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderServiceImpl.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderServiceImpl.java @@ -2,18 +2,28 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.annotation.LoginUser; +import com.kidgrow.common.constant.CommonConstant; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysUser; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.common.utils.DateUtil; +import com.kidgrow.common.utils.RandomValueUtils; import com.kidgrow.oprationcenter.feign.RoleOrganizationService; +import com.kidgrow.oprationcenter.mapper.ProductOrderDetailMapper; import com.kidgrow.oprationcenter.mapper.ProductOrderMapper; +import com.kidgrow.oprationcenter.mapper.ProductOrderRecordMapper; import com.kidgrow.oprationcenter.model.ProductOrder; +import com.kidgrow.oprationcenter.model.ProductOrderDetail; +import com.kidgrow.oprationcenter.model.ProductOrderRecord; +import com.kidgrow.oprationcenter.model.SysProduct; import com.kidgrow.oprationcenter.service.IProductOrderService; +import com.kidgrow.oprationcenter.service.ISysProductService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -32,6 +42,12 @@ public class ProductOrderServiceImpl extends SuperServiceImpl<ProductOrderMapper, ProductOrder> implements IProductOrderService { @Autowired private RoleOrganizationService roleOrganizationService; + @Autowired + private ISysProductService sysProductService; + @Autowired + private ProductOrderDetailMapper productOrderDetailMapper; + @Autowired + private ProductOrderRecordMapper productOrderRecordMapper; /** * 列表 * @param params @@ -40,7 +56,7 @@ @Override public PageResult<ProductOrder> findList(Map<String, Object> params,@LoginUser SysUser sysUser){ Page<ProductOrder> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); - Map<String, Object> roleOrgMap = roleOrganizationService.getRoleOrgMap(sysUser.getRoles()); + Map<String, Object> roleOrgMap = roleOrganizationService.getRoleOrgMap(sysUser); params.putAll(roleOrgMap); List<ProductOrder> list = baseMapper.findList(page, params); return PageResult.<ProductOrder>builder().data(list).code(0).count(page.getTotal()).build(); @@ -80,4 +96,126 @@ public int delProductDetail(Long orderId) { return baseMapper.delProductDetail(orderId); } + + /** + * 用户充值(创建订单,增加充值记录,冲套餐) + * @param params + * @return + */ + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean saveProductDetail(Map<String,Object> params,SysUser sysUser) + { + //指定套餐数据 + SysProduct sysProduct=sysProductService.getById(Long.valueOf(params.get("proId").toString())); + if (sysProduct != null) { + //订单合同数据 + ProductOrder productOrder=new ProductOrder(); + productOrder.setIsDel(false); + productOrder.setEnabled(true); + productOrder.setContractBeginTime(new Date()); + productOrder.setContractEndTime(DateUtil.addDays(new Date(), CommonConstant.REG_USER_CONTRACT_DAY)); + productOrder.setContractTime(new Date()); + productOrder.setContractNo(RandomValueUtils.getRandom(10)); + productOrder.setContractTitle(CommonConstant.REG_USER_CONTRACT_NAME); + productOrder.setHospitalId(Long.valueOf(params.get("hospitalId").toString())); + productOrder.setHospitalName(params.get("hospitalName").toString()); + productOrder.setDepartmentId(Long.valueOf(params.get("departmentId").toString())); + productOrder.setDepartmentName(params.get("departmentName").toString()); + productOrder.setCreateUserId(CommonConstant.CREATE_USER_ID); + productOrder.setCreateUserName(CommonConstant.CREATE_USER_NAME); + if (baseMapper.insert(productOrder)==1) { + //套餐数据 + ProductOrderDetail productOrderDetail=new ProductOrderDetail(); + productOrderDetail.setEnabled(true); + productOrderDetail.setIsDel(false); + productOrderDetail.setAilightCount(sysProduct.getAilightCount()); + productOrderDetail.setRecordCount(sysProduct.getRecordCount()); + productOrderDetail.setProBegintime(new Date()); + //0 天 1 月 2 年 + switch(sysProduct.getProTimeUnit()) + { + case 0: + default: + productOrderDetail.setProEndtime(DateUtil.addDays(new Date(),sysProduct.getProTime())); + break; + case 1: + productOrderDetail.setProEndtime(DateUtil.addMonths(new Date(),sysProduct.getProTime())); + break; + case 2: + productOrderDetail.setProEndtime(DateUtil.addYears(new Date(),sysProduct.getProTime())); + break; + } + productOrderDetail.setProId(sysProduct.getId()); + productOrderDetail.setProName(sysProduct.getProName()); + productOrderDetail.setOrderId(productOrder.getId()); + productOrderDetail.setProType(sysProduct.getProType()); + productOrderDetail.setCreateUserId(CommonConstant.CREATE_USER_ID); + productOrderDetail.setCreateUserName(CommonConstant.CREATE_USER_NAME); + productOrderDetail.setIsShare(false); + if(productOrderDetailMapper.insert(productOrderDetail)==1) + { + //充值记录 + ProductOrderRecord productOrderRecord=new ProductOrderRecord(); + productOrderRecord.setEnabled(true); + productOrderRecord.setIsDel(false); + productOrderRecord.setAilightCount(sysProduct.getAilightCount()); + productOrderRecord.setRecordCount(sysProduct.getRecordCount()); + productOrderRecord.setProBegintime(new Date()); + productOrderRecord.setIsShare(false); + //0 天 1 月 2 年 + switch(sysProduct.getProTimeUnit()) + { + case 0: + default: + productOrderRecord.setProEndtime(DateUtil.addDays(new Date(),sysProduct.getProTime())); + break; + case 1: + productOrderRecord.setProEndtime(DateUtil.addMonths(new Date(),sysProduct.getProTime())); + break; + case 2: + productOrderRecord.setProEndtime(DateUtil.addYears(new Date(),sysProduct.getProTime())); + break; + } + productOrderRecord.setProId(sysProduct.getId()); + productOrderRecord.setProName(sysProduct.getProName()); + productOrderRecord.setOrderId(productOrder.getId()); + productOrderRecord.setProType(sysProduct.getProType()); + productOrderRecord.setCreateUserId(CommonConstant.CREATE_USER_ID); + productOrderRecord.setCreateUserName(CommonConstant.CREATE_USER_NAME); + if(productOrderRecordMapper.insert(productOrderRecord)<1) + { + baseMapper.deleteById(productOrder.getId()); + productOrderDetailMapper.deleteById(productOrderDetail.getId()); + } + else + { + return true; + } + } + else + { + baseMapper.deleteById(productOrder.getId()); + } + } + } + return false; + } + + /** + * 获取用户套餐的使用状态(正式 和 试用) + * 只要要有一个充值的套餐为 为正式套餐,则为正式用户; + * 只要有一个充值的套餐为 分享状态,则该医院的医生为正式用户 + * @param productOrder + * @return + */ + @Override + public ResultBody getStatus(ProductOrder productOrder) { + int status = baseMapper.getStatus(productOrder); + if (status>0) { + return ResultBody.ok().data(true); + }else { + return ResultBody.ok().data(false); + } + } } -- Gitblit v1.8.0