he2802 1 년 전
부모
커밋
aea680f1f3

+ 4 - 15
zhongzheng-api/src/main/java/com/zhongzheng/controller/order/OrderHandleController.java

@@ -68,18 +68,7 @@ public class OrderHandleController extends BaseController {
         return getDataTable(list);
     }
 
-    /**
-     * 导出经办录单列表
-     */
-    @ApiOperation("导出经办录单列表")
-    @PreAuthorize("@ss.hasPermi('system:handle:export')")
-    @Log(title = "经办录单", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult<OrderHandleVo> export(OrderHandleQueryBo bo) {
-        List<OrderHandleVo> list = iOrderHandleService.queryList(bo);
-        ExcelUtil<OrderHandleVo> util = new ExcelUtil<OrderHandleVo>(OrderHandleVo.class);
-        return util.exportExcel(list, "经办录单");
-    }
+
 
     /**
      * 新增经办录单
@@ -91,7 +80,7 @@ public class OrderHandleController extends BaseController {
     public AjaxResult<String> add(@RequestBody OrderHandleAddBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setCreateUserId(loginUser.getUser().getUserId());
-        return AjaxResult.success("录单单号",iOrderHandleService.insertByAddBo(bo));
+        return AjaxResult.success("录单单号",iOrderHandleService.submitOrder(bo));
     }
 
     /**
@@ -108,11 +97,11 @@ public class OrderHandleController extends BaseController {
     /**
      * 新增订单
      */
-    @ApiOperation("新增经办人子录单")
+   /* @ApiOperation("新增经办人子录单")
     @PreAuthorize("@ss.hasPermi('system:order:add')")
     @Log(title = "新增经办人子录单", businessType = BusinessType.INSERT)
     @PostMapping("/inputOrder")
     public AjaxResult addInputOrder(@RequestBody OrderAddBo bo) {
         return AjaxResult.success(iOrderService.placePlatHandleOrder(bo));
-    }
+    }*/
 }

+ 63 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -951,6 +951,69 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         return resultMap;
     }
 
