From 73d5561cbf2bea50acc22f91050fcc3557d49de4 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Mon, 17 Aug 2020 09:58:10 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderServiceImpl.java | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 158 insertions(+), 9 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 56657e2..0b93508 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 @@ -1,18 +1,33 @@ package com.kidgrow.oprationcenter.service.impl; -import org.springframework.stereotype.Service; -import com.kidgrow.common.model.PageResult; 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; import java.util.Map; -import org.apache.commons.collections4.MapUtils; -import lombok.extern.slf4j.Slf4j; - -import com.kidgrow.oprationcenter.model.ProductOrder; -import com.kidgrow.oprationcenter.mapper.ProductOrderMapper; -import com.kidgrow.oprationcenter.service.IProductOrderService; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> @@ -25,14 +40,24 @@ @Slf4j @Service 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 * @return */ @Override - public PageResult<ProductOrder> findList(Map<String, Object> params){ + 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()); + params.putAll(roleOrgMap); List<ProductOrder> list = baseMapper.findList(page, params); return PageResult.<ProductOrder>builder().data(list).code(0).count(page.getTotal()).build(); } @@ -46,4 +71,128 @@ public ProductOrder findByObject(ProductOrder productOrder){ return baseMapper.findByObject(productOrder); } + + /** + * 修改数据状态 启用 禁用 + * @param params + * @return + */ + @Override + public ResultBody updateEnabled(Map<String, Object> params) { + Long id = MapUtils.getLong(params, "id"); + Boolean enabled = MapUtils.getBoolean(params, "enabled"); + + ProductOrder productOrder = baseMapper.selectById(id); + if (productOrder == null) { + return ResultBody.failed("该数据不存在!"); + } + productOrder.setEnabled(enabled); + productOrder.setUpdateTime(new Date()); + int i = baseMapper.updateById(productOrder); + return i > 0 ? ResultBody.ok().data(productOrder).msg("更新成功") : ResultBody.failed("更新失败"); + } + + @Override + public int delProductDetail(Long orderId) { + return baseMapper.delProductDetail(orderId); + } + + /** + * 用户充值(创建订单,增加充值记录,冲套餐) + * @param params + * @return + */ + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean saveProductDetail(Map<String,Object> params) + { + //指定套餐数据 + SysProduct sysProduct=sysProductService.getById(CommonConstant.REG_USER_PRODUCT_ID); + 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("departmentId").toString())); + productOrder.setHospitalName(params.get("hospitalName").toString()); + productOrder.setDepartmentId(Long.valueOf(params.get("hospitalId").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()); + 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()); + //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()); + if(productOrderRecordMapper.insert(productOrderRecord)<1) + { + baseMapper.deleteById(productOrder.getId()); + productOrderDetailMapper.deleteById(productOrderDetail.getId()); + } + else + { + return true; + } + } + else + { + baseMapper.deleteById(productOrder.getId()); + } + } + } + return false; + } } -- Gitblit v1.8.0