com.paopao.hzgzf.modules.dlj.service.ComClientBasicInfoService.java Source code

Java tutorial

Introduction

Here is the source code for com.paopao.hzgzf.modules.dlj.service.ComClientBasicInfoService.java

Source

/**
 * Copyright © 2012-2014  All rights reserved.
 */
package com.paopao.hzgzf.modules.dlj.service;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.paopao.hzgzf.common.persistence.Page;
import com.paopao.hzgzf.common.service.CrudService;
import com.paopao.hzgzf.modules.dlj.entity.ComClientBasicInfo;
import com.paopao.hzgzf.modules.dlj.entity.ComRecord;
import com.paopao.hzgzf.modules.dlj.dao.ComClientBasicInfoDao;
import com.paopao.hzgzf.modules.sys.utils.UserUtils;

/**
 * ?Service
 * @author zdk
 * @version 2016-07-14
 */
@Service
@Transactional(readOnly = true)
public class ComClientBasicInfoService extends CrudService<ComClientBasicInfoDao, ComClientBasicInfo> {

    @Autowired
    private ComRecordService comRecordService;

    public ComClientBasicInfo get(String id) {
        return super.get(id);
    }

    public List<ComClientBasicInfo> findList(ComClientBasicInfo comClientBasicInfo) {
        return super.findList(comClientBasicInfo);
    }

    public Page<ComClientBasicInfo> findPage(Page<ComClientBasicInfo> page, ComClientBasicInfo comClientBasicInfo) {
        return super.findPage(page, comClientBasicInfo);
    }

    @Transactional(readOnly = false)
    public void save(ComClientBasicInfo comClientBasicInfo) {
        super.save(comClientBasicInfo);
    }

    @Transactional(readOnly = false)
    public void save(ComClientBasicInfo newObj, ComClientBasicInfo old) {
        super.save(newObj);
        if (StringUtils.isNotEmpty(newObj.getId())) {
            // ?
            dealWithRecord(newObj, old);
        }
    }

    private void dealWithRecord(ComClientBasicInfo newObj, ComClientBasicInfo oldObj) {
        List<ComRecord> records = new ArrayList<ComRecord>();
        if (!StringUtils.equals(newObj.getAddress(), oldObj.getAddress())) {
            records.add(
                    genNewRecord("address", "?", oldObj.getId(), ComClientBasicInfo.REFER_TYPE_CLIENT,
                            oldObj.getAddress(), newObj.getAddress(), oldObj.getOpId()));
        }
        if (!StringUtils.equals(newObj.getArchiveNo(), oldObj.getArchiveNo())) {
            records.add(
                    genNewRecord("archiveNo", "?", oldObj.getId(), ComClientBasicInfo.REFER_TYPE_CLIENT,
                            oldObj.getArchiveNo(), newObj.getArchiveNo(), oldObj.getOpId()));
        }
        if (!StringUtils.equals(newObj.getClientName(), oldObj.getClientName())) {
            records.add(
                    genNewRecord("clientName", "??", oldObj.getId(), ComClientBasicInfo.REFER_TYPE_CLIENT,
                            oldObj.getClientName(), newObj.getClientName(), oldObj.getOpId()));
        }
        if (!StringUtils.equals(newObj.getCardId(), oldObj.getCardId())) {
            records.add(
                    genNewRecord("cardId", "???", oldObj.getId(), ComClientBasicInfo.REFER_TYPE_CLIENT,
                            oldObj.getCardId(), newObj.getCardId(), oldObj.getOpId()));
        }
        if (!StringUtils.equals(newObj.getEstateLicense(), oldObj.getEstateLicense())) {
            records.add(genNewRecord("estateLicense", "??", oldObj.getId(),
                    ComClientBasicInfo.REFER_TYPE_CLIENT, oldObj.getEstateLicense(), newObj.getEstateLicense(),
                    oldObj.getOpId()));
        }
        if (!StringUtils.equals(newObj.getIssuingAuthority(), oldObj.getIssuingAuthority())) {
            records.add(genNewRecord("issuingAuthority", "??", oldObj.getId(),
                    ComClientBasicInfo.REFER_TYPE_CLIENT, oldObj.getIssuingAuthority(),
                    newObj.getIssuingAuthority(), oldObj.getOpId()));
        }
        if (!StringUtils.equals(newObj.getOperatorCardId(), oldObj.getOperatorCardId())) {
            records.add(genNewRecord("operatorCardId", "??", oldObj.getId(),
                    ComClientBasicInfo.REFER_TYPE_CLIENT, oldObj.getOperatorCardId(), newObj.getOperatorCardId(),
                    oldObj.getOpId()));
        }
        if (!StringUtils.equals(newObj.getOperatorName(), oldObj.getOperatorName())) {
            records.add(genNewRecord("operatorName", "??", oldObj.getId(),
                    ComClientBasicInfo.REFER_TYPE_CLIENT, oldObj.getOperatorName(), newObj.getOperatorName(),
                    oldObj.getOpId()));
        }
        if (!StringUtils.equals(newObj.getRemark(), oldObj.getRemark())) {
            records.add(genNewRecord("remark", "", oldObj.getId(), ComClientBasicInfo.REFER_TYPE_CLIENT,
                    oldObj.getRemark(), newObj.getRemark(), oldObj.getOpId()));
        }
        if (records.isEmpty()) {
            return;
        }
        for (ComRecord comRecord : records) {
            comRecord.setIsAttach(ComRecord.NOT_ATTACH);
            comRecord.setModifyType(ComRecord.MOD_NOR);
            comRecord.setOpId(UserUtils.getUser().getId());
            comRecordService.save(comRecord);
        }

    }

    private ComRecord genNewRecord(String column, String columnDesc, String referId, String referType,
            String befValue, String aftValue, String opId) {
        ComRecord comRecord = new ComRecord();
        comRecord.setReferId(referId);
        comRecord.setReferType(referType);
        comRecord.setChangeColumn(column);
        comRecord.setChangeColumnDesc(columnDesc);
        comRecord.setBefValue(befValue);
        comRecord.setAftValue(aftValue);
        comRecord.setOpId(opId);
        return comRecord;
    }

    @Transactional(readOnly = false)
    public void delete(ComClientBasicInfo comClientBasicInfo) {
        super.delete(comClientBasicInfo);
    }

}