|
@ -1,132 +0,0 @@
|
|
|
import com.yihu.wlyy.entity.Hospital;
|
|
|
import com.yihu.wlyy.entity.HospitalDept;
|
|
|
import com.yihu.wlyy.entity.survey.QuestionnairePrize;
|
|
|
import com.yihu.wlyy.repository.survey.QuestionnairePrizeDao;
|
|
|
import com.yihu.wlyy.service.common.excel.ExcelData;
|
|
|
import com.yihu.wlyy.service.manager.wlyyrole.WlyyUserRoleService;
|
|
|
import com.yihu.wlyy.util.ReadExcelUtil;
|
|
|
import com.yihu.wlyy.util.RivaEDCode;
|
|
|
import com.yihu.wlyy.vo.UserPrizeVO;
|
|
|
import jxl.*;
|
|
|
import jxl.write.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.junit.Test;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.text.ParseException;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* Created by Reece on 2018/1/28/028.
|
|
|
*/
|
|
|
public class TestImportJxl {
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
@Autowired
|
|
|
private QuestionnairePrizeDao prizeDao;
|
|
|
@Autowired
|
|
|
private WlyyUserRoleService roleService;
|
|
|
|
|
|
@Test
|
|
|
public void test()throws Exception{
|
|
|
Workbook book = Workbook.getWorkbook(new File(
|
|
|
"C:\\Users\\Administrator\\Desktop\\奖品表.xls"));
|
|
|
importData(book);
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 导入奖品信息Excel表格
|
|
|
* @param workbook
|
|
|
* @return
|
|
|
* @throws ParseException
|
|
|
*/
|
|
|
public boolean importData(Workbook workbook) throws ParseException {
|
|
|
Sheet[] sheets = workbook.getSheets();
|
|
|
Sheet sheet = sheets[0];
|
|
|
int rows = ReadExcelUtil.getRightRows(sheet);//表格行数
|
|
|
|
|
|
List<QuestionnairePrize> prizeList = new ArrayList<>();
|
|
|
for (int row = 1; row < rows; row++) { //索引从0开始,第一行为标题
|
|
|
//读取单行数据并取单元格数据保存到实体类部分字段中(单元格从0开始)
|
|
|
QuestionnairePrize prize = new QuestionnairePrize();
|
|
|
//映射实体类部分字段
|
|
|
Map<Integer, ExcelData> mappingPrize = mappingQuestionnairePrize(prize);
|
|
|
int finalRow = row;
|
|
|
mappingPrize.forEach((index, excelData) -> {
|
|
|
String value = sheet.getCell(index, finalRow).getContents().trim();
|
|
|
excelData.transform(value);
|
|
|
});
|
|
|
//判断导入的奖品资源是否存在,不存在则保存
|
|
|
// QuestionnairePrize prize = prizeDao.findByPrizeType(1,"");
|
|
|
if(prize==null){
|
|
|
// 需要从表格取值
|
|
|
prize = new QuestionnairePrize();
|
|
|
prize.setCode("");
|
|
|
prize.setType(1);
|
|
|
//加密
|
|
|
String prizeCode = RivaEDCode.passEncode("LUZ7TN3KOT8AWCD3ZA4NBMI5VNF7E50F6XYEP2WZM68JQYY5JE02L4L5FS9R4NGUGMHSCAPW9AL","C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN","");
|
|
|
prize.setPrizeCode(prizeCode);
|
|
|
prize.setValidity(new Date());
|
|
|
prize.setAddress("");
|
|
|
prize.setUsed(0);
|
|
|
prize.setDel(0);
|
|
|
prize.setCreateTime(new Date());
|
|
|
prize.setUpdateTime(new Date());
|
|
|
prizeList.add(prize);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
prizeDao.save(prizeList);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
|
|
|
public List<UserPrizeVO> searchListCount(String name, String idCard) throws Exception{
|
|
|
|
|
|
String sql = "SELECT w.user_name, w.user_idcard, w.user_openid, w.prize_type, w.prize_code, p.validity, p.address FROM wlyy_questionnaire_winning w, wlyy_questionnaire_prize p WHERE w.prize_code = p.`code` and w.winning = 1 and w.del = 0 and p.used = 1 and p.del = 0 " +
|
|
|
"and type = 2";
|
|
|
if (StringUtils.isNotEmpty(name) && StringUtils.isNotEmpty(idCard)){
|
|
|
sql += " w.user_name = " + name + " w.user_idcard = " + idCard;
|
|
|
}else if (StringUtils.isEmpty(name) && StringUtils.isNotEmpty(idCard)){
|
|
|
sql += " w.user_idcard = " + idCard;
|
|
|
}else if (StringUtils.isNotEmpty(name) && StringUtils.isEmpty(idCard)){
|
|
|
sql += " w.user_name = " + name;
|
|
|
}
|
|
|
sql += " order by w.idCard desc ";
|
|
|
List<UserPrizeVO> userPrizeVOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<UserPrizeVO>());
|
|
|
return userPrizeVOList;
|
|
|
}
|
|
|
|
|
|
private Map<Integer, ExcelData> mappingQuestionnairePrize(QuestionnairePrize prize) {
|
|
|
Map<Integer, ExcelData> dataMap = new HashMap<>();
|
|
|
//兑奖码
|
|
|
dataMap.put(0, new ExcelData() {
|
|
|
@Override
|
|
|
public void transform(String data) {
|
|
|
prize.setPrizeCode(data);
|
|
|
|
|
|
}
|
|
|
});
|
|
|
|
|
|
//有效期
|
|
|
dataMap.put(1, new ExcelData() {
|
|
|
@Override
|
|
|
public void transform(String data) {
|
|
|
prize.setValidity(new Date());
|
|
|
}
|
|
|
});
|
|
|
|
|
|
//领取地址
|
|
|
dataMap.put(2, new ExcelData() {
|
|
|
@Override
|
|
|
public void transform(String data) {
|
|
|
prize.setAddress(data);
|
|
|
}
|
|
|
});
|
|
|
return dataMap;
|
|
|
}
|
|
|
}
|