Untitled

 avatar
unknown
java
10 months ago
29 kB
9
Indexable
package com.huodou.controller.mn;


import com.alibaba.fastjson.JSONObject;
import com.huodou.controller.front.MemberController;
import com.huodou.controller.manage.mana.ManaUserController;
import com.huodou.entity.bd.BdSaaSConfig;
import com.huodou.entity.mn.GoodsOwer;
import com.huodou.model.PageReqBody;
import com.huodou.model.easyui.Grid;
import com.huodou.model.mn.ClaimsRequestBody;
import com.huodou.service.bd.impl.BdSaaSConfigService;
import com.huodou.service.fin.FinDoushabaoBindService;
import com.huodou.service.fin.FinDoushabaoInfoService;
import com.huodou.service.mn.GoodsOwerService;
import com.huodou.service.od.impl.OdOrderTmpService;
import com.huodou.utils.ExcelUtil;
import com.huodou.utils.FinBillUtil;
import com.huodou.utils.ImageUploadUtil;
import com.huodou.utils.WebConfig;
import common.module.mana.entity.ManaTreeauth;
import common.module.mana.entity.ManaUser;
import common.module.mana.service.ManaUserService;
import common.module.me.entity.MeAcc;
import common.module.me.service.MeAccService;
import common.module.me.service.MeUserInviteService;
import common.webBase.base.util.date.DateUtil;
import common.webBase.base.util.encrypt.MD5Util;
import common.webBase.base.vo.Page;
import common.webBase.base.vo.Result;
import common.webBase.base.vo.Token;
import common.webBase.webframework.base.CommonConstant;
import common.webBase.webframework.base.ac.BaseController;
import common.webBase.webframework.base.annotation.NotLogin;
import common.webBase.webframework.base.exp.MyCommException;
import net.zz.sql.filter.SqlFilter;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;

/**
 * @author cnzzs
 *
 */
@Controller
@RequestMapping("/modsys/manage/goodsOwer")
public class GoodsOwerController extends BaseController {

    @Resource
    private GoodsOwerService service;
    @Resource
    private MemberController mbController;
    @Autowired
    private ManaUserService manaUserService;
    @Autowired
    private MeUserInviteService meUserInviteService;
    @Autowired
    private MeAccService meAccService;
    @Autowired
    private OdOrderTmpService odOrderTmpService;
    @Autowired
    private BdSaaSConfigService bdSaaSConfigService;
    @Autowired
    private FinDoushabaoInfoService finDoushabaoInfoService;
    @Autowired
    private FinDoushabaoBindService finDoushabaoBindService;

    @RequestMapping("index.html")
    public String index(Model m ,Integer riskLevel,Integer overSeasOverdueStatus){
        m.addAttribute("r",Math.random());
        m.addAttribute("riskLevel",riskLevel);
        m.addAttribute("overSeasOverdueStatus",null==overSeasOverdueStatus?-1:overSeasOverdueStatus);
    
        if (getSessionUser().getTreeauthCode().indexOf("0-") != 0){
            return "redirect:/manalogin.html";
        }
        return "modsys/manage/mn/goodsOwer.html";
    }