+    @Override
+    public Long importUser(UserImportAddBo itemImport, String importNo) {
+        if(Validator.isEmpty(itemImport.getTelphone())||itemImport.getTelphone().length()!=11){
+            throw new CustomException("手机号不能为空或者格式不对");
+        }
+        if(Validator.isEmpty(itemImport.getIdCard())){
+            throw new CustomException("身份证不能为空");
+        }
+        if(Validator.isEmpty(itemImport.getRealname())){
+            throw new CustomException("真实姓名不能为空");
+        }
+        User user = getOne(new LambdaQueryWrapper<User>()
+                .eq(User::getIdCard,EncryptHandler.encrypt(itemImport.getIdCard())).last("limit 1"));
+        if(Validator.isNotNull(user)){
+            return user.getUserId();
+        }else{
+            User user2 = getOne(new LambdaQueryWrapper<User>()
+                    .eq(User::getTelphone,EncryptHandler.encrypt(itemImport.getTelphone())).last("limit 1"));
+            if(Validator.isNotEmpty(user2)){
+                throw new CustomException(itemImport.getRealname()+itemImport.getTelphone()+"号码已存在,创建失败");
+            }
+        }
+        User inertData = new User();
+        inertData.setTelphone(itemImport.getTelphone());
+        //隐藏手机号作为初始昵称
+        inertData.setNickname(TelPhoneUtils.hideTelPhone(itemImport.getTelphone()));
+        //雪花算法产生账号ID
+        SnowflakeIdUtils idWorker = new SnowflakeIdUtils(3, 1);
+        inertData.setUserAccount(String.valueOf(idWorker.nextId()));
+        inertData.setSex(1);
+        if(Validator.isNotEmpty(itemImport.getSex())){
+            inertData.setSex(itemImport.getSex().equals("女")?2:1);
+        }
+        if(Validator.isNotEmpty(itemImport.getEduLevel())){
+            inertData.setEduLevel(itemImport.getEduLevel());
+        }
+        inertData.setIdCard(itemImport.getIdCard());
+        inertData.setRealname(itemImport.getRealname());
+        if (StringUtils.isNotBlank(itemImport.getCompanyName())) {
+            inertData.setCompanyName(itemImport.getCompanyName());
+        }
+        inertData.setEduLevel(itemImport.getEduLevel());
+        inertData.setCompanyName(itemImport.getCompanyName());
+        inertData.setStatus(1);
+        inertData.setRegisterPlat("5");
+        inertData.setAvatar(Constants.DEFAULT_AVATAR);
+        inertData.setLastLoginIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
+        inertData.setLastLoginTime(DateUtils.getNowTime());
+        inertData.setCreateTime(DateUtils.getNowTime());
+        inertData.setUpdateTime(DateUtils.getNowTime());
+//            String pwd =  ToolsUtils.getSmsCode(); // 随机密码
+//            inertData.setPassword(SecurityUtils.encryptPassword(pwd));
+        //初始密码(身份证后6位)
+        String idCard = itemImport.getIdCard();
+        String pwd =  idCard.substring(idCard.length() - 6); // 随机密码
+        inertData.setPassword(SecurityUtils.encryptPassword(pwd));
+        inertData.setImportNo(importNo); //设置导入编号 一个导入页面同时导入多次算一个编号
+        if(!save(inertData)){
+            throw new CustomException("注册失败");
+        }
+        return inertData.getUserId();
+    }
+
     @Override
     public Boolean updatePwd(UserAppUpdatePwdBo bo) {
         LambdaQueryWrapper<User> queryWrapper =new LambdaQueryWrapper<User>();

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderHandleAddBo.java

@@ -7,7 +7,7 @@ import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -69,4 +69,5 @@ public class OrderHandleAddBo {
     @ApiModelProperty("支付价格(成交价)")
     private BigDecimal payPrice;
 
+    private List<OrderHandleItemAddBo> userGoodsList;
 }

+ 27 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderHandleItemAddBo.java

@@ -0,0 +1,27 @@
+package com.zhongzheng.modules.order.bo;
+
+import com.zhongzheng.modules.user.bo.UserImportAddBo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+ * 经办录单添加对象 order_handle
+ *
+ * @author hjl
+ * @date 2024-01-19
+ */
+@Data
+@ApiModel("经办录单添加对象")
+public class OrderHandleItemAddBo {
+
+   private UserImportAddBo user;
+
+   private List<OrderGoodsAddBo> goodsList;
+
+
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderHandleService.java

@@ -42,6 +42,8 @@ public interface IOrderHandleService extends IService<OrderHandle> {
 	 */
 	String insertByAddBo(OrderHandleAddBo bo);
 
+	String submitOrder(OrderHandleAddBo bo);
+
 	/**
 	 * 根据编辑业务对象修改经办录单
 	 * @param bo 经办录单编辑业务对象

+ 37 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderHandleServiceImpl.java

@@ -5,19 +5,22 @@ import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
-import com.zhongzheng.modules.order.bo.OrderHandleAddBo;
-import com.zhongzheng.modules.order.bo.OrderHandleEditBo;
-import com.zhongzheng.modules.order.bo.OrderHandleQueryBo;
+import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.modules.order.bo.*;
 import com.zhongzheng.modules.order.domain.OrderHandle;
 import com.zhongzheng.modules.order.domain.OrderInput;
 import com.zhongzheng.modules.order.mapper.OrderHandleMapper;
 import com.zhongzheng.modules.order.service.IOrderHandleService;
+import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.vo.OrderHandleVo;
+import com.zhongzheng.modules.user.service.IUserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -33,6 +36,13 @@ import java.util.stream.Collectors;
 @Service
 public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, OrderHandle> implements IOrderHandleService {
 
+    @Autowired
+    private IUserService iUserService;
+
+
+    @Autowired
+    private IOrderService iOrderService;
+
     @Override
     public OrderHandleVo queryById(Long id){
         OrderHandle db = this.baseMapper.selectById(id);
@@ -104,6 +114,30 @@ public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, Order
         return null;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String submitOrder(OrderHandleAddBo bo) {
+        String handleOrderSn = insertByAddBo(bo);
+        String importNo = ServletUtils.getEncoded("IMPORT");
+        for(OrderHandleItemAddBo itemAddBo : bo.getUserGoodsList()){
+            if(Validator.isEmpty(itemAddBo.getUser().getUserId())){
+                if(Validator.isEmpty(itemAddBo.getUser().getEduLevel())||Validator.isEmpty(itemAddBo.getUser().getCompanyName())||Validator.isEmpty(itemAddBo.getUser().getSex())){
+                    throw new CustomException("用户参数缺失");
+                }
+                Long userId = iUserService.importUser(itemAddBo.getUser(),importNo);
+                itemAddBo.getUser().setUserId(userId);
+            }
+        }
+        for(OrderHandleItemAddBo itemAddBo : bo.getUserGoodsList()){
+            OrderAddBo addBo = new OrderAddBo();
+            addBo.setUserId(itemAddBo.getUser().getUserId());
+            addBo.setGoodsList(itemAddBo.getGoodsList());
+            addBo.setHandleOrderSn(handleOrderSn);
+            iOrderService.placePlatHandleOrder(addBo);
+        }
+        return handleOrderSn;
+    }
+
     @Override
     public Boolean updateByEditBo(OrderHandleEditBo bo) {
         OrderHandle update = BeanUtil.toBean(bo, OrderHandle.class);

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserService.java

@@ -111,6 +111,8 @@ public interface IUserService extends IService<User> {
 
 	Map<String, Object> importUser(List<UserImportAddBo> list, String importNo);
 
+	Long importUser(UserImportAddBo addBo, String importNo);
+
 	Boolean updatePwd(UserAppUpdatePwdBo bo);
 
 	Boolean updatePwdByClient(UserAppUpdatePwdBo bo);