无关风月
2024-12-27 72c53b692495a45ea01f427f3adadcebe779f38f
验光师
11个文件已修改
110 ■■■■■ 已修改文件
manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/model/TOrder.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/model/TOrderGoods.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
optometrist/src/main/java/com/jilongda/optometrist/authority/controller/LoginController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
optometrist/src/main/java/com/jilongda/optometrist/model/TOptometry.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
optometrist/src/main/java/com/jilongda/optometrist/model/TOptometryDetail.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
optometrist/src/main/java/com/jilongda/optometrist/utils/LoginInfoUtil.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
optometrist/src/main/java/com/jilongda/optometrist/vo/TOptometryDetailVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
optometrist/src/main/resources/mapping/TOptometristMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java
@@ -42,6 +42,8 @@
    private TOptometryDetailService optometryDetailService;
    @Autowired
    private TOrderGoodsService orderGoodsService;
    @Autowired
    private SecFeeItemsService feeItemsService;
    @ApiOperation(value = "核算订单分页列表")
    @PostMapping(value = "/pageList")
    public ApiResult<PageInfo<TOrderVO>> pageList(@RequestBody TOrderAccountingQuery query) {
@@ -73,24 +75,34 @@
        res.setOptometryDetails(list);
        List<TOrderGoods> orderGoods = orderGoodsService.lambdaQuery()
                .eq(TOrderGoods::getOrderId, id).list();
        BigDecimal bigDecimal = new BigDecimal("0");
        BigDecimal goodsMoney = new BigDecimal("0");
        BigDecimal costMoney = new BigDecimal("0");
        BigDecimal constConfirm = new BigDecimal("0");
        if (one!=null){
        }
        for (TOrderGoods orderGood : orderGoods) {
            bigDecimal =bigDecimal.add(orderGood.getGoodsMoney());
            goodsMoney =goodsMoney.add(orderGood.getGoodsMoney());
            costMoney=costMoney.add(orderGood.getCost()==null?new BigDecimal("0"):orderGood.getCost());
            constConfirm=constConfirm.add(orderGood.getConstConfirm()==null?new BigDecimal("0"):orderGood.getConstConfirm());
        }
        res.setOrderGoods(orderGoods);
        TStore byId1 = storeService.getById(byId.getStoreId());
        res.setStoreName(byId1.getName());
        res.setOrderMoney(bigDecimal);
        res.setOrderMoney(goodsMoney);
        res.setCouponMoney(byId.getCouponMoney());
        res.setPayMoney(byId.getPayMoney());
//        res.setPayType();
//        res.setRealPayMoney();
//        res.setCommission();
//        res.setProfitMoney();
//        res.setProfitRating();
        res.setPayType(byId.getPayTypeName());
        res.setRealPayMoney(byId.getPayMoney());
        SecFeeItems one1 = feeItemsService.lambdaQuery().eq(SecFeeItems::getName, byId.getPayTypeName())
                .one();
        BigDecimal percent = one1.getPercent();
        BigDecimal bigDecimal1 = byId.getPayMoney().multiply(percent).setScale(2, BigDecimal.ROUND_DOWN);
        res.setCommission(bigDecimal1);
        if (byId.getIsAccounting()==1){
            res.setProfitMoney(byId.getPayMoney().subtract(bigDecimal1).subtract(constConfirm));
            res.setProfitRating(res.getProfitMoney().divide(byId.getPayMoney(),2, BigDecimal.ROUND_DOWN));
        }
        return ApiResult.success(res);
    }
    @ApiOperation(value = "确认核算操作")
manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java
@@ -76,9 +76,7 @@
    @ApiModelProperty(value = "门店id")
    @TableField("storeId")
    private Integer storeId;
    @ApiModelProperty(value = "订单id")
    @TableField("orderId")
    private Integer orderId;
    @ApiModelProperty(value = "左眼右眼 1为L 2为R")
    @TableField("status")
manage/src/main/java/com/jilongda/manage/model/TOrder.java
@@ -121,6 +121,9 @@
    @ApiModelProperty(value = "支付金额")
    @TableField("payMoney")
    private BigDecimal payMoney;
    @ApiModelProperty(value = "手续费金额")
    @TableField("commissionMoney")
    private BigDecimal commissionMoney;
    @ApiModelProperty(value = "是否加工 1是2否")
    @TableField("isMachining")