    @ResponseBody
    @RequestMapping("list.json")
    public Object list(GoodsOwer goodsOwer,Integer level, Integer overdueStatus,Integer qkDay, Integer authStatus, String userQq , PageReqBody body, Integer firSourceQ , Integer secSourceQ,Integer[] flagIdsQ,String userName,Integer stype,String ID,String offlineContractForSearch) throws UnsupportedEncodingException{
        SqlFilter sqlFilter = new SqlFilter(getRequest());
        Token token = getSessionUser();
        BdSaaSConfig bdSaaSConfig = bdSaaSConfigService.getSaaSConfigByOrgCode(token.getTreeauthCode());
        if (null != bdSaaSConfig) {
            sqlFilter.addFilter("QUERY^go#source_type^!|", bdSaaSConfig.getFromCode().toString());
            goodsOwer.setSourceType(bdSaaSConfig.getFromCode());
        }
       
        if (token.getTreeauthCode().indexOf("0-") != 0){
            return assemblyPageData(new Page<Object>());
        }

        
        if (token.getTreeauthCode().matches(WebConfig.getOfflineTreeCode() + "([0-9]{5}-){2,}") || token.getTreeauthCode().matches(WebConfig.getOfflineSalesTreeCode() + "([0-9]{5}-){2,}")){
            goodsOwer.setOfflinePeople(token.getUserId());
		}else if (token.getTreeauthCode().indexOf(WebConfig.getOfflineTreeCode()) == 0 || token.getTreeauthCode().indexOf(WebConfig.getOfflineSalesTreeCode()) == 0){
            goodsOwer.setBelongTreeauth(token.getTreeauthId());
        }
            if (token.getTreeauthCode().equals("0-00003-")) {

            } else {
                if (token.getTreeauthCode().indexOf("0-00003-") == 0) {
                    sqlFilter.addFilter("QUERY^go#claim_customer_id^!|", token.getUserId());
                } else {
                    if (StringUtils.isNotEmpty(goodsOwer.getClaimCustomerId())) {
                        sqlFilter.addFilter("QUERY^go#claim_customer_id^!|", goodsOwer.getClaimCustomerId());
                    }
                }
            }
        }else{
            if(StringUtils.isNotEmpty(goodsOwer.getClaimCustomerId())){
                sqlFilter.addFilter("QUERY^go#claim_customer_id^!|", goodsOwer.getClaimCustomerId());
            }
        }
        if (goodsOwer.getRiskLevel() == null && level !=null){
            goodsOwer.setRiskLevel(level);
        }else if (goodsOwer.getRiskLevel() != null && goodsOwer.getRiskLevel() == -1){
            goodsOwer.setRiskLevel(null);
        }

        if (goodsOwer.getOverSeasOverdueStatus() == null && overdueStatus !=null){
            goodsOwer.setOverSeasOverdueStatus(overdueStatus);
        }else{
            if(null!=qkDay){
                if(null==goodsOwer.getOverSeasOverdueStatus() || goodsOwer.getOverSeasOverdueStatus()==-1){
                    if(qkDay==1){
                        goodsOwer.setOverSeasOverdueStatus(2);
                    }else{
                        goodsOwer.setOverSeasOverdueStatus(4);
                    }
                }else{
                    if(goodsOwer.getOverSeasOverdueStatus()==1){
                        if(qkDay==1){
                            goodsOwer.setOverSeasOverdueStatus(2);
                        }else{
                            goodsOwer.setOverSeasOverdueStatus(5);
                        }
                    }
                    if(goodsOwer.getOverSeasOverdueStatus()==0){
                        if(qkDay==1){
                            goodsOwer.setOverSeasOverdueStatus(6);
                        }else{
                            goodsOwer.setOverSeasOverdueStatus(0);
                        }
                    }
                }

            }
        }
        Grid list = service.list(goodsOwer,sqlFilter,authStatus,userQq, body,firSourceQ,secSourceQ,flagIdsQ,userName,false,ID,offlineContractForSearch);
        list.setSuccess(true);
        list.setState("1");
        return list;
    }



    @ResponseBody
    @RequestMapping("getRiskay.json")
    public  Map getRiskDay(){
        try {
           return successData("data",service.getRiskDay()) ;
        } catch (Exception e){
            return errorData("刷新失败");
        }
    }


    @ResponseBody
    @RequestMapping("saveLockAccount.json")
    public Map saveLockAccount(String userIds,Integer overSeasConfigureLock,Integer lockDay,Integer overSeasLockType,Integer lock1Status,Integer lock2Status){
        try {
            service.saveLockAccount(userIds,overSeasConfigureLock,lockDay,getSessionUser(),overSeasLockType,lock1Status,lock2Status);
        } catch (Exception e){
            return errorData("更新失败");
        }
        return successData();
    }


    @ResponseBody
    @RequestMapping("lockUserTask.json")
    @NotLogin
    public  Map lockUserTask(String userIds){
        try {
            service.lockUserTask(userIds);
        } catch (Exception e){
            return errorData("更新失败");
        }
        return successData();
    }
}
/**
 *
 */
