Преглед на файлове

1.销售后台制单 2.销售后台制单状态控制

wjj преди 11 часа
родител
ревизия
9d22c40a3f

+ 38 - 0
fs-company/src/main/java/com/fs/company/controller/company/CompanyUserController.java

@@ -92,6 +92,9 @@ public class CompanyUserController extends BaseController
     @Autowired
     IQwCompanyService iQwCompanyService;
 
+    @Autowired
+    private ICompanyUserRoleService companyUserRoleService;
+
     private static final String appLink = "https://jump.ylrztop.com/jumpapp/pages/index/index?link=";
 
     /**
@@ -390,6 +393,23 @@ public class CompanyUserController extends BaseController
         return toAjax(companyUserService.updateCompanyUser(user));
     }
 
+    /**
+     * 状态修改
+     */
+    @PreAuthorize("@ss.hasPermi('company:user:edit')")
+    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
+    @PutMapping("/changeCreateStatus")
+    public AjaxResult changeCreateStatus(@RequestBody CompanyUser user)
+    {
+        //管理员的状态不能修改
+        CompanyUser companyUser=companyUserService.selectCompanyUserById(user.getUserId());
+        if(companyUser.isAdmin()){
+            return AjaxResult.error("不能修改管理员状态");
+        }
+        user.setUpdateBy(SecurityUtils.getUsername());
+        return toAjax(companyUserService.updateCompanyUser(user));
+    }
+
 
     /**
      * 获取通讯录
@@ -652,4 +672,22 @@ public class CompanyUserController extends BaseController
         OpenImResponseDTO openImResponseDTO = openIMService.importFriend(ownerUserID, friendUserIDs);
         return R.ok().put("data",openImResponseDTO);
     }
+
+
+    //获取销售制单状态 0-关闭 1-开启
+    @GetMapping("/getCreateOpen")
+    public R getCreateOpen(){
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        int createOpen = 0;
+        Long admin = companyUserRoleService.isAdmin(loginUser.getUser().getUserId());
+        if (admin!=null){
+            createOpen = 1;
+        } else {
+            CompanyUser companyUser = companyUserService.selectCompanyUserById(loginUser.getUser().getUserId());
+            if (companyUser.getCreateOpen()!=null){
+                createOpen = companyUser.getCreateOpen();
+            }
+        }
+        return R.ok().put("data",createOpen);
+    }
 }

+ 1 - 1
fs-company/src/main/java/com/fs/company/controller/store/FsPackageOrderController.java

@@ -182,7 +182,7 @@ public class FsPackageOrderController extends BaseController
     /**
      * 新增套餐订单
      */
-    @PreAuthorize("@ss.hasPermi('store:packageOrder:add')")
+    //@PreAuthorize("@ss.hasPermi('store:packageOrder:add')")
     @Log(title = "套餐订单", businessType = BusinessType.INSERT)
     @PostMapping
     public R add(@RequestBody FsPackageOrderAddParam fsPackageOrder)

+ 2 - 0
fs-service/src/main/java/com/fs/company/domain/CompanyUser.java

@@ -87,6 +87,8 @@ public class CompanyUser extends BaseEntity
     private String qwUserId;
     private Integer qwStatus;
 
+    private Integer createOpen;
+
     /** 医生id */
     private Long doctorId;
 

+ 2 - 0
fs-service/src/main/java/com/fs/company/service/ICompanyUserRoleService.java

@@ -61,4 +61,6 @@ public interface ICompanyUserRoleService
     public int deleteCompanyUserRoleById(Long userId);
 
     void batchInsertCompanyUserRole(List<CompanyUserRole> collect);
+
+    Long isAdmin(Long userId);
 }

+ 5 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyUserRoleServiceImpl.java

@@ -97,4 +97,9 @@ public class CompanyUserRoleServiceImpl implements ICompanyUserRoleService
     public void batchInsertCompanyUserRole(List<CompanyUserRole> collect) {
         companyUserRoleMapper.batchUserRole(collect);
     }
+
+    @Override
+    public Long isAdmin(Long userId) {
+        return companyUserRoleMapper.companyUserIsAdmin(userId);
+    }
 }

+ 2 - 0
fs-service/src/main/java/com/fs/company/vo/CompanyUserQwListVO.java

@@ -134,4 +134,6 @@ public class CompanyUserQwListVO extends BaseEntity {
     /** 医生id */
     private Long doctorId;
 
+    private Integer createOpen;
+
 }

+ 3 - 2
fs-service/src/main/java/com/fs/his/param/FsPackageOrderComputeParam.java

@@ -14,8 +14,9 @@ public class FsPackageOrderComputeParam implements Serializable {
     Integer type=1;
     Long companyId;
     Long companyUserId;
-    private String createPackageOrderKey;
-    String orderCode;
+    private String createPackageOrderKey;//疗法制单
+    String orderCode;//信息采集制单
+    Integer salesType;//销售后台制单
 
 
 }

+ 23 - 2
fs-service/src/main/java/com/fs/his/service/impl/FsPackageOrderServiceImpl.java

