forked from kidgrow-microservices-platform

zhaoxiaohao
2021-04-22 d6c989a5d9122e5cf969dd640a92b8e12caf8aa6
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderServiceImpl.java
@@ -56,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();
@@ -104,10 +104,10 @@
     */
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public boolean saveProductDetail(Map<String,Object> params)
    public boolean saveProductDetail(Map<String,Object> params,SysUser sysUser)
    {
        //指定套餐数据
        SysProduct sysProduct=sysProductService.getById(CommonConstant.REG_USER_PRODUCT_ID);
        SysProduct sysProduct=sysProductService.getById(Long.valueOf(params.get("proId").toString()));
        if (sysProduct != null) {
            //订单合同数据
            ProductOrder productOrder=new ProductOrder();
@@ -118,9 +118,9 @@
            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.setHospitalId(Long.valueOf(params.get("hospitalId").toString()));
            productOrder.setHospitalName(params.get("hospitalName").toString());
            productOrder.setDepartmentId(Long.valueOf(params.get("hospitalId").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);
@@ -150,6 +150,9 @@
                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)
                {
                    //充值记录
@@ -159,6 +162,7 @@
                    productOrderRecord.setAilightCount(sysProduct.getAilightCount());
                    productOrderRecord.setRecordCount(sysProduct.getRecordCount());
                    productOrderRecord.setProBegintime(new Date());
                    productOrderRecord.setIsShare(false);
                    //0 天 1 月 2 年
                    switch(sysProduct.getProTimeUnit())
                    {
@@ -177,6 +181,8 @@
                    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());
@@ -195,4 +201,21 @@
        }
        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);
        }
    }
}