package com.huodou.service.mn;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huodou.dao.bd.impl.BdHighSeasDao;
import com.huodou.dao.bd.impl.BdHighSeasLogDao;
import com.huodou.dao.bd.impl.BdRegionDao;
import com.huodou.dao.log.OdIntroduceLogDao;
import com.huodou.dao.mn.*;
import com.huodou.dao.od.OdOrderOperateDao;
import com.huodou.dao.od.OdOrderTmpDao;
import com.huodou.dao.od.OdOrderTmpSubDao;
import com.huodou.dao.overseas.WhOverseasOrderDao;
import com.huodou.dao.params.*;
import com.huodou.dao.params.GoodsOwerDaoParams.Field;
import com.huodou.dao.redis.StatisticalRepository;
import com.huodou.dao.user.UserDao;
import com.huodou.dao.v2.tms.TmsSchemeManagV2Dao;
import com.huodou.entity.bd.BdHighSeas;
import com.huodou.entity.bd.BdRegion;
import com.huodou.entity.log.OdIntroduceLog;
import com.huodou.entity.mn.GoodsOwer;
import com.huodou.entity.mn.Member;
import com.huodou.entity.v2.TmsSchemeManagV2;
import com.huodou.entity.v2.params.TmsSchemeManagV2DaoParams;
import com.huodou.enums.HighSeasEnum;
import com.huodou.enums.HighSeasEventTypeEnum;
import com.huodou.model.PageReqBody;
import com.huodou.model.easyui.Grid;
import com.huodou.model.mn.ClaimsRequestBody;
import com.huodou.model.mn.GoodsOwerSourceBody;
import com.huodou.model.user.UserPwdRequestBody;
import com.huodou.service.bd.impl.OwerToStoreTypeService;
import com.huodou.service.od.OdOrderAfterService;
import com.huodou.service.overseas.WhOverseasFundRecordService;
import com.huodou.service.user.UserService;
import com.huodou.utils.*;
import com.huodou.utils.excel.ExcelFields;
import com.huodou.utils.excel.ExcelTools;
import com.huodou.utils.excel.ExcelVersion;
import common.module.amt.dao.AmtApplyDao;
import common.module.amt.entity.AmtApply;
import common.module.amt.enu.ApplyStateEnum;
import common.module.amt.enu.BusinessType;
import common.module.mana.dao.*;
import common.module.mana.dao.params.ManaRoleDaoParams;
import common.module.mana.dao.params.ManaTreeauthDaoParams;
import common.module.mana.dao.params.ManaUserDaoParams;
import common.module.mana.dao.params.ManaUserroleDaoParams;
import common.module.mana.entity.ManaRole;
import common.module.mana.entity.ManaTreeauth;
import common.module.mana.entity.ManaUser;
import common.module.mana.enu.ManaRoleEnum;
import common.module.mana.service.ManaUserService;
import common.module.me.dao.MeAccCouponConfigDao;
import common.module.me.dao.MeAccdetDao;
import common.module.me.dao.MeUserInviteDao;
import common.module.me.dao.params.MeAccCouponConfigDaoParams;
import common.module.me.entity.*;
import common.module.me.enu.AccdetTypeEnum;
import common.module.me.enu.OperationType;
import common.module.me.service.MeAccCouponService;
import common.module.me.service.MeAccService;
import common.module.msg.service.MsgMsgService;
import common.module.msg.utils.Utils;
import common.module.msg.utils.enums.HandleTypeEnum;
import common.module.sys.dao.SysSpecialUserDao;
import common.module.sys.entity.SysSpecialUser;
import common.tools.ip.IPSeeker;
import common.webBase.base.vo.Page;
import common.webBase.base.vo.Token;
import common.webBase.init.dao.SysLogDao;
import common.webBase.init.entity.SysLog;
import common.webBase.webframework.base.db.QueryParams;
import common.webBase.webframework.base.enums.SysLogEnum;
import common.webBase.webframework.base.exp.MyCommException;
import net.zz.dao.params.Where;
import net.zz.dao.params.enums.Restriction;
import net.zz.sql.filter.SqlFilter;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.client.RestTemplate;