@@ -184,6 +184,9 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
 
     @Autowired
     private IFsAmountsShareMerchantService amountsShareMerchantService;
+
+    @Autowired
+    private IFsDoctorService iFsDoctorService;
     /**
      * 查询套餐订单
      *
@@ -472,6 +475,9 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
                             throw new CustomException("代收金额为空", 501);
                         }
                         payMoney = collection.getAmount();
+                    } else if (param.getSalesType() != null) {
+                        //销售后台制单
+                        payMoney = BigDecimal.ZERO;
                     }
 
                 } else {
@@ -1870,8 +1876,10 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
     }
 
     @Override
+    @Transactional
     public R addPackageOrder(FsPackageOrderAddParam param) {
         FsPatient patient=null;
+        Long doctorId = null;
         if(param.getPatientId()!=null){
             patient=fsPatientMapper.selectFsPatientByPatientId(param.getPatientId());
         }else {
@@ -1911,6 +1919,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
         order.setPayPrice(fsPackage.getTotalPrice());
         order.setPayMoney(fsPackage.getTotalPrice());
         order.setIsPay(0);
+        order.setSource(4);
         order.setPackageSecondName(fsPackage.getSecondName());
         order.setDoctorRemark(fsPackage.getDoctorRemark());
         order.setFollowTempId(fsPackage.getFollowTempId());
@@ -1931,8 +1940,18 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
             CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getCompanyUserId());
             if (companyUser!=null){
                 order.setDeptId(companyUser.getDeptId());
+                //获取销售绑定医生
+                if (companyUser.getDoctorId() != null) {
+                   FsDoctor doctor = doctorMapper.selectFsDoctorByDoctorId(companyUser.getDoctorId());
+                   if (doctor != null) {
+                       doctorId = doctor.getDoctorId();
+                   }
+                } else {
+                    doctorId = iFsDoctorService.selectFsDoctorDoctorByPackage();
+                }
             }
         }
+        order.setDoctorId(doctorId);
         order.setCompanyId(param.getCompanyId());
         Calendar c = Calendar.getInstance();
         c.setTime(order.getStartTime());
@@ -1967,6 +1986,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
         computeParam.setCompanyUserId(param.getCompanyUserId());
         computeParam.setCompanyId(param.getCompanyId());
         computeParam.setPayType(param.getPayType());
+        computeParam.setSalesType(1);
         if(order.getStoreId() != null){
             computeParam.setStoreId(order.getStoreId());
         }
@@ -1980,8 +2000,9 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
         order.setPayType(param.getPayType());
 
         if(fsPackageOrderMapper.insertFsPackageOrder(order)>0){
-            String redisKey = String.valueOf(StrUtil.format("{}{}", FsConstants.REDIS_PACKAGE_ORDER_UNPAY, order.getOrderId()));
-            redisCache.setCacheObject(redisKey,order.getOrderId(),30, TimeUnit.MINUTES);
+            this.payConfirm(order.getOrderSn(),"","","",2,null,null);
+            //String redisKey = String.valueOf(StrUtil.format("{}{}", FsConstants.REDIS_PACKAGE_ORDER_UNPAY, order.getOrderId()));
+            //redisCache.setCacheObject(redisKey,order.getOrderId(),30, TimeUnit.MINUTES);
             return R.ok().put("order",order);
         }
         else{

+ 3 - 1
fs-service/src/main/resources/mapper/company/CompanyUserMapper.xml

@@ -44,6 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="isAllowedAllRegister"    column="is_allowed_all_register"    />
         <result property="isAllowedEveryoneView"    column="is_allowed_everyone_view"    />
         <result property="doctorId"    column="doctor_id"    />
+        <result property="createOpen"    column="create_open"    />
         <association property="dept"    column="dept_id" javaType="CompanyDept" resultMap="deptResult" />
         <collection  property="roles"   javaType="java.util.List"        resultMap="RoleResult" />
     </resultMap>
@@ -220,6 +221,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="domain != null">domain = #{domain},</if>
             <if test="isAudit != null">`is_audit` = #{isAudit},</if>
             <if test="doctorId != null">`doctor_id` = #{doctorId},</if>
+            <if test="createOpen != null">`create_open` = #{createOpen},</if>
         </trim>
         where user_id = #{userId}
     </update>
@@ -310,7 +312,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select u.user_id,u.company_id,u.qw_user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time,u.id_card, u.remark,u.user_type,u.open_id,u.qr_code_weixin,u.qr_code_wecom,u.jpush_id,u.domain,u.is_audit,u.address_id,
                d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
                r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,
-               u.is_need_register_member, u.is_allowed_all_register,u.doctor_id,u.is_allowed_everyone_view
+               u.is_need_register_member, u.is_allowed_all_register,u.doctor_id,u.is_allowed_everyone_view,u.create_open
         from company_user u
                  left join company_dept d on u.dept_id = d.dept_id
                  left join company_user_role ur on u.user_id = ur.user_id