manage/src/main/java/com/jilongda/manage/model/TOrderGoods.java
@@ -73,5 +73,11 @@
    @ApiModelProperty(value = "商品价格")
    @TableField("goodsMoney")
    private BigDecimal goodsMoney;
    @ApiModelProperty(value = "系统成本价")
    @TableField("cost")
    private BigDecimal cost;
    @ApiModelProperty(value = "核算成本价")
    @TableField("constConfirm")
    private BigDecimal constConfirm;
}
optometrist/src/main/java/com/jilongda/optometrist/authority/controller/LoginController.java
@@ -108,19 +108,17 @@
    public ApiResult<String> sendMsg(@Validated @RequestBody VerificationCodeDTO dto) throws Exception {
        // 发送验证码并存储到redis
        if (StringUtils.hasLength(dto.getPhone())) {
            SecUser one = secUserService.lambdaQuery().eq(SecUser::getPhone, dto.getPhone())
                    .eq(SecUser::getUserType, 2).one();
            TOptometrist one = optometristService.lambdaQuery().eq(TOptometrist::getPhone, dto.getPhone())
                    .one();
            if (one==null){
                return ApiResult.failed(500, "手机号未注册");
            }
            SecUser two = secUserService.lambdaQuery().eq(SecUser::getPhone, dto.getPhone())
                    .eq(SecUser::getUserType, 2)
                    .eq(SecUser::getState,0)
            TOptometrist two = optometristService.lambdaQuery().eq(TOptometrist::getPhone, dto.getPhone())
                    .eq(TOptometrist::getStatus, 2)
                    .one();
            if (two==null){
            if (two!=null){
                return ApiResult.failed(500, "账号已被禁用");
            }
            String code = String.valueOf((int) (Math.random() * 1000000));
            redisAutoTemplate.setStr(dto.getPhone(), code);
            redisAutoTemplate.expire(dto.getPhone(), Constant.REDIS_EXPIRE);
optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
@@ -73,12 +73,11 @@
    @PostMapping(value = "/index")
    public ApiResult<TOptometristVO> index() {
        TOptometristVO tOptometristVO = new TOptometristVO();
        Long userId = loginInfoUtil.getUserId();
        SecUser byId = secUserService.getById(userId);
        Integer userId = loginInfoUtil.getUserId();
        TOptometrist byId = optometristService.getById(userId);
        TStore byId1 = storeService.getById(byId.getStoreId());
        tOptometristVO.setStoreName(byId1.getName());
        tOptometristVO.setName(byId.getNickName());
        tOptometristVO.setName(byId.getName());
        tOptometristVO.setPhone(byId.getPhone());
        int size = optometryService.lambdaQuery().eq(TOptometry::getOptometristId, userId)
                .eq(TOptometry::getStatus, 3).list().size();
@@ -134,7 +133,7 @@
    @ApiOperation(value = "开始验光")
    @GetMapping(value = "/startOptometry")
    public ApiResult startOptometry(Integer id) {
        Long userId = loginInfoUtil.getUserId();
        Integer userId = loginInfoUtil.getUserId();
        List<TLineUp> list = tLineUpService.lambdaQuery().eq(TLineUp::getStatus, 2)
                .eq(TLineUp::getOptometristId, userId).list();
        if (!list.isEmpty())return ApiResult.failed("当前还有未结束的验光单");
@@ -143,12 +142,18 @@
        tLineUpService.updateById(lineUp);
        return ApiResult.success();
    }
    @ApiOperation(value = "取消排号")
    @GetMapping(value = "/cancelLineUp")
    public ApiResult cancelLineUp(Integer id) {
        TLineUp lineUp = tLineUpService.getById(id);
        lineUp.setStatus(5);
        tLineUpService.updateById(lineUp);
        TOptometry one = optometryService.lambdaQuery().eq(TOptometry::getLineUpId, lineUp.getId()).one();
        if (one!=null){
            one.setStatus(5);
        }
        optometryService.updateById(one);
        return ApiResult.success();
    }
    @ApiOperation(value = "填写验光信息完成")
@@ -163,11 +168,14 @@
        if (byId1!=null){
            tOptometry.setPhone(byId1.getPhone());
        }
        Long userId = loginInfoUtil.getUserId();
        SecUser byId2 = secUserService.getById(userId);
        tOptometry.setLineUpId(dto.getId());
        Integer userId = loginInfoUtil.getUserId();
        TOptometrist byId2 = optometristService.getById(userId);
        tOptometry.setRealName(byId.getUserName());
        tOptometry.setOptometristId(userId.intValue());
        tOptometry.setLineUpId(dto.getId());
        tOptometry.setOptometristId(userId);
        tOptometry.setStoreId(byId2.getStoreId());
        tOptometry.setStatus(3);
        optometryService.save(tOptometry);
        List<TOptometryDetail> tOptometryDetails = new ArrayList<>();
@@ -178,7 +186,7 @@
            tOptometryDetail.setBallMirror(optometryDetailVO.getBallMirror());
            tOptometryDetail.setColumnMirror(optometryDetailVO.getColumnMirror());
            tOptometryDetail.setAxis(optometryDetailVO.getAxis());
            tOptometryDetail.setAdd(optometryDetailVO.getAdd());
            tOptometryDetail.setAddS(optometryDetailVO.getAddS());
            tOptometryDetail.setPupilHeight(optometryDetailVO.getPupilHeight());
            tOptometryDetail.setPupilDistance(optometryDetailVO.getPupilDistance());
            tOptometryDetail.setCorrect(optometryDetailVO.getCorrect());
optometrist/src/main/java/com/jilongda/optometrist/model/TOptometry.java
@@ -64,6 +64,9 @@
    @ApiModelProperty(value = "门店id")
    @TableField("storeId")
    private Integer storeId;
    @ApiModelProperty(value = "验光单id")
    @TableField("lineUpId")
    private Integer lineUpId;
    @ApiModelProperty(value = "状态1排队中2验光中3已完成4已过号5已取消")
    @TableField("status")
@@ -74,4 +77,5 @@
    @TableField("registerTime")
    private LocalDateTime registerTime;
}
optometrist/src/main/java/com/jilongda/optometrist/model/TOptometryDetail.java
@@ -52,9 +52,9 @@
    @TableField("axis")
    private String axis;
    @ApiModelProperty(value = "add")
    @TableField("add")
    private String add;
    @ApiModelProperty(value = "addS")
    @TableField("addS")
    private String addS;
    @ApiModelProperty(value = "瞳高")
    @TableField("pupilHeight")
optometrist/src/main/java/com/jilongda/optometrist/utils/LoginInfoUtil.java
@@ -5,6 +5,9 @@
import com.jilongda.common.security.JwtTokenUtils;
import com.jilongda.optometrist.authority.model.SecUser;
import com.jilongda.optometrist.authority.service.SecUserService;
import com.jilongda.optometrist.model.TOptometrist;
import com.jilongda.optometrist.service.TOptometristService;
import com.jilongda.optometrist.service.TOptometryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -13,12 +16,14 @@
    @Autowired
    private SecUserService secUserService;
    @Autowired
    private TOptometristService optometristService;
    public Long getUserId(){
    public Integer getUserId(){
        String username = JwtTokenUtils.getUsername();
        SecUser userName = secUserService.getOne(new QueryWrapper<SecUser>().eq("phone", username).eq("isDelete",0));
        TOptometrist userName = optometristService.getOne(new QueryWrapper<TOptometrist>().eq("phone", username).eq("isDelete",0));
        return userName.getId();
    }
optometrist/src/main/java/com/jilongda/optometrist/vo/TOptometryDetailVO.java
@@ -24,7 +24,7 @@
    @ApiModelProperty(value = "add")
    @TableField("add")
    private String add;
    private String addS;
    @ApiModelProperty(value = "瞳高")
    private String pupilHeight;
optometrist/src/main/resources/mapping/TOptometristMapper.xml
@@ -34,8 +34,8 @@
                     t2.phone like  concat('%',#{query.nameOrPhone},'%')
                    )
            </if>
            <if test="req.startTime != null and req.startTime!=''">
                and (t1.createTime between #{req.startTime} and #{req.endTime})
            <if test="query.startTime != null and query.startTime!=''">
                and (t1.createTime between #{query.startTime} and #{query.endTime})
            </if>
            AND t1.isDelete = ${@com.jilongda.common.enums.DisabledEnum@NO.getCode()}
        </where>