import javax.annotation.Resource;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;


/**
 * @author cnzzs
 */
@Service
@Transactional(readOnly = true)
public class GoodsOwerService {

    @Resource
    private GoodsOwerDao dao;
    @Resource
    private UserService userService;
    @Resource
    private ManaUserService manaUserService;
    //账户service
    @Resource
    private MeAccService meAccService;
    @Resource
    private MeAccdetDao meAccdetDao;
    @Resource
    private UserDao userDao;
    @Resource
    private OdOrderTmpSubDao odOrderTmpSubDao;
    @Resource
    private ManaUserDao manaUserDao;
    @Resource
    private ManaTreeauthDao manaTreeauthDao;
    //优惠券service
    @Resource
    private MeAccCouponService meAccCouponService;
    @Resource
    private MemberService memberService;
    @Resource
    private OdOrderTmpDao orderTmpDao;
    @Autowired
    private MsgMsgService msgMsgService;
    @Resource
    private MeAccCouponConfigDao couponConfigDao;
    @Resource
    private AmtApplyDao amtApplyDao;
    @Autowired
    private MnGoodsowerSourceDao goodsowerSourceDao;
    @Autowired
    private ManaUserroleDao userroleDao;
    @Autowired
    private BdRegionDao regionDao;
    @Autowired
    private ManaRoleDao manaRoleDao;
    @Autowired
    private OdOrderOperateDao odOrderOperateDao;
    @Autowired
    private ManaUserroleDao manaUserroleDao;
    @Autowired
    private StatisticalRepository statisticalRepository;
    @Autowired
    private MnGoodsOwerFlagDao goodsOwerFlagDao;

    @Autowired
    private OwerToStoreTypeService owerToStoreTypeService;

    @Autowired
    private OdOrderAfterService orderAfterService;
    @Autowired
    private BdHighSeasDao highSeasDao;
    @Autowired
    private BdHighSeasLogDao highSeasLogDao;
    @Autowired
    private OdIntroduceLogDao odIntroduceLogDao;
    @Value("${third_party_department}")
    private String thirdPartyDepartment;
    @Autowired
    private MeUserInviteDao meUserInviteDao;
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private DockingConfig dockingConfig;
    @Autowired
    private TmsSchemeManagV2Dao tmsSchemeManagV2Dao;
    @Autowired
    private SysLogDao sysLogDao;
    @Autowired
    private SysSpecialUserDao sysSpecialUserDao;
    @Autowired
    private MnGoodsLockLogDao mnGoodsLockLogDao;
    @Autowired
    private WhOverseasOrderDao whOverseasOrderDao;
    @Autowired
    private WhOverseasFundRecordService whOverseasFundRecordService;
    @Autowired
    private MnGoodsPriceMemoLogDao mnGoodsPriceMemoLogDao;


    /**
     * 根据主键获取
     */

    public GoodsOwer get(Long id) {
        return dao.get(id);

    }

    /**
     * 根据主键获取
     */
    public GoodsOwer getFindByFk(String fkId) {
        return dao.findUniqueByProperty(Field.userId.name(), fkId);

    }

    @Transactional
    public boolean save(GoodsOwer entity, String user) {
        entity.setLastUpdateBy(user);
        entity.setLastUpdateTime(new Timestamp(System.currentTimeMillis()));
        if (null == entity.getOwerId()) {
            entity.setCreatedBy(user);
            entity.setCreatedTime(entity.getLastUpdateTime());
            entity.setAuthType(Short.valueOf("0"));
            entity.setState(1);
            if (entity.getOwerType() == null) {
                entity.setOwerType(0);
            }
            entity.setPrizeCount(0);
            entity.setReplaceDeductSet(false);
            entity.setOwerGrade("F");
            entity.setTaxSet((byte) 1);
            Serializable sz = dao.save(entity);
            return (sz != null) ? true : false;
        }
        GoodsOwer entity1 = dao.get(entity.getOwerId());
        setGoodsOwer(entity1, entity);
        return true;
    }

    /*@Transactional
    public Token login(UserPwdRequestBody body) throws MyCommException
    {
        // 用户和密码验证
        ManaUser user = manaUserService.getUserByLogin(body.getPhone(), body.getUserpassword());

        if (user == null) {
            // 登入失败
            throw new MyCommException( 10001, "登入失败");
        } else {
            user.setUserAppLogintime(new Date());
            // 写token
            String userId = user.getUserId();
            List<MenuVo> menucodelist = manaMenuService.getMenuCodesByUserId(userId, null, null, null);
            Token token = new Token(userId, user.getManaTreeauth().getTreeauthCode(),
                    user.getManaTreeauth().getTreeauthId(), user.getUserPhone(), user.getUserEmail(),
                    user.getUserName(),user.getUserNick(), menucodelist, null);

            manaUserService.updateUserByLoginWeb(user);
            return token;
        }
    }*/

    @Transactional(readOnly = false)
    public void saveLockAccount(String userIds, Integer overSeasConfigureLock, Integer lockDay, Token token, Integer overSeasLockType,Integer lock1Status,Integer lock2Status) throws ParseException {
        String[] split = userIds.split(",");
        for (String userId : split) {
            GoodsOwer ower = dao.findByUserId(userId);
            ower.setLockDay(lockDay);
            ower.setOverSeasConfigureLock(overSeasConfigureLock);
            ower.setOverSeasLockType(overSeasLockType);
            if(overSeasConfigureLock==2){
                ower.setOverSeasLockStatus(1);
            }
            if(overSeasConfigureLock==0 || overSeasConfigureLock==1){
                ower.setOverSeasLockStatus(0);
            }
            String log = "用户";
            if(overSeasConfigureLock==0){
                log+="加入白名单,无限制条件";
            }
            if(overSeasConfigureLock==1){
                ower.setLock1Status(lock1Status);
                ower.setLock2Status(lock2Status);
                if(lock1Status==1){
                    log+="增加条件限制,订单入海外仓后"+lockDay+"天后未付款则锁定";
                }
                if(lock2Status==1){
                    log+="增加条件限制,海外仓账户连续欠款";
                }

            }
            if(overSeasConfigureLock==2){
                log+="加入黑名单名单,立即限制下单";
            }
            mnGoodsLockLogDao.saveLog(userId,token.getUserId(),1,log);
            dao.saveOrUpdate(ower);
            dao.getCurrentSession().flush();
        }

    }



    @Transactional(readOnly = false)
    public void lockUserTask(String userIds) throws Exception {
        //查询所有有设置条件锁定的用户
        List<GoodsOwer> all = new ArrayList<>();
        if(StringUtils.isBlank(userIds)){
            all=dao.findConfigLockUser();
        }else{
            all=dao.findByUserIds(userIds);
        }
        List<SysSpecialUser> allByTypeForOverSeas1 = sysSpecialUserDao.findAllByTypeForOverSeas(10002);
        Integer day = allByTypeForOverSeas1.get(0).getRatio().intValue();
        for (GoodsOwer ower : all) {
            if(null==ower.getOverSeasLockStatus()){
                ower.setOverSeasLockStatus(0);
                ower.setOverSeasConfigureLock(1);
                ower.setLockDay(15);
            }
            if(null!=ower.getLockDay() && ower.getLockDay()==2){
               Integer  count =  odOrderTmpSubDao.findArrTimeCount(ower.getUserId());
               Integer  count2 =  odOrderTmpSubDao.findNoArrTimeCount(ower.getUserId());
                if(count>0 && count2>0){
                    ower.setLockDay(15);
                }
            }
            try {
                //校验已锁定用户是否全部支付
                if(ower.getOverSeasConfigureLock()!=2&& ower.getOverSeasLockStatus()==1){
                    boolean a =false;
                    boolean b =false;
                    if(null!=ower.getLock1Status() && ower.getLock1Status()==1){
                        String time = whOverseasOrderDao.findUnPayOverSeasPutTime(ower.getUserId());
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                        if(StringUtils.isNotBlank(time)){
                            Integer hour = com.huodull.docking.utils.DateUtil.getHour(sdf.parse(time).getTime(), System.currentTimeMillis());
                            if(hour<(ower.getLockDay()*24)){
                                a=true;
                            }
                        }else{
                            a=true;
                        }
                    }

                    if(null!=ower.getLock2Status() && ower.getLock2Status()==1){
                        Integer flag = whOverseasFundRecordService.findQkForUser(ower.getUserId());
                        if(flag==0){
                            b=true;
                        }
                    }

                    if(ower.getLock1Status()==1 && ower.getLock2Status()==1){
                        if(a&&b){
                            ower.setOverSeasLockStatus(0);
                            ower.setOverSeasOverdueStatus(0);
                            mnGoodsLockLogDao.saveLog(ower.getUserId(),"定时器修改",2,"定时器校验订单已全部支付且账户未有连续欠款,将用户修改为白名单");
                        }else if(a){
                            ower.setOverSeasOverdueStatus(2);
                            ower.setLockReason(2);
                        }else if(b){
                            ower.setOverSeasOverdueStatus(1);
                            ower.setLockReason(1);
                        }
                    }else if(ower.getLock1Status()==1){
                        if(a){
                            ower.setOverSeasLockStatus(0);
                            ower.setOverSeasOverdueStatus(0);
                            mnGoodsLockLogDao.saveLog(ower.getUserId(),"定时器修改",2,"定时器校验订单已全部支付,将用户修改为白名单");
                        }
                    }else{
                        if(b){
                            ower.setOverSeasLockStatus(0);
                            ower.setOverSeasLockStatus(0);
                            mnGoodsLockLogDao.saveLog(ower.getUserId(),"定时器修改",2,"定时器校验未有连续欠款,将用户修改为白名单");
                        }
                    }


                }

                //校验条件锁定用户是否超期
                if(ower.getOverSeasConfigureLock()==1&& ower.getOverSeasLockStatus()==0){
                    boolean a =false;
                    boolean b =false;
                    boolean c =false;
                    boolean d =false;
                    String time = whOverseasOrderDao.findUnPayOverSeasPutTime(ower.getUserId());
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    if(StringUtils.isNotBlank(time)){
                        Integer hour = com.huodull.docking.utils.DateUtil.getHour(sdf.parse(time).getTime(), System.currentTimeMillis());
                        if(hour>=((ower.getLockDay()+3)*24)){
                            a=true;
                        }
                        if(ower.getLock1Status()==1&& hour>=(ower.getLockDay()*24)){
                            c=true;
                        }
                    }

                    Integer flag = whOverseasFundRecordService.findQkForUser(ower.getUserId());
                    if(flag==1){
                        b=true;
                        d=true;
                    }else{
                        Integer flag2 = whOverseasFundRecordService.findQkForUserYq(ower.getUserId());
                        if(flag2==1 && ower.getLock2Status()==1){
                            d=true;
                        }
                    }



                    if(ower.getLock1Status()==1 && ower.getLock2Status()==1){
                       if(a&&b){
                           ower.setOverSeasLockStatus(1);
                           ower.setLockReason(3);
                           mnGoodsLockLogDao.saveLog(ower.getUserId(),"定时器修改",2,"海外仓订单已超过"+(ower.getLockDay()+3)+"天,且账户连续欠款超"+(day+3)+"天,账户已锁定");
                       }else if(a){
                           ower.setOverSeasLockStatus(1);
                           ower.setLockReason(1);
                           mnGoodsLockLogDao.saveLog(ower.getUserId(),"定时器修改",2,"海外仓订单已超过"+(ower.getLockDay()+3)+"天,且海外仓账户连续欠款超"+(day+3)+"天,账户已锁定");
                       }else if(b){
                           ower.setOverSeasLockStatus(1);
                           ower.setLockReason(2);
                           mnGoodsLockLogDao.saveLog(ower.getUserId(),"定时器修改",2,"海外仓账户账户连续欠款超"+(day+3)+"天,账户已锁定");
                       }
                    }else if(ower.getLock1Status()==1){
                        if(a){
                            ower.setOverSeasLockStatus(1);
                            ower.setLockReason(1);
                            mnGoodsLockLogDao.saveLog(ower.getUserId(),"定时器修改",2,"海外仓订单已超过"+(ower.getLockDay()+3)+"天,且海外仓账户连续欠款超"+(day+3)+"天,账户已锁定");
                        }
                    }else{
                        if(b){
                            ower.setOverSeasLockStatus(1);
                            ower.setLockReason(2);
                            mnGoodsLockLogDao.saveLog(ower.getUserId(),"定时器修改",2,"海外仓账户账户连续欠款超"+(day+3)+"天,账户已锁定");
                        }
                    }

                    if(c&&d){
                        ower.setOverSeasOverdueStatus(3);
                    }else if(c){
                        ower.setOverSeasOverdueStatus(1);
                    } else if(d){
                        ower.setOverSeasOverdueStatus(2);
                    }
                    if(!c&&!d){
                        ower.setOverSeasOverdueStatus(0);
                    }
                }
                if(ower.getOverSeasConfigureLock()==0){
                    ower.setOverSeasLockStatus(0);
                    ower.setOverSeasOverdueStatus(0);
                }
                if(ower.getOverSeasConfigureLock()==2){
                    ower.setOverSeasLockStatus(1);
                }
                dao.update(ower);
                dao.getCurrentSession().flush();
            } catch (Exception e) {
                throw new Exception(e);
            }


        }
    }


    @Transactional(readOnly = false)
    public void saveOverseasRentType(Integer saveType, String userId) {
        dao. saveOverseasRentType( saveType,  userId);
    }

    public Map getRiskDay() {
        List<SysSpecialUser> allByTypeForOverSeas = sysSpecialUserDao.findAllByTypeForOverSeas(10001);
        List<SysSpecialUser> allByTypeForOverSeas1 = sysSpecialUserDao.findAllByTypeForOverSeas(10002);
        List<SysSpecialUser> allByTypeForOverSeas2 = sysSpecialUserDao.findAllByTypeForOverSeas(10003);
        List<SysSpecialUser> allByTypeForOverSeas4 = sysSpecialUserDao.findAllByTypeForOverSeas(10004);
        List<SysSpecialUser> allByTypeForOverSeas5 = sysSpecialUserDao.findAllByTypeForOverSeas(10005);
        HashMap<String, Object> map = new HashMap<>();
        map.put("day1",allByTypeForOverSeas.get(0).getRatio());
        map.put("day2",allByTypeForOverSeas1.get(0).getRatio());
        map.put("day3",allByTypeForOverSeas2.get(0).getRatio());
        map.put("day4",allByTypeForOverSeas4.get(0).getRatio());
        map.put("day5",allByTypeForOverSeas5.get(0).getRatio());
        return map;
    }
}
Editor is loading...
Leave a